Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CCPP / C / Презентации / Язык программирования C-04.pdf
Скачиваний:
70
Добавлен:
23.03.2016
Размер:
351.93 Кб
Скачать

Модуль 4. Операторы

Составной и пустой операторы

Составной оператор

Несколько операторов, заключенных в фигурные скобки, образуют составной оператор, который синтаксически эквивалентен единственному оператору.

Пример:

{ y = x; x++; }

Точка с запятой (;) после правой фигурной скобки, заканчивающей составной оператор, не ставится.

Составной оператор может употребляться везде, где допускается простой оператор.

Составной оператор является блоком и может

содержать описания локальных переменных: swap: { int temp;

temp = x; x = y; y = temp;

Инструкция 1 Инструкция 2

Инструкция N

}

Пустой оператор

;

Состоит только из точки с запятой, обычно используется для обозначения пустого тела оператора цикла.

5

Модуль 4. Операторы

Операторы выбора

Условный оператор if...else

Формат оператора:

if (условие)

True (истина)

 

 

 

False (ложь)

 

 

 

Условие

 

 

 

 

 

 

 

 

 

 

 

 

 

оператор1

Ветвь 1

 

Ветвь 2

 

 

 

 

else

оператор2

Если проверяемое условие не равно 0 (истина), то выполняется оператор1, иначе - оператор2.

Часть else в операторе if является необязательной и может быть опущена:

if (условие) оператор

False (ложь)

Условие

True (истина)

Ветвь

6

Модуль 4. Операторы

Операторы выбора (продолжение)

Пример (фрагмент). Подсчет цифровых и нецифровых символов

char ch;

int digit = 0, nondigit = 0;

ch = getchar();

if (ch >= '0' && ch <= '9') digit++;

else

nondigit++;

Пример (фрагмент). Перевод строчной латинской буквы в соответствующую прописную (с нижнего регистра на верхний).

char ch;

if ((ch = getchar()) >= 'a' && ch <= 'z') ch += 'A‘ - 'a';

7

Модуль 4. Операторы

Операторы выбора (продолжение)

Если часть с else опущена, то во вложенных условных операторах возникает неясность:

if (n > 0)

if (a > b) z = a;

else

z = b;

Компилятор решает ее путем отнесения else к ближайшему оператору if,

не имеющего своего else.

if (n > 0)

if (a > b) z = a;

else

z = b;

Т.е. else относится к внутреннему, а не к наружному if.

Если необходимо соотнести его с внешним if, следует использовать фигурные скобки:

if (n > 0)

{

if (a > b) z = a;

}

else

z = b;

8