Создание сайта, дизайн, web дизайн
Главная Работы Услуги Цены Контакты

 Главная
 Работы
 Услуги
 Цены
 Контакты
 

Введение

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

Оператор for

Основная форма цикла for имеет следующий вид:

for (инициализация; проверка условия; изменение) оператор;

Инициализация используется для присвоения начального значения параметру цикла. Проверка условия это условное выражение определяющее завершение цикла т.е. если значение условного выражения истинна, то цикл продолжает выполняться, а если значение условного выражения ложно, то происходит выход из цикла. После выхода из цикла идет переход к следующему оператору программы. Изменение это выражение определяющее как будет меняться параметр цикла. Оператор может быть блоком операторов т.е. он может быть заключен в фигурные скобки {}. Обратите внимание на то, что разделы инициализация, проверка условия и изменение отделены друг от друга точкой с запятой. В операторе for сначала проверяется условие и если значение условия "истинно", то идёт выполнение тела цикла (блока операторов или простого оператора). Рассмотрим пример:

#include <stdio.h>

void main(void)

{

int i; // это у нас будет параметром цикла

for(i=0;i<5;i++) printf("%d\n", i);

}

Эта программа выводит на экран числа от 0 до 4. Числа будут выводиться до тех пор, пока i (параметр цикла) не будет равен 5. Так как значение условного выражения 5<5 есть ложь, то следовательно цикл завершается.

Давайте рассмотрим заголовок for

i=0 - инициализация

i<5 - условие выполнения цикла

i++ - Изменение или приращение

А теперь давай сделаем так, чтобы числа выводились в обратном порядке

#include <stdio.h>

void main(void)

{

int i; // это у нас будет параметром цикла

for(i=4;i>=0;i--) printf("%d\n", i);

}

Числа будут выводиться в обратном порядке т.е. 4 3 2 1 0. Тут в условном выражении мы использовали операцию отношения >=. Следовательно, когда i будет равняться 0 цикл выполнится и на экране появиться символ 0 (он будет последний). А вот на следующем шаге цикла, когда i будет равняться -1, значение условного выражения -1>=0 будет ложным и цикл не выполниться.

i=4 - инициализация

i>=0 - условие выполнения цикла

i-- - Изменение или приращение

Параметром цикла не обязательно должно быть целое число. Например следующая программа выводит последовательность чисел с плавающей точкой (float). Шаг (изменение) будет равен 0.5.

#include <stdio.h>

void main(void)

{

float i;

for(i=0.00; i<=5; i=i+0.5) printf("%.2f ", i);

}

Программа выведет на экран следующую последовательность чисел:

0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00 4.50 5.00

Так же с помощью цикла можно вывести буквы алфавита:

#include <stdio.h>

void main(void)

{

unsigned char ch; // Объявление беззнакового char

for(ch='A'; ch<='Z'; ch++) printf("%c ", ch);

}

Результат работы программы будет такой:

A B C D E F ......................... Z

Давайте рассмотрим и такую программу:

#include <stdio.h>

void main(void)

{

unsigned char ch;

for(ch='A'; ch!='Y';) scanf("%c", &ch);

}

Цикл в этой программе будет выполняться до тех пор, пока мы не введем символ 'Y'. Обратите внимание на то, что раздела изменение нет т.е. это не обязательный раздел. Он может быть опущен.

С помощью оператора цикла for можно организовать бесконечный цикл:

#include <stdio.h>

void main(void)

{

for(;;) printf("A");

}

Эта программа будет печатать букву А до бесконечности. Если вы работаете в Borland C++ 3.11, то для выхода из этого цикла можно использовать комбинацию клавиш Ctrl+Break.

Оператор while

В языке С кроме оператора for существует ещё оператор цикла while. Основная форма оператора while:

while(условие) оператор;

Цикл выполняется до тех пор, пока условие принимает значение "истинно". Как только условие принимает значение "ложно", цикл завершается и идёт переход к следующему оператору программы. Как и в цикле for, в цикле while сначала проверяется условие. Оператор может быть простым, составным (блоком) или пустым оператором. Рассмотрим следующую программу:

#include <stdio.h>

void main(void)

{

unsigned char ch;

int flag; // флаг выхода

flag=1;

while(flag)

{

ch=getch();

if(ch==27) flag=0;

else

printf("%c",ch);

}

}

Программа будет выводить введенные вами символы. Если нажмете клавишу ESC (код 27), то произойдет выход из цикла, так как flag будет равен 0. Функция getch() читает символ с клавиатуры и возвращает его код.

Оператор do-while

Основное отличие оператора цикла do-while от операторов for и while заключается в том, что условие проверяется в конце оператора цикла. А от сюда следует, что тело (блок операторов) оператора do-while всегда выполняется хотя бы один раз.

Пример программы:

#include <stdio.h>

void main(void)

{

unsigned char ch;

do

{

ch=getch();

printf("%c",ch);

}

while(ch!=27);

}

Эта программа аналогична предыдущей. Она выводит вводимые символы на экран.




Бардин П.Б. http://proger.ru/
Состояние воздуха:
Мониторинг загрязнения атмосферы в режиме реального времени
© 2004-2017 LABDESIGN.RU   e-mail: