В) Оператор цикла со счетчиком

for (выр1; выр2; выр3) или for (выр1; выр2; выр3) {

оператор; операторы;

}

Выр1 – инициализация, проводится только 1 раз в начале цикла.

Выр2 - проверка условия окончания цикла (производится перед каждым возможным выполнением тела цикла. Когда выражение становится ложным, цикл завершается).

Выр3 – наращивание счетчика цикла (выражение вычисляется в конце каждого выполнения тела цикла).

Схема выполнения цикла

 
 


for Истина

Ложь

Если какое-либо из выражений отсутствует, то ‘;’ все равно ставится. Могут отсутствовать все выражения, и тогда цикл бесконечен. Цикл for очень многообразен.

Примеры:

1). for (n = 1; n < 1000; n++); счет в порядке возрастания

2). for (i = 10; i > 0; i--); счет в порядке убывания

3). for (n = 2; n < 60; n = n + 12); значение переменной n будет увеличиваться на 12 при каждом выполнении тела цикла (после этой команды можно ввести printf(“%d\n”,n) и тогда на экран будут выводиться числа 2,14,26,38,50,62)

4). Можно вести подсчет с помощью символов:

for (ch = 'a'; ch <= 'z'; ch++);

printf(«Величина кода ASCII для %c равна %d.\n», ch, ch);

на печать будут выведены все буквы от a до z вместе с их кодами ASCII.

5). Наращивание может происходить и после выполнения действий в выражениях (значение переменных будет меняться при каждой итерации):

for (x = 1; y <= 75; y = 5*(x++)+10);

for (i = 1, cost = 20; i <= 16; i++, cost+= 17);

6). Можно опустить одно или более выражений (но нельзя опустить символы;). Необходимо только включить в тело цикла несколько операторов, которые приведут к завершению его работы.

ans = 2;

for (n = 3; ans <=25;)

ans=*n;

Значение переменной asn сначала будет равно2, затем на первой итерации цикла примет значение 6, затем 18 и 54.

7). Бесконечный цикл

for (;;);

пустое условие всегда считается истинным.

8). Первое выражение не обязательно должно инициализировать переменную. Там может стоять оператор некоторого специального вида, например printf. Необходимо только помнить, что первое выражение выполняется только один раз, до начала выполнения остальных частей цикла.

for (printf ("Запомните введение числа!\n"); num = =6;)

scanf (" % d, &num);

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

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

// Пример программы на вложенные циклы

// Вывести на экран числа от 0 до 99 по 10 в каждой строке

#include <stdio.h>

void main(void)

{

int num=0;

int i, j;

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

for(j=0; j<10; j++)

printf("%4d",num++);

printf("\n");

}

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: