Karar verme kontrol deyimleri verilen şartı kontrol eder ve istenen sonuca göre istenen işlemleri yapar. C dilinde karar verme komutları; if, if else ve switch case’dir.
“if” Deyimi
1 2 3 4 |
if(şart) { komut veya komutlar; } |
if deyiminin içerisinde ki şart doğru(true) ise deyim içerisindeki komut çalışır, şart yanlış(false) ise komutları pas geçer.
1 2 3 4 5 |
int a = 5; if(a > 0) { a = 10; } |
Örnekte a adında içeriği 5 olan tam sayı değişkeni tanımlanmıştır. if deyimi içerisindeki şart a, 0 sayısından büyük müdür? Büyük olduğu için şart doğrulanır ve içerideki komut çalıştırılır. a değişkeninin yeni değeri 10 olur.
1 2 3 4 5 |
int x = 15; if(x == 20) { x = 5; } |
Örnekte x değişkeni içeriği 15dir. Şart x eşitmidir 20ye. Şart yanlış olduğu için program deyim içerisine girmeden sırada ki komuta atlar.
“if-else” Deyimi
1 2 3 4 5 6 7 8 |
if(şart) { komut veya komutlar; } else { komut veya komutlar; } |
if-else deyimi söz dizimi olarak if deyimine benzemektedir. if-else deyiminde şart doğru ise if deyiminin altındaki komut, şart yanlış ise else kelimesinin altında ki komut çalıştırmaktadır.
1 2 3 4 5 6 7 8 9 |
int x = 5; if(x > 10); { printf("X 10'dan büyüktür"); } else { printf("X 10'dan küçüktür"); } |
Örnekte x adında içeriği 5 olan tam sayı tanımlanmıştır. if içerisinde x 10’dan büyük müdür? şartı kontrol edilmiştir. x 10’dan büyük ise ekrana “x 10’dan büyüktür”, değilse “X 10’dan küçüktür” yazılacaktır. x 10’dan büyük olmadığı için şart yanlış kabul edilecek ve else altındaki komut çalışacaktır. Dolayısı ile ekrana “X 10’dan küçüktür” yazılır.
“switch-case” Şartlı Dallanma Deyimi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
switch(ifade) { case sabit1: komut veya komutlar; break; case sabit2: komut veya komutlar; break; ..................... case sabitn: komut veya komutlar; break; default: komut veya komutlar; break; } |
Verilen ifadeye göre programın akışını istenen seçeneklere yönlendirmek için kullanılır.
switch kelimesinden sonra verilen değişken char veya integer tipinde bir değer olabilir,
case kelimesinden sonra sadece integer veya char tipinde sabit kullanılabilir.
1 2 3 4 5 6 7 8 9 10 11 12 |
switch(gelen) { case 1: x=1; break; case 2: x=2; break; default: x=0; break; } |
Örnekte gelen değişkenine bakılır içeriği 1 ise x değişkeni 1 olur, içeriği 2 ise x değişkeni 2 olur, gelen değişkeni bunlarında dışında bir değer ise x değişkeni 0 olur.