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

3.3. Операции отношения (сравнения)

В языке Си используются следующие операции отношения:

>

больше

<

меньше

>=

больше или равно

<=

меньше или равно

==

равно

!=

не равно

Операнды операций отношения могут быть целого типа, плавающего типа или типа указателя, при этом в каждой операции могут участвовать операнды различных типов. Результат целый: 0 (ложь) или 1 (истина).

3.4. Логические операции

К логическим операциям относятся:

&& операция логического "И",

|| операция логического "ИЛИ",

! операция логического "НЕ".

Операнды логических операций могут быть целого типа, плавающего типа или типа указателя, при этом в каждой операции могут участвовать операнды различных типов.

Операнды логических выражений вычисляются слева направо. Если значения первого операнда достаточно, чтобы определить результат операции, то второй операнд не вычисляется.

В языке Си нет логического типа как в языке Паскаль. Вместо значений true и false в языке Си принято нулевое значение за истину, а не нулевое (чаще единица) – за ложь.

Результатом логической операции является 0 или 1, тип результата int.

Пример:

3<5 результат 1

3>5 результат 0

6!=1 || 2>5 результат 1

8>2 && 4>5 результат 0

3.5. Операции присваивания

Символом "=" обозначается простая операция присваивания. Кроме простой операции присваивания в языке Си существует ряд составных операций присваивания: *=, /=, %=, +=, -=, <<=, >>=, &=, |=, ^=.

Работу составных операторов присваивания поясним на примере операции *=. Следующие два действия с точки зрения результата эквивалентны.

n=n*5;

n*=5;

3.6. Операция sizeof

С помощью операции sizeof можно определить размер памяти которая соответствует идентификатору или типу. Операция sizeof имеет следующий формат

sizeof(выражение);

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

Пример:

int a=5,b;

b=sizeof(a);

b=sizeof(a+1);

b=sizeof(int);

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

3.7. Операция условие

В языке СИ имеется одна тернарная операция – операция условие (не путать с условным оператором), которая имеет следующий формат:

операнд-1 ? операнд-2 : операнд-3;

Операнд-1 должен быть целого или плавающего типа или быть указателем. Он оценивается с точки зрения его эквивалентности 0. Если операнд-1 не равен 0 (истина), то вычисляется операнд-2 и его значение является результатом операции. Если операнд-1 равен 0 (ложь), то вычисляется операнд-3 и его значение является результатом операции. Следует отметить, что вычисляется либо операнд-2, либо операнд-3, но не оба. Тип результата зависит от типов операнда-2 и операнда-3.

Пример:

max = (d<=b) ? b : d;

Переменной max присваивается максимальное значение переменных d и b.

3.8. Разделитель точка с запятой

Каждый оператор, каждое определение и каждое описание в программе на языке Си завершает точка с запятой ";". Любое допустимое выражение, за которым следует ";", воспринимается как оператор.