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

Оператор цикла for

Читайте также:
  1. Аппаратчик-оператор экологических установок
  2. Арифметический оператор присваивания
  3. Во всех последующих расчетных циклах используются уточненные значения.
  4. Вопрос №36.Понятие и фазы экономического цикла. Показатель разрыва ВВП. Причины циклических колебаний в рыночной экономике.
  5. Гипотеза производственного цикла
  6. Двухфазная модель экономического цикла
  7. Двухфазная модель экономического цикла
  8. Денежная теория цикла Мизеса.
  9. Десятилетий перед началом повышательной волны большого цикла наблюдается
  10. Договорные отношения в туризме. Работа туроператоров с поставщиками туристических услуг и партнёрами
  11. Итерационный цикл - цикл в котором число его повторений и поведение программы на каждом шаге цикла зависят от результатов, полученных на предыдущих шагах.
  12. Итоговое тестирование слушателей цикла УЗД ОУ

BЛабораторная работа №3

 

“Операторы цикла в языке программирования Си++”

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

 

Теоретические сведения

Оператор цикла while

Описание:

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

Действие:

Выполняется оператор до тех пор, пока значение выражения в скобках истинно. Проверка значения выражения происходит перед каждым выполнением оператора. Когда значение выражения ложно, цикл while заканчивается. Если выражение ложно с самого начала, оператор не выполняется ни разу.

Комментарий:

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

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

Пример:

/*Демонстрация цикла while*/

#include "stdio.h"

#include "conio.h"

#include "iostream.h"

main()

{

int i=1;

while (getchar()!=’R’) i++;

/*оператор getchar() вводит любой символ с клавиатуры*/

printf(“simbol R is %d”,i);

getch();

return 0;

}

 

Приведенная программа позволяет определить порядковый номер первой введенной буквы R в последовательности символов. Она показывает использование цикла while, в теле которого всего одна инструкция (i++ - увеличение значения целого числа i на единицу). Если запустить эту программу на выполнение и ввести последовательность символов, например:

abFk!Rgm,

то на экране появится строка:

Символ R 6-й.

 

Оператор цикла do-while

Описание:

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

Действие:

В операторе do-while тело цикла выполняется по крайней мере один раз. Тело цикла будет выполняться до тех пор, пока выражение в скобках не примет ложное значение. Если оно ложно при входе в цикл, то его тело выполняется ровно один раз.

Комментарий: после слова while и выражения, заключенного в скобки, ставится точка с запятой. Если в теле цикла содержится более одной инструкции, то операторы цикла заключаются в фигурные скобки.

Пример:

/*Демонстрация цикла do-while */

#include "stdio.h"

#include "conio.h"

#include "iostream.h"

main()

{

int i=0; /*i=0, а не единице*/

do i++; while (getchar()!=’R’);

printf(“simbol R is %d",i);

getch();

return 0;

}

Программа, представленная выше, теперь написана с циклом do-while. Результат программы будет таким же.

 

Оператор цикла for

Описание:

for (выражение 1; выражение 2; выражение 3) оператор;

Действие:

В круглых скобках содержится три выражения. Первое из них служит для инициализации счетчика. Она осуществляется только один раз – когда цикл for начинает выполняться. Второе выражение необходимо для проверки условия, которая осуществляется перед каждым возможным выполнением тела цикла. Когда выражение становится ложным, цикл завершается. Третье выражение вычисляется в конце каждого выполнения тела цикла, происходит приращение числа на шаг.

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

for (scanf(“%d”,&p);;p++) оператор;

В языке СИ предусмотрены две нетрадиционные операции: (++) – для увеличения на единицу и (--) – для уменьшения на единицу значения операнда. Операции ++ и -- можно записывать как перед операндом, так и после него. В первом случае (++n или --n) значение операнда (n) изменяется перед его использованием в соответствующем выражении, а во втором (n++ или n--) – после его использования.

Если отсутствуют выражения 1 и 3, цикл становится эквивалентным while. Например:

for (;a<20;) оператор;

Каждое из выражений может состоять из нескольких выражений, объединенных операцией «запятая».

Например:

for(i=0, j=1; i<100; i++, j++) a[i]=b[j];

Тело цикла заключается в фигурные скобки, если в нем более одного оператора.

Пример 1:

#include "stdio.h"

#include "conio.h"

#include "iostream.h"

main()

{

int i;

for (i=1;getchar()!='R';i++)

printf("before simbol R is %d simbols\n");

getch();

return 0;

}

 

Пример 2:

/*демонстрация цикла for*/

#include "stdio.h"

#include "conio.h"

#include "iostream.h"

main()

{

int i, j=1, k;

for (i=1;i<=3;i++)

printf("Minsk\t");

/*В цикле for три раза выполняется функция вывода*/

/*Здесь i-управляющая переменная цикла*/

printf(“\nУкажите число повторений цикла\n”);

scanf("%d",&k);

for (i=1;i<=k;i++)

{

j*=i;

printf("%d ",j);

}

/*Здесь две инструкции (более одной), поэтому они заключаются в фигурные скобки*/

j=1;

printf("\n");

/*Переменной j присваивается значение 1 и осуществляется перевод курсора*/

/*В следующем цикле for выполняются те же действия, что и в предыдущем*/

for (i=1;i<=k;i++)

printf("%d ", j*=i);

getch();

return 0;

}

Результаты выполнения программы следующие:

Минск Минск Минск

Укажите число повторений цикла

1 2 6 24 120

1 2 6 24 120

 

Оператор break

Описание:

Break используется для прекращения выполнения цикла из-за обнаружения ошибки, для организации дополнения к условию в заголовке цикла, для прекращения бесконечного цикла.

Пример:

while (st>0 && st<25)

if (st==4||st==8||st==12)

break;

}

Работа цикла полностью прекращается, как только условие в операторе if становится истинным.


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



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