Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
12_Inf_v3_Potopahin.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
102.91 Кб
Скачать

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

Общая форма оператора цикла с параметром

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

Выражение 1 вычисляется перед первым шагом цикла и может быть использовано для инициализации параметра цикла.

Выражение 3 вычисляется на каждом шагу цикла и может быть использовано для увеличения значения параметра цикла

Оператор выполняется до тех пока истинно Выражение2.

Все три описателя цикла могут быть пропущены. То есть язык С++ допускает такую запись цикла for (;;) эта запись не имеет смысла однако ошибки в этом не будет.

Ещё один пример. Сумма множества чисел

#include <stdio.h>

#include <iostream.h>

void main()

{ int n;

cin >> n;

int s=0;

for (int i=1;i<=n;i++)

{ int a;

cin >> a;

s+=a;

}

cout << s;

}

Существует также форма оператора цикла по условию. В С++ предусмотрено два цикла по условию. Цикл с предусловием (сначала проверяется условие затем выполняются операции тела цикла) и цикл с постусловием. Запишем пример приведённый выше с применением этих двух форм цикла.

Цикл с предусловием

Цикл с постусловием

#include <iostream.h>

void main()

{ int i,n,s;

s=0;

cin >> n;

i=1;

while (i<=n)

{ int a;

cin >> a;

s+=a;

i++;

}

cout <<s;

}

#include <iostream.h>

void main()

{ int i,n,s;

s=0;

cin >> n;

i=1;

do

{ int a;

cin >> a;

s+=a;

i++;

}

while (i<=n);

cout <<s;

}

Условный оператор

В С++ имеются два оператора работающие на выбор из возможных альтернатив. Это условный оператор if и оператор – переключения switch. Оператор if имеет следующую форму записи:

If (условие) оператор1; else оператор2;

Если условие истинно, то выполняется оператор1 иначе выполняется оператор2 или если ключевое слово else отсутствует, то оператор следующий за оператором if.

Условие в операторе формируется с помощью логических операций:

  • == равно

  • != не равно

  • > больше

  • < меньше

И логических связок:

  • && логическое И

  •  логическое ИЛИ

  • ! логическое НЕ

Пример.

int a=7;

if (! (a==5)) cout << “hello”

Условие в операторе имеет значение истина, поэтому результатом работы программы будет печать слова hello.

Более сложный пример. Дан массив чисел. Найти в нём наибольшее.

#include <stdio.h>

#include <iostream.h>

#include <conio.h>

void main()

{ int n,a[10];

cin >> n;

for (int i=1;i<=n;i++) cin >> a[i];

int max=a[1];

for (i=2;i<=n;i++)

if (a[i]>max) max=a[i];

cout << max;

}

Оператор переключения switch

Этот оператор полезен, если есть необходимость организовать выбор из нескольких альтернатив. Рассмотрим следующий пример:

#include <stdio.h>

#include <iostream.h>

void main()

{ int x;

cin >> x;

switch (x)

{ case 1: cout << "button1";break;

case 2: cout << "button2";break;

case 3: cout << "button3";break;

default: cout << “cccccc”;

}

}

В этой программе относительно переменной х предполагается, что она может принимать несколько значений. Если эта переменная примет значение 1, 2 ил 3 то будет выведено соответствующее сообщение. Если же значение переменной х будет какое-то иное, то будет выведено сообщение «сссссс».

Оператор break необходим для прерывания последовательности выполнения операторов в операторе switch. Без него управление передаётся на соответствующий case и затем выполняются все операторы следующие ниже. То есть при х=2 будут выведены следующие сообщения: button2, button3, cccccc.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]