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

Оператор if( ) { } else { } if (выражение) оператор1 else оператор2 Вначале вычисляется выражение; если оно истинно (т.е. имеет ненулевое значение), то выполняется оператор1. Если

Слайд 1Основы языка СИ. Часть 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--;
}


Слайд 10for (выраж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.


Слайд 14Оператор goto
for ( ... )
for (...)
{
if (disaster)
goto

error;
}

error:
решить проблему

метка

Нельзя использовать! Никогда!
Вообще никогда!

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

В примере используется для выхода из нескольких вложенных циклов.

Любую программу можно переписать без goto.


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика