Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование / WORD / Лекции по ЯП (часть 3).doc
Скачиваний:
138
Добавлен:
15.04.2015
Размер:
1.34 Mб
Скачать

Операторы языка Си

Оператор всегда заканчивается «;».

Пустой оператор – в отдельной строке «;»

Составной оператор или блок– группа из 2-х или более операторов заключенные в фигурные скобки ({}).

Простые выражения состоят из одного элемента: переменной численного типа, константы.

Сложные выражения состоят из простых выражений., соединенных знаками операций.

Оператор if

if (<выражение>)

<оператор>;

else <оператор>;

И в Паскале, и в Си else (иначе) – необязательная часть, а <оператор> может быть заменен блоком.

Оператор if и в Си и в Паскале может иметь сокращенную форму, когда отсутствует часть, начинающаяся с else.

Примеры.

if ( B==0 )

puts("c is undefined");

else {

c = a/b;

printf("c = %d\n",c);

}

if ((c = a * b) != 0)

c += b;

else c = a;

Оператор switch

switch (<выражение>) {

case <конст.1> : <операторы1>

case <конст.2> : <операторы2>

...

case <конст.N-1>: <операторыN-1>

default : <операторыN>

}

<конст> – всегда одно значение.

<выражение> должно быть целого, символьного или перечислимого типа.

После двоеточия может размещаться сколько угодно операторов.

После default нужно ставить двоеточие

После выполнения соответствующих совпавшему варианту действий, управление не обязательно передается в конец switch. Вместо этого, продолжается выполнение списка операторов (включая те операторы, которые располагаются после default) до тех пор, пока не буде достигнут конец оператора switch(). Это позволяет понимать каждый case <конст.>, как метку, на которую передается управление в случае, когда <выражение> оператора switch принимает значение <конст>. Если ни с одной из констант значение выражения не совпадает, то выполняются действия после метки default.

В операторе switch можно указать, что после выполнения действий, соответствующих определенному варианту, дальнейшее выполнение оператора switch надо прекратить. Для этого надо последним действием для данного варианта сделать оператор break:

switch (выражение)

{

case конст1: оператор1;

оператор2;

......... с этого места выполнение

break;--------- оператора switch может

case конст2: ........... быть прервано (при совпадении

........... значения выражения и конст1)

}

Оператор while

while (<выраж>)

<оператор>;

<выражение> условие продолжения цикла. Если =0, то false, иначе true.

Оператор do while

while (<выраж>)

<оператор>;

Цикл do...while выполняется пока <выраж> истинно.

Оператор do...while требует блок для нескольких операторов.

Оператор for

Формат этого цикла следующий:

for(<выраж1>;<выраж2>;<выраж3>)

<оператор>;

В Си оператор for - это просто специальный случай оператора

while:

<выраж1> |

while (<выраж2>) { | Отсюда виден

<оператор>; | порядок выполнения

<выраж3>; | оператора цикла for

} |

где <выраж1> используется для инициализации,

<выраж2> для определения конца цикла,

<выраж3> для изменения параметра(ов) цикла.

Хотя <выраж1>, <выраж2> и <выраж3> могут быть пропущены по отдельности или все вместе, однако соответствующие им точки с запятой должны оставаться. В пределе заголовок оператора for может принять вид for (;;)

Если пропущено <выраж1>, то выполнение цикла начнется с текущего значения параметра цикла. Если <выраж2> пропущено, то получится бесконечный цикл. Если же пропущено <выраж3>, то цикл будет выполняться при неизменном параметре цикла.

Шаг изменения параметра цикла может быть любым (целым).

Пример.

for (i = i;i<=10;i++)

{

printf("i = %2d ",i);

printf("i*i = %4d ",i*i);

printf("i**3=%6d\n",i*i*i);

}