Основы языка СИ. Часть 2. Оператор IF-ELSE, SWITCH. Циклы. GOTO презентация

Содержание

Слайд 2

Оператор if( ) { } else { }

if (выражение)
оператор1
else
оператор2

Вначале

вычисляется выражение; если оно истинно (т.е. имеет ненулевое значение), то выполняется оператор1. Если оно ложно (т.е. имеет нулевое значение) и присутствует блок else, то выполняется оператор2.

Выражение в общем случае может состоять из нескольких операторов:
if( k > 0 && L<0 || x * x > 25)

Если в оператор1(или 2) входит несколько инструкций, то их необходимо заключать в {}. Чтобы избежать ошибок, лучше делать так ВСЕГДА.

Слайд 3

Цепочки if-else-if

if (выражение)
оператор
else if (выражение)
оператор
else if (выражение)
оператор
else


оператор

Используется для принятия многовариантного решения.

Каждый следующий блок if-else должен выделяться отступом!

Слайд 4

Тернарный оператор ? :

Следующий код берет большее из двух чисел, а и b,

и помещает его в переменную z:
if (a > b) z = а;
else z = b;
Эту и аналогичные конструкции можно записать другим способом, прибегнув к условному выражению с трехместной операцией ? : Условное выражение имеет следующий вид:
выраж1 ? выраж2 : выражЗ

z = (а > b) ? а : b;

Вначале вычисляется выраж1. Если оно не равно нулю (т.е. истинно), то вычисляется выражение выраж2, которое и становится значением всей условной конструкции. В противном случае вычисляется выражЗ, значение которого считается значением всего условного выражения. Всегда вычисляется только одно из выраж2 и выражЗ.

Слайд 5

Оператор switch

метка

Используется для выбора одного из нескольких вариантов действий в зависимости от того,

с какой из набора целочисленных констант совпадает значение некоторого выражения. В зависимости от найденного соответствия выполняется ветвление программы.
switch (выражение)
{
case констант-выраж: операторы
case констант-выраж: операторы
default: операторы
}

Все метки должны быть разными целыми числами!

Необязательная часть, операторы после default выполнятся, если не было совпадения ни с одним case.

Оператор break предназначен для выхода из switch. Должен присутствовать в конце каждого блока операторов! (иначе будут выполняться и все следующие операторы)

Слайд 6

Циклы

используются для многократного повторения кусков кода

for (инициализация П-ых; условие продолжения; изменение значения П-ых)


{
  // тело цикла (тут код, который будет повторяться)
}

а) цикл for

Пример 1
int main()//Программа печатает цифры от 0 до 9
{
int i;
for ( i = 0; i < 10; i++) {
printf( "%d %d\n", i );
}
}

Слайд 7

Пример 2
int main()
{
int i, j, k = 5;
for (i =

0, j = 9; i < 10 || j>-5; i = i+2, j--, k++)
{
printf( "%d %d\n", i, j );
}
}

Список инициализации П-ых может состоять из нескольких П-ых. В этом случае переменные разделяются запятыми. Причем некоторые из них (или все) могут быть инициализированы до цикла.

Условие продолжения цикла может быть сложным выражением!

Список изменяемых П-ых также может состоять из нескольких П-ых. В этом случае переменные разделяются запятыми. Список инициализации и список изменения могут не совпадать!

Слайд 8

Пример 3
int main()
{
int i = 0, j = 9;
for (;

i < 10; i = i + 2)
{
printf( "%d %d\n", i, j );
}
}

В некоторых случаях отдельные* элементы могут отсутствовать, но ; ставится обязательно!

* Цикл for может выглядеть и так: for(;;), тогда он будет выполняться бесконечно.

Слайд 9

б) цикл while (пока)

while (выражение)
{
оператор // тело цикла (тут код, который будет

повторяться)
}

Вначале вычисляется выражение. Если оно не равно нулю, то выполняется оператор, а затем выражение вычисляется снова. Эти действия повторяются до тех пор, пока выражение не станет равным нулю.

Пример:
//Вывод чисел от 10 до 1
int i = 10;
while ( i > 0)
{
printf( "%d\n", i );
i--;
}

Слайд 10

for (выраж1; выраж2; выражЗ)
{
оператор
}

выраж1;
while (выраж2)
{
оператор;
выражЗ;
}

Сравнение

for и while

В большинстве случаев без разницы, какой из этих циклов использовать.
Цикл for выбирают в случаях, когда необходимо последовательно выполнить однотипные операции над набором данных N раз (посчитать сумму, вывести числа от 1 до N и т.п.). См. ЛР №4.
Цикл while чаще всего используют, когда число итераций цикла заранее неизвестно. Например, считывать текст, пока не встретится определенный символ. См. ЛР №6.

Слайд 11

в) цикл do { } while();

do
оператор
while (выражение);

проверяет условие

в конце, после выполнения тела цикла => тело цикла всегда выполняется как минимум один раз!

Пример:
//выведется 0, т.к. условие проверяется после вывода i
int i = 0;
do
{
printf( "\t%d\n", i );
}
while ( i > 0);

Слайд 12

Вложенные циклы

Все циклы могут находится в любом месте программы, в том числе внутри

другого цикла.
Пример (вывод таблицы умножения):
int i, j;
for(i = 1; i<10; i++)
{
for(j = 1; j<10; j++)
{
printf( "\t%d", i * j);
}
printf("\n");
}

Слайд 13

Операторы break и continue

Оператор break вызывает принудительный выход из циклов for, while и

do — аналогично выходу из оператора switch. Выход выполняется из ближайшего (самого внутреннего) цикла или оператора switch.

Оператор continue передает управление на следующую итерацию (проход) ближайшего цикла for, while или do. В цикле while или do это означает немедленную проверку условия, тогда как в цикле for дополнительно выполняется инкрементирование. Оператор continue применим только к циклам, но не к оператору switch.

Имя файла: Основы-языка-СИ.-Часть-2.-Оператор-IF-ELSE,-SWITCH.-Циклы.-GOTO.pptx
Количество просмотров: 56
Количество скачиваний: 0