Читайте также:
|
|
Оператор цикла со счетчиком предполагает, что количество итераций (выполнений) тела цикла жестко задано в виде некоторой константы или значения переменной. На самом деле данный тип циклов в языках программирования, как правило, значительно более гибок. В языке СИ оператор цикла со счетчиком имеет следующий синтаксис:
for(инициализация; условие; приращение) тело цикла. Например, пользователь вводит последовательность из десяти положительных чисел. Определить максимум этой последовательности. В операторе for любой из блоков может отсутствовать. Если отсутствует какой-либо блок в круглых скобках (инициализация, условие или приращение), то разделитель этого блока все равно присутствует. Если отсутствует тело цикла, то после закрывающей оператор for круглой скобки просто указывается точка с запятой. Возможность пропуска блоков в операторе for является довольно удобной, хотя в некоторых случаях вообще лишена смысла. Например, допустима следующая конструкция: for(;;); Это вечный цикл, который не выполняет никаких действий.
Цикл с предусловием
Операторы организации циклов
Под циклом понимается многократное выполнение одних и тех же операторов при различных значениях промежуточных данных. Число повторений может быть задано в явной или неявной форме.
К операторам цикла относятся: цикл с предусловием while, цикл с постусловием do while, цикл с параметром for и цикл перебора foreach. Рассмотрим некоторые из них.
Оператор цикла while организует выполнение одного оператора (простого или составного) неизвестное заранее число раз. Формат цикла while:
while (B) S;
где B – выражение, истинность которого проверяется (условие завершения цикла); S – тело цикла – оператор (простой или составной).
Перед каждым выполнением тела цикла анализируется значение выражения В: если оно истинно, то выполняется тело цикла, и управление передается на повторную проверку условия В; если значение В ложно – цикл завершается и управление передается на оператор, следующий за оператором S.
Если результат выражения B окажется ложным при первой проверке, то тело цикла не выполнится ни разу. Отметим, что если условие B во время работы цикла не будет изменяться, то возможна ситуация зацикливания, то есть невозможность выхода из цикла. Поэтому внутри тела должны находиться операторы, приводящие к изменению значения выражения B так, чтобы цикл мог корректно завершиться.
Оператор цикла do while также организует выполнение одного оператора (простого или составного) неизвестное заранее число раз. Однако в отличие от цикла while условие завершения цикла проверяется после выполнения тела цикла. Формат цикла do while:
do S while (B);
где В – выражение, истинность которого проверяется (условие завершения цикла); S – тело цикла – оператор (простой или блок).
Сначала выполняется оператор S, а затем анализируется значение выражения В: если оно истинно, то управление передается оператору S, если ложно – цикл завершается, и управление передается на оператор, следующий за условием B. Так как условие В проверяется после выполнения тела цикла, то в любом случае тело цикла выполнится хотя бы один раз.
В операторе do while, так же как и в операторе while, возможна ситуация зацикливания в случае, если условие В всегда будет оставаться истинным.
7)Структура данных struct и их значение в С++.
Структура создаётся с помощью ключевого слова struct. В языке C++ структура также определяет класс. Единственное различие между class- и struct- объектами состоит в том, что по умолчанию все члены структуры являются открытыми. Чтобы сделать член закрытым, необходимо использовать ключевое слово private. Структура - это набор данных, где данные могут быть разного типа. Например, структура может содержать несколько переменных типа int и несколько переменных типа char. Переменные, которые содержаться в структуре называются членами или полями структуры. Структуры можно определять с помощью ключевого слова struct.
Любая структура в языке си (c) должна начинаться с ключевого слова - struct, которое сообщает компилятору, что тут у нас будет структура. Все данные в структуре (struct) пишутся в фигурных скобках, и в конце ставится запятая с точкой (;). Советую сразу ставить запятую с точкой, что бы не было ошибок.
Как вы видите, в структуре (struct) у нас находятся данные различных типов, но они объединены в логическую связь, так как в моем примере они являются определенным школьным классом. Данные в структуре должны иметь уникальные имена, но в различных структурах можно использовать одинаковые названия.
Структура, которая создана выше не занимает в памяти компьютера места, так как мы, на самом деле, просто создали свой тип данных. Объявление структуры ни чем не отличается от объявления любого типа данных в языке си (c)
отжиманием.
Традиционно легким для изучения считаются циклы с пре и пост условиями. Их синтаксис такой:
а) Цикл с предусловием:
while (условие)
действие;
б)Цикл с постусловием
do
{
Действие;
}
while (условие выхода из цикла);
Обратите внимание на то, что в пункте а я указал всего одно действие. Их может быть много, тогда после скобок с условием ставятся операторные скобки {} (правило то же, что и в if). Тоже самое относится и к остальным циклам (исключение цикл с постусловием, так как там уже есть операторные скобки)
while (условие)
{Действие1;
Действие2;
}
Оператор цикла с постусловием в СИ
Оператор цикла с постусловием (сначала выполняется тело цикла, а затем проверяется условие) имеет следующий синтаксис:
do тело цикла while(условие);
Например, в следующем фрагменте программы осуществляется вычисление суммы ряда с точностью eps (вещественная переменная типа double, содержит значение погрешности вычисления)
Общий формат цикла do...while при простом операторе в теле цикла:
do оператор while(условие);
Если тело цикла состоит из составного оператора имеющего достаточно краткую запись, то тело цикла допускается указывать на той же строке, что и сам цикл:
do {оператор №1;... оператор №N;} while(условие);
Дата добавления: 2015-01-05; просмотров: 38 | Поможем написать вашу работу | Нарушение авторских прав |