Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
http.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.34 Mб
Скачать

Вложенные операторы switch

Оператор switch может иметь среди последовательности операторов другой оператор switch. Даже если константы case внутреннего и внешнего операторов имеют одинаковые значения, не возникнет никакого конфликта. Следующий фрагмент кода совершенно корректен: switch (х) { case 1:      switch(у) {           case 0: printf("Divide by zero error.");                        break;            case 1: process(x,y);        }        break; case 2: ...

Циклы

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

FOR

Стандартный формат цикла for в С, вероятно, знаком читателю, поскольку его можно найти в той или иной форме во всех языках программирования. Тем не менее, в С цикл for обладает дополнительной гибкостью и мощью.

Стандартный вид цикла for следующий: for (инициализация; условие; увеличение) оператор; Оператор for имеет три главные части:

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

  2. Условие - это место, где находится выражение, определяющее условие работы цикла.

  3. Увеличение - это место, где определяется характер изменения переменной цикла на каждой итерации.

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

В нижеприведенном простом примере осуществляется вывод чисел от 1 до 100 включительно: #include <stdio.h> int main(void) { int x; for(x=1; x<=100; x++) printf("%d ", x); return 0; } В программе переменная x изначально установлена в 1. Поскольку х меньше 100, вызывается printf(), после чего х увеличивается на 1 и проверяется условие: по-прежнему ли х меньше либо равно 100. Данный процесс продолжается до тех пор, пока х не станет больше 100, и в этот момент цикл прервется. В данном примере х является переменной цикла, которая изменяется и проверяется на каждой итерации цикла.

Ниже приведен пример цикла for, повторяющего несколько операторов: for(x=100; х!=65; х-=5) { z = sqrt(х); printf("The square root of %d, %f", x, z) ; } Как sqrt(), так и printf(), вызываются и выполняются, пока х не равно 65. Обратим внимание, что в цикле переменная х уменьшается: сначала она получает значение 100 и на каждой итерации Цикла происходит уменьшение на 5.

Важно понять, что в цикле for проверка условия выполняется в самом начале. Это означает, что код в цикле может вообще не выполняться, если условие изначально ложно. Например: Х = 10; for (у = 10; у! =х; ++у) printf ("%d", у); printf("%d", у); Данный цикл никогда не выполняется, поскольку х и у равны между собой на момент начала цикла. Поскольку условие ложно, не выполняется ни тело цикла, ни часть увеличения. Следовательно, у по-прежнему будет содержать значение 10 и в результате вывода мы получим на экране число 10.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]