АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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

Читайте также:
  1. II. Типичные структуры и границы
  2. III. Анализ результатов психологического анализа 1 и 2 периодов деятельности привел к следующему пониманию обобщенной структуры состояния психологической готовности.
  3. XIV. ОПЕРАТОРЫ ЯЗЫКА ПАСКАЛЬ
  4. Абсолютные и относительные показатели изменения структуры
  5. Абсолютные и относительные показатели изменения структуры
  6. Абстрактные структуры данных
  7. Адаптивные и механистические организационные структуры
  8. Адаптивные структуры
  9. Адаптивные структуры управления
  10. Адаптивные структуры управления
  11. Алгоритм определения предпочтительной организационной структуры управления диверсифицированной фирмы
  12. Анализ ассортимента и структуры продукции

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

Общий вид оператора 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() – получает символ с консоли без отображения */

}


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)