Читайте также: |
|
Часть. Условный оператор и условия
Теоретический и справочный материал.
Условный оператор if.
Этот оператор используется тогда, когда необходимо проверить какое-то условие, и в зависимости от проверки принять то или иное решение. Общей формой этого оператора является:
if (логическое выражение) {
оператор1;
оператор2;
} else {
оператор3;
оператор4;
}
Под «логическим выражением» пока будем понимать проверку условий, использующую одну из следующих операции отношений
Операция | Смысл |
== | Равно |
!= | Не равно |
> | Больше, чем |
< | Меньше, чем |
>= | Больше или равно |
<= | Меньше или равно |
Если условие сложное, то логическое выражение состоит из нескольких проверок, связанных логическими операциями:
Операция | Смысл |
&& | и |
|| | или |
! | не |
Условный оператор ?:.
В конструкции
expr1? expr2: ехрr3
первым вычисляется выражение expr1. Если оно истинно, то вычисляется expr2, и оно становится значением условного выражения в целом. Если expr1 ложно, то вычисляется ехрr3, и уже оно становится значением условного выражения в целом.
Пример:
х = (у < z)? у: z;
Часть 2 Оператор выбора
Теоретический и справочный материал.
Оператор выбора
Структура switch () состоит из ряда меток case и необязательной метки default (умолчание).
switch (целое выражение)
{ [объявление]
...
[ case константное-выражение1]:
[ список-операторов1]
[ break;]
[ case константное-выражение2]:
[ список-операторов2]
[ break;]
...
[ default: [ список операторов ]]
}
Оператор break в конце case вызывает немедленный выход из структуры switch.
Схема выполнения оператора switch следующая:
- вычисляется выражение в круглых скобках;
- вычисленные значения последовательно сравниваются с константными выражениями, следующими за ключевыми словами case;
- если одно из константных выражений совпадает со значением выражения, то управление передается на оператор, помеченный соответствующим ключевым словом case;
- если ни одно из константных выражений не равно выражению, то управление передается на оператор, помеченный ключевым словом default, а в случае его отсутствия управление передается на следующий после switch оператор.
Операции сдвига
Операции сдвига осуществляют смещение операнда влево (<<) или вправо (>>) на число битов, задаваемое вторым операндом. Оба операнда должны быть целыми величинами. Выполняются обычные арифметические преобразования. При сдвиге влево правые освобождающиеся биты устанавливаются в нуль. При сдвиге вправо метод заполнения освобождающихся левых битов зависит от типа первого операнда. Если тип unsigned, то свободные левые биты устанавливаются в нуль. В противном случае они заполняются копией знакового бита. Результат операции сдвига не определен, если второй операнд отрицательный.
Примеры:
int i=0x1234, j, k;
k = i<<4; /* k=0x2340 */
j = i<<8; /* j=0x3400 */
i = j>>8; /* i=0x0034 */
Дата добавления: 2015-07-10; просмотров: 210 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Зерттеулердің дизайны бойынша жіктелуі | | | Поразрядные операции |