Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Тема 3. Управляющие структуры. Структуры повторения While, do – While, For. Управляющие операторы break и continue.

График выполнения и сдачи заданий по дисциплине | Типы данных в языке Си. | Использование функции printf( ) и scanf( ). | Тема 6. Классы памяти и разработка программ. | Тема 7. Указатели в Си. | Тема 8. Использование указателей при обработке одномерных и двумерных массивов. | Тема 9. Символы и строки в Си. | Тема 11. Структуры данных в Си. | Тема 12. Динамические структуры данных. | Тема 13. Работа с файлами в Си. |


Читайте также:
  1. Break-in-the-Narrative (Aposiopesis)
  2. British and Continental Breakfast
  3. Head of Gringotts’ Curse Breaker Division, Geneva
  4. Анализ и оценка удовлетворительности структуры баланса проводятся на основе расчета следующих показателей
  5. Анализ состава и структуры имущества
  6. АНАЛИЗ СТРУКТУРЫ И СТИМУЛЯЦИИ ПОВЕДЕНИЯ
  7. Анализ структуры и стимуляции строительной игры Игоря

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

Общий вид оператора while:

while (выражение) оператор;

В качестве выражения используются условные выражения. Оператор может быть простым или составным. В процессе выполнения цикла while, вычисляется значение выражения. Если оно истинно или в общем случае не равно нулю, то оператор выполняется, затем выражение вычисляется снова. Если выражение становится ложным или в общем случае равно нулю, то цикл завершается.

Пример 1: main() { int k1 =1; while (k1<=20) { printf (“ % 10d % 10d ”, k1, k1*k1); k1++; } } Пример 2: main() { int k1 =1; while (k1++<=20) printf (“ % 10d % 10d\n “, k1, k1*k1); }  

Общий вид оператора for

for (выр 1; выр2; выр3)

оператор;

где выражение 1 – обычно задает начальное значение переменной цикла;

выражение 2 – условие продолжение цикла;

выражение 3 – обычно задает некоторую модификацию (приращение) переменной цикла за каждое выполнение цикла.

Выражение 1 вычисляется только один раз до начала выполнения какого-нибудь из операторов цикла. Если выражение 2 оказывается истинным (или не равным нулю), тело цикла выполняется один раз, затем вычисляется величина выражения 3, и значение выражение 2 определяется вновь. Оператор может быть как простым, так и составным.

Пример:

main ()

{ int x;

for (x=1; x<=10; x++)

printf (“%8d %8d \n”, x, x*x*x); }

в операторе for в выражении 3 можно использовать операцию уменьшения, например:

for (n=10; n>0; n--)

printf (“%d \n”, n);

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

x=2;

for (n=4; x<=100;)

x=x*n,

В качестве выражения 3 можно использовать вообще любое правильно составленное выражение например:

for (n=5; n<100; n=n+10)

printf (“ %d \n”, n);

for (d=10.0; d<500.0; d=d*1.5)

printf (“%f \n”, d);

Язык Си поддерживает несколько операций присваивания, эти операции присваивания представляют некоторые сокращения при описании выражений. Так любое выражение вида <переменная>=<переменная><операция><выражение>; может быть заменено на:

<переменная><операция>=<выражение>;

Ниже приводится некоторые примеры таких выражений и способы их сокращения:

а=а+b; сокращается до а+=b;

a=a-b; сокращается до a-=b;

a=a*b; сокращается до a*=b;

a=a/b; сокращается до a/=b;

a=a%b; сокращается до a%=b;

Приведенные формы записи операций присваивания более компактны, и при трансляции обычно позволяют получить более эффективный машинный код. Эти операции присваивания часто используются в выражении в спецификации цикла for.

В соответствии с рассмотренными дополнительными операциями присваивания выражения 3 двух последних пример можно записать в виде n+=10 и d*=1.5;

Операция ''запятая''. Операция ''запятая'' позволяет организовать составные выражения. При использовании операции ''запятая'' выражения, разделенные занятой, вычисляются слева направо. Операция ''запятая'' часто используется в операторе for, что позволяет увеличить гибкость использования цикла for.

Рассмотрим пример использования составных выражений в операторе for.

main ()

{ int x; y;

for (x=1, y=9; x<=10; x++, y--)

printf (“% 2d, %2d \n”, x, y); }

Первое и третье выражение в этом цикле for состоит из двух выражений, инициализирующих и модифицирующих переменные x и y.

Общий вид оператора do while:

do

оператор;

while (выражение);

Оператор может быть простым и составным. Тело цикла do while всегда выполняется, по крайней мере, один раз, поскольку проверка осуществляется только после его завершения. Цикл do while выполняется до тех пор, пока проверяемое выражение не станет ложным или равным нулю.

main ()

{ float a,bc;

char ch;

do

{ printf (“введите два числа:”);

scantf (“%f %f”, &a, &b);

if (b= =0.0)

printf (“\n деление на ноль!”);

else { c=a\b;

printf (“\n результат деления двух чисел: %f”, c); }

printf (“\n Нажмите 'q' для выхода или любую клавишу для продолжения”); }

while ((ch=getch ())!='q'); /* getchar() – получает символ из потока,

getch() – получает символ с консоли без отображения */

}


Дата добавления: 2015-11-04; просмотров: 63 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Операторы языка Си| Тема 4. Массивы. Разработка программ с использованием одномерных и двумерных массивов.

mybiblioteka.su - 2015-2024 год. (0.009 сек.)