
Оператор цикла
Общая форма оператора цикла с параметром
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.