Вначале вычисляется выражение; если оно истинно (т.е. имеет ненулевое значение), то выполняется оператор1. Если оно ложно (т.е. имеет нулевое значение) и присутствует блок else, то выполняется оператор2.
Выражение в общем случае может состоять из нескольких операторов:
if( k > 0 && L<0 || x * x > 25)
Если в оператор1(или 2) входит несколько инструкций, то их необходимо заключать в {}. Чтобы избежать ошибок, лучше делать так ВСЕГДА.
Используется для принятия многовариантного решения.
Каждый следующий блок if-else должен выделяться отступом!
z = (а > b) ? а : b;
Вначале вычисляется выраж1. Если оно не равно нулю (т.е. истинно), то вычисляется выражение выраж2, которое и становится значением всей условной конструкции. В противном случае вычисляется выражЗ, значение которого считается значением всего условного выражения. Всегда вычисляется только одно из выраж2 и выражЗ.
Все метки должны быть разными целыми числами!
Необязательная часть, операторы после default выполнятся, если не было совпадения ни с одним case.
Оператор break предназначен для выхода из switch. Должен присутствовать в конце каждого блока операторов! (иначе будут выполняться и все следующие операторы)
а) цикл for
Пример 1
int main()//Программа печатает цифры от 0 до 9
{
int i;
for ( i = 0; i < 10; i++) {
printf( "%d %d\n", i );
}
}
Список инициализации П-ых может состоять из нескольких П-ых. В этом случае переменные разделяются запятыми. Причем некоторые из них (или все) могут быть инициализированы до цикла.
Условие продолжения цикла может быть сложным выражением!
Список изменяемых П-ых также может состоять из нескольких П-ых. В этом случае переменные разделяются запятыми. Список инициализации и список изменения могут не совпадать!
В некоторых случаях отдельные* элементы могут отсутствовать, но ; ставится обязательно!
* Цикл for может выглядеть и так: for(;;), тогда он будет выполняться бесконечно.
Вначале вычисляется выражение. Если оно не равно нулю, то выполняется оператор, а затем выражение вычисляется снова. Эти действия повторяются до тех пор, пока выражение не станет равным нулю.
Пример:
//Вывод чисел от 10 до 1
int i = 10;
while ( i > 0)
{
printf( "%d\n", i );
i--;
}
Сравнение for и while
В большинстве случаев без разницы, какой из этих циклов использовать.
Цикл for выбирают в случаях, когда необходимо последовательно выполнить однотипные операции над набором данных N раз (посчитать сумму, вывести числа от 1 до N и т.п.). См. ЛР №4.
Цикл while чаще всего используют, когда число итераций цикла заранее неизвестно. Например, считывать текст, пока не встретится определенный символ. См. ЛР №6.
проверяет условие в конце, после выполнения тела цикла => тело цикла всегда выполняется как минимум один раз!
Пример:
//выведется 0, т.к. условие проверяется после вывода i
int i = 0;
do
{
printf( "\t%d\n", i );
}
while ( i > 0);
Оператор continue передает управление на следующую итерацию (проход) ближайшего цикла for, while или do. В цикле while или do это означает немедленную проверку условия, тогда как в цикле for дополнительно выполняется инкрементирование. Оператор continue применим только к циклам, но не к оператору switch.
метка
Нельзя использовать! Никогда!
Вообще никогда!
Оператор goto передает управление из любого места программы в определенное место, отмеченное меткой.
В примере используется для выхода из нескольких вложенных циклов.
Любую программу можно переписать без goto.
Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть