
- •Операції відношення
- •Цикл for
- •Ініціалізуючий вираз
- •Умова виконання циклу
- •Інкрементуючий вираз
- •Число виконань циклу
- •Кілька операторів в тілі циклу
- •Блоки і області видимості змінних
- •Виявлення помилок
- •Варіанти циклу for
- •Кілька ініціалізуючих виразів та умов циклу
- •Цикл while
- •Кілька операторів в циклі while
- •Пріоритети арифметичних операцій і операцій відношення
- •Цикл do
- •Вибір типу циклу
- •Розгалуження
- •Умовний оператор if
- •Кілька операторів в тілі if
- •If всередині циклів
- •Оператор if...Else
- •Функція getche()
- •Умова з присвоюванням
- •Вкладені розгалуження if...Else
- •Оператор switch
- •Оператор break
- •Інший варіант програми з використання switch і ключового слова default
- •Порівняння switch I if...Else
- •Умовна операція
- •Логічні операції
- •Операція логічного і
- •Цілі величини в якості булевих
- •Інші оператори переходу
- •Оператор break
- •Оператор continue
- •Оператор goto
- •Підсумок
- •Питання
Розгалуження
В С++ існує кілька типів розгалужень, найважливішим з яких є if...else, що здійснює вибір між двома альтернативами. В операторі розгалуження if...else використання else не є обов’язковим. Для вибора однієї з багатьох альтернатив використовується оператор розгалуження switch, дія якого визначається набором значень відповідної змінної. Крім того, існує так звана умовна операція. Ми розглянемо всі ці конструкції.
Умовний оператор if
Оператор if є найпростішим з операторів розгалуження. Далі приведена програма демонструє використання оператора if.
#include <iostream>
using namespace std;
int main()
{
int x;
cout<<”Vvvedit chyslo: “;
cin>>x;
if (x>100)
cout<<”x>100\n”;
return 0;
}
Після ключового слова if йде умова розгалуження, взята в круглі дужки.
Кілька операторів в тілі if
Як і для циклів, тіло розгалуження може складатися як з одного оператора, так і з багатьох операторів, включених в фігурні дужки. Далі приведений приклад такої програми.
#include <iostream>
using namespace std;
int main()
{
int x;
cout<<”Vvvedit chyslo: “;
cin>>x;
if (x>100)
{
cout<<”x>”;
cout<<”100\n”;
}
return 0;
}
If всередині циклів
Цикли і розгалуження можна використовувати спільно. Можна поміщати розгалуження всередину циклу і навпаки, використовувати вкладені розгалуження і вкладені цикли. Далі приводиться приклад, коли розгалуження if знаходиться всередині циклу for. Програма визначає, чи є введене число простим.
#include <iostream>
using namespace std;
#include<process.h>
int main()
{
unsigned long n,j;
cout<<”Vvedit chyslo ”;
cin>>n;
for (j=2;j<=n/2;j++)
if (n%j==0)
{cout<<”Chyslo ne proste, dilytsa na ”<<j<<endl;
exit(0); //вихід з програми
}
cout<<”Chyslo proste\n”;
return 0;
}
Програма містить функцію exit(), яка здійснює вихід з програми незалежно від того, в якому місці вона знаходиться. Ця функція не повертає значення. Її єдиний аргумент (в даному випадку 0) повертається викликаючому оточенню після того, як програма завершується. Як правило, повернення значення 0 свідчить про успішне завершення програми, а ненульове значення свідчить про помилки
Звернемо увагу на те, що тіло циклу не включене в фігурні дужки. Це пояснюється тим, що оператор if і оператори тіла розгалуження насправді є одним оператором. Можна додати фігурні дужки, щоб покращити читабельність коду, але це не обов’язковим.
Оператор if...Else
Оператор if дозволяє здійснювати дію в тому випадку, коли виконується певна умова. Якщо ж умова не виконується, то не виконується жодна дія. Однак частіше трапляються такі ситуації, коли нам необхідно здійснювати одну дію у випадку виконання умови та іншу дію у випадку її невиконання. Тоді виявляється корисним розгалуження if...else. Далі показаний його синтаксис
if (умова) statement; else statement;
if (умова)
{statement1;
...
statement n;
}
else
{statemente1;
...
statemente n;
}
Змінимо одну з попередніх програм, додавши до розгалуження esle-частину.
#include <iostream>
using namespace std;
int main()
{
int x;
cout<<”Vvvedit chyslo: “;
cin>>x;
if (x>100)
cout<<”x>100\n”;
else
cout<<”x<=100\n”;
return 0;
}