Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций -=Вычислительная техника и прог...docx
Скачиваний:
11
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать
☆

3.7.2.2. Цикл с постусловием (do while)

Формат записи:

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

Вначале выполняется оператор (простой или составной), а затем вычисляется выражение. Если оно true, то тело цикла (оператор) выполняется еще раз, если false — цикл завершается. После завершения цикла программа переходит к операторам, следующим за циклом.

В качестве примера использования оператора do while можно привести программу проверки ввода символа в цикле:

#include <iostream.h>

void main ()

{

char answer ;

do { cout<<” \n Купи слоника! “ ; cin>>answer ;

} while (answer!=’Y’) ;

cout<<“\Спасибо за покупку!” ;

return ;

}

3.7.2.3. Цикл с параметрами ( for )

Формат записи:

for ( инициализация ; выражение ; модификации ) оператор ;

Инициализация — объявление и присвоение начальных значений величин, используемых в цикле.

В инициализаторе можно записать несколько операторов, разделенных запятой:

for (int i=0, j=1;…) … ;

или

int i, j ;

for (i=0, j=1;…) … ;

Выражение — условие выполнения цикла; если выражение равно true, то тело цикла выполняется, если false — цикл заканчивается.

Модификации — изменения переменных, которые входят в Выражение; модификации выполняются после каждой итерации цикла.

Оператор — может быть простым или составным (тело функции).

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

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

Пример:

for (int i=1, S=0; i<=50; i++) s+=i ; //сумма чисел от 1 до 50

Рекомендации по избеганию ошибок использования цикла:

1. проверить, все ли начальные значения инициализированы;

2. изменяется ли хоть одна переменная в цикле, входящая в условие выхода из цикла;

3. предусмотреть «аварийный» выход из цикла (например, при слишком большом количестве итераций);

4. не забывать использовать фигурные скобки { } для составных операторов в теле цикла.

В качестве примера можно привести программу, которая печатает таблицу значений функции y=x2+1:

#include <stdio.h>

int main ()

{

float Xn, Xk, Dx ;

printf ( “Введите диапазон и шаг изменения аргумента: ” ) ;

scanf ( “%f%f%f”, &Xn, &Xk, &Dx ) ;

printf ( “| x | y | \n” ) ;

for ( float X=Xn; X<=Xk ; X+=Dx )

printf ( “| %-5.2f | %-5.2f | \n”, X, X*X+1) ;

return 0 ;

}

3.7.3. Операторы передачи управления

Операторы передачи управления — это операторы изменяющие естественный порядок выполнения программы:

— goto — безусловный переход;

— break — прерывание;

— continue — пропуск;

— return — возврат из функции.

3.7.3.1. Оператор безусловного перехода goto

Формат записи:

goto метка ;

Кроме данной записи в теле той же функции должна присутствовать конструкция вида:

метка : оператор;

Метка — идентификатор, видимый внутри функции, представляющий из себя адрес программного кода, т.е. оператора, на который осуществляется переход.

Примечания.

Рекомендуется избегать применения оператора goto.

Функция goto используется:

— при принудительном выходе в нижнюю часть программы, которая состоит из нескольких вложенных циклов или переключателей;

— переход из нескольких мест функции в одно.