Программирование (Козлова) - страница 20

24. Оператор выражение. Пустой оператор

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

К примеру:

a = b*3 + c;

cout << «go go go»; lseek(fd,0,2); Простейший оператор – пустой оператор:

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

Блок представляет собой возможно пустой список операторов, находящихся в фигурных скобках:

{a = b + 2; b++;}

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

Программа в следующем примере производит преобразование дюймов в сантиметры и сантиметров в дюймы; предполагается, что указаны единицы измерения вводимых данных, добавляется i для дюймов и c для сантиметров:

#include main()

{

const float fac = 2.54; float x, in, cm; char ch = 0;

cout << «введите длину: «; cin>> x >> ch;

if (ch == { // inch – дюймы

in = x;

cm = x*fac;

}

else if (ch == 'c') // cm – сантиметры in = x/fac; cm = x;

}

else

in = cm = 0;

cout << in << «in=» << cm << «cm\n»;}

25. Оператор switch, break. Копирование строки

Оператор switch дает возможность сопоставления значения с множеством констант. Проверки в предыдущем примере можно представить в следующем виде:

switch (ch) {

case

in = x;

cm = x*fac;

break;

case 'c':

in = x/fac;

cm = x;

break;

default:

in = cm = 0;

break;

}

Операторы break используются для выхода из оператора switch. Константы в вариантах case могут иметь различные значения, и если проверяемое значение не совпадает ни с одной из констант, принимается вариант default. Программист не обязательно должен предусматривать default.

Покажем копирование строки, когда заданы указатель p на ее первый символ и указатель q на целевую строку. По соглашению строка заканчивается символом с целым значением 0.

while (p!= 0) {

*q = *p; // скопировать символ q = q+1;

p = p+1;

}

*q = 0; // завершающий символ 0 скопирован не был.

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

Можно применять операцию ++ для непосредственного указания увеличения, и проверка будет значительно проще:

while (*p) *q++ = *p++;

*q = 0;

где конструкция *p++ значит: «взять символ, на который задает p, затем увеличить p».

26. Описание функций

При использовании операции ++ к целой переменной к ней просто добавляется единица. Первая часть оператора for не обязательно должна быть описанием, она может быть простым оператором. К примеру: