|
Якщо умова B істинна, то виконуються оператори S1, S2, …, Sn,
а потім виконується оператор T1, що слідує після оператора if.
Якщо умова B хибна, то блок S1…Sn пропускається і виконується лише T1.
if застосовують тоді, коли дія потрібна лише за виконання умови,
а в іншому випадку нічого робити не потрібно.
if … else if … else (або switch),
а не набір незалежних if.
if: можливий випадок, коли не виконається жоден#include <iostream>
using namespace std;
int main()
{
int x = 0;
if (x == 1) {
cout << "1";
}
if (x == 2) {
cout << "2";
}
if (x == 3) {
cout << "3";
}
cout << "END";
return 0;
}
Тут x = 0, тому жодна умова x == 1, x == 2, x == 3 не є істинною.
Виведеться лише END. Це нормально, якщо так і задумано.
Результат роботи програми

#include <iostream>
using namespace std;
int main()
{
int x = 0;
if (x == 1) {
cout << "1";
}
else if (x == 2) {
cout << "2";
}
else if (x == 3) {
cout << "3";
}
else {
cout << "Жоден з варіантів не підійшов";
}
cout << " END";
return 0;
}
if
можуть виконатися декілька блоків — це не “помилка мови”, а результат логіки умов.
if#include <iostream>
using namespace std;
int main()
{
int x = 0;
if (x == 0) {
cout << "1\n";
}
if (x < 1) {
cout << "2";
}
return 0;
}
За x = 0 істинні обидві умови: x == 0 і x < 1,
тому виконуються обидва оператори if.
Результат роботи програми

#include <iostream>
using namespace std;
int main()
{
int x = 0, y = 0;
if (x >= 0) {
y = 8;
}
if (x <= 0) {
y = 4;
}
cout << y;
return 0;
}
За x = 0 обидві умови істинні, тому y спочатку стане 8, а потім стане 4.
Наприкінці буде виведено 4.
Результат роботи програми

else належить до найближчого попереднього if,
який ще не має свого else.
if та if-else (це дозволено)#include <iostream>
using namespace std;
int main()
{
int x = 5;
if (x >= 0) {
cout << "8\n";
}
if (x <= 0) {
cout << "4";
}
else {
cout << "7";
}
return 0;
}
За x = 5 перший if виконається (бо x >= 0 істинна).
У другому блоці умова x <= 0 хибна, тому виконається else і буде виведено 7.
Результат роботи програми

#include <iostream>
using namespace std;
int main()
{
int x = 5, y = 0;
if (x >= 0) {
y = 8;
}
if (x <= 0) {
y = 4;
}
else {
y = 7;
}
cout << y;
return 0;
}
За x = 5 спочатку y = 8, а потім спрацює else другого оператора і y стане 7.
Виведеться 7.
Результат роботи програми
