Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка по С++.doc
Скачиваний:
7
Добавлен:
28.08.2019
Размер:
250.88 Кб
Скачать

2.6. Данные вещественных типов

Для переменных, представляющих число с плавающей точкой используются следующие типы (табл. 5).

Таблица 5 Вещественные типы данных

Тип

Размер памяти в байтах

Диапазон значений

float

4

3.4E-38 ... 3.4E+38

double

8

1.7E-308 ... 1.7E+308

long double

10

3.4E-4932 ... 3.4E+4932

Типы double и long double кроме более широкого числового диапазона отличаются большей точностью.

Примеры:

float f, a, b;

double x,y;

2.7. Инициализация переменных

Локальные переменные после объявления имеют неопределенное значение. Однако, при объявлении переменной ей можно явно присвоить начальное значение.

<спецификатор типа> имя=значение;

Например:

double x=1.53;

int z=0, y=10;

3. Операции языка си

3.1. Арифметические операции

В языке Си существуют следующие арифметические операции:

-

вычитание

+

сложение

*

умножение

/

деление

%

остаток от деления

++

увеличение на единицу

--

уменьшение на единицу

Если оба операнда бинарной операции имеют один тип, то и результат имеет тот же тип. Поэтому, если в операции деления участвуют целые переменные, то результат будет целым.

Например:

int a=10,b=3;

float c;

c=a/b;

В результате в переменной c будет число 3. Если необходимо поделить переменные a и b точно, можно применить один из следующих приемов:

с=1.0*a/b;

или

с=(float) a/b;

Операции ++ и -- унарные и применяются следующим образом:

int a=10, b=5;

a++;

++b;

В обоих случаях значения переменных a и b будут увеличены на единицу.

Различие в использовании операторов ++ и -- до и после переменной покажем на примере.

int a=50, y=60;

a++;

++y;

printf("a=%d b=%d\n",a,b);

printf("a=%d b=%d\n",a++,++b);

Первая функция printf выведет на экран числа 51 и 61. Вторая функция printf выведет на экран числа 51 и 62, т.к. переменная а сначала будет выведена на экран, а потом увеличена на единицу, а переменная b сначала увеличена, а потом выведена на экран.

3.2. Поразрядные операции

К поразрядным операциям относятся:

&

поразрядное логическое "И"

|

поразрядное логическое "ИЛИ"

^

поразрядное "исключающее ИЛИ"

~

поразрядное логическое "НЕ"

>>

сдвиг вправо

<<

сдвиг влево

Операнды поразрядных операций могут быть любого целого типа.

Пример.

unsigned int i=0x45FF; /* i= 0100 0101 1111 1111 */

unsigned int j=0x00FF; /* j= 0000 0000 1111 1111 */

unsigned int r;

r = i^j; /* r= 0100 0101 0000 0000 */

r = i|j; /* r= 0100 0101 1111 1111 */

r = i&j; /* r= 0000 0000 1111 1111 */

r = ~i; /* r= 1011 1010 0000 0000 */

r = j>>3; /* r= 0000 0000 0001 1111 */