1. Czym są instrukcje warunkowe?
Każdy program jest wykonywany linia po linii, w kolejności, w jakiej został napisany. Dzięki instrukcjom warunkowym, możemy przejść do wykonywania innej części kodu jeśli podany warunek został spełniony ( jeśli zwróci wartość true ). W przeciwnym razie instrukcje są pomijane.

2. Instrukcja if
Instrukcja if umożliwia sprawdzenie czy dany warunku został spełniony (na przykład, czy dwie zmienne są równe) i przejście do wykonania innej części kodu. Schemat działania instrukcji if, można przedstawić w taki sposób : 

Można to odczytać jako : „Jeśli wyrażenie jest prawdą, to wykonaj instrukcje”. Oto przykład proste instrukcji if:

Ten kod sprawdza czy zmienna a jest równa jeden i jeśli tak jest, to wykonuje instrukcje przypisania sumy a i c do b.
Instrukcje if, mogą być też bardziej rozbudowane, dzięki zostawaniu bloków :

Jak widać, jeśli warunek zostanie spełniony, rozpocznie się wykonywanie całego bloku instrukcji. W tym przykładzie została użyta funkcja cout, która zostanie omówiona głębiej w którejś z kolejnych lekcji. Do tworzenia bloków używamy nawiasów klamrowych { }. Styl ich użycia jest dowolny tzn :

Jest to równoznaczne z :

Nie ma to znaczenia ponieważ podczas kompilacji, kompilator pomija wszystkie spacje, tabulatory i znaki nowej linii ( tzw. białe spacje ). Nie maja one znaczenia, jednak sprawiają, że kod jest bardziej przejrzysty.
W poprzedniej lekcji – „Operatory” poznaliśmy operatory relacji i operatory logiczne, które możemy wykorzystać w instrukcjach if. Ich użycie zostało opisane w poprzedniej lekcji, dlatego nie będe ponownie opisywał ich działania.

2. Instrukcja else
Instrukacja else wykonywana jest w przypadku nie spełnienia warunku przez instrukcje if. Jeśli warunek zwróci wartość false, to program przejdzie do wykonywania instrukcji else. Wzór można przedstawić następująco :

A oto przykładowy kod :

3. Złożone instrukcje z wykorzystaniem if i else
Można zauważyć, że łączenie if i else daje możliwość tworzenia zawansowanych instrukcji. Dzieki temu możemy zbudować nasze instrukcje jak sie nam podoba, w zależności od naszych potrzeb. Oto przykład :

4. Instrukcja switch
W poprzednim przykładzie zbudowaliśmy złożoną funkcje z wykorzystaniem if i else. Wyobraźmy sobie, że potrzebujemy sprawdzić czy jakaś wartość jest równa 1,2,3,4 itd. Czy potrzebujemy do tego dziesiątki ifów ? Nie. Instrukcja switch umożliwia podjęcie działań na podstawie jednej z wielu różnych wartości. Wzór funkcji można przedstawić tak :

Tak jak w instrukcjach if, wyrażenie i instrukcje są dowolne. Instrukcja case służy do przejścia do wykonywania instrukcji, jeśli jej wartość jest równa wartości wyrażenia. Zauważmy, że instrukcje case nie są objęte w blokach instrukcji, dlatego musimy poinformować kompilator o zakończeniu instrukcji. Do tego celu służy break. Stawaimy go po każdym case ( nawet jeśli nie zawiera instrukcji ). Instrukcja default określa co zrobić w przypadku, jeśli żadna z wartość case nie będzie równa wartości wyrażenia. Oto przykład użycia switch :

Autor: Drazek