Program Kontrol İfadeleri Yrd. Doç.Dr. Nilgün GÜLER BAYAZIT
Program Kontrol İfadeleri Bazı ifade veya ifadelerin yerine getirilmesi belirli şart veya şartlara bağlı olabilir. Program içersinde bu tür ifadeleri işlemeden önce gerekli şartların kontrol edilmesi gerekir. Mantıksal operatörler kullanılarak yapılan kontrol ile şartın doğru olup olmadığı araştırılır ve sonuca göre ifadeler icra edilir.
Koşul İfadeleri ilişkisel ve mantıksal operatörler kullanılarak oluşturulur. İlişkisel Operatörler değerlerin karşılaştırılmasında kullanılır.
Koşul İfadesi Örnek:
if Komutu if komutu belirtilen koşul altında hangi komut veya komutların yürüleceğini belirleyen bir komuttur. Tek Yönlü if if (koşul_ ifadesi) komut; if komutunda ilk önce koşul ifadesinin değeri hesaplanır. Eğer koşul ifadesinin değeri sıfırdan farklı (doğru) ise komut yürütülür. Eğer koşul ifadesinin değeri 0 (yanlış) ise komut yürütülmez.
if Komutu
if Komutu Çift Yönlü if if (koşul_ifadesi) komut1; else komut2; Bu yapıda koşul_ifadesi sıfırdan farklı (doğru) ise komut1 yürütülür; koşul_ifadesi sıfır ise komut2 yürütülür.
if Komutu
Bileşik Komut Bileşik Komut içinde bir çok komut bulunduran tek bir komuttur. { komut1; komut2; . komutn; } Örnek: { printf(“Sayi giriniz: “); scanf(“%d”,&a); printf(“%d sayisinin karesi %d”,a,a*a); }
Örnek : Girilen sayının tek sayımı, çift sayımı olduğunu bulan program #include <stdio.h> main() { int a; printf(“sayıyı giriniz”); scanf(“%d”,&a); if(a%2==1) printf(“sayı tek sayıdır”); else printf(“sayı çift sayıdır”); }
İçiçe if Durum I:
İçiçe if Durum II:
İçiçe if Durum III:
İçiçe if Örnek:
if else Eşleşmesi “Her else en yakın eşleşmemiş if ile eşleştirilir.”
Örnek: 2’inci dereceden denklemin köklerini bulan program D=b*b-4*a*c; if(D>0) { x1=(-b+sqrt(D))/(2*a); x2=(-b-sqrt(D))/(2*a); printf(“x1=%f x2=%f”,x1,x2); } else if (D==0) { x1=x2=-b/(2*a); printf(“x1=x2=%f”, x1);} else printf(“reel kök yoktur”); #include <stdio.h> #include <math.h> main() { int a,b,c,D; float x1, x2; printf(“a katsayısını girin”); scanf(“%d”,&a); printf(“b katsayısını girin”); scanf(“%d”,&b); printf(“c katsayısını girin”); scanf(“%d”,&c);
Soru işareti operatörü ifade1? ifade2 : ifade3 Soru işareti operatörü kullanarak if komutu kullanarak int x=10, y; if(x>9) y=100; else y=200; int x=10, y; y=x>9 ? 100 : 200;
switch Komutu
switch Komutu Örnek: scanf(“%d”,&sinif); switch (sinif) { case 1: printf(“Birinci sinif ogrencisi\n”); break; case 2: printf(“Ikinci sinif ogrencisi\n”); case 3: printf(“Ucuncu sinif ogrencisi\n”); case 4: printf(“Dorduncu sinif ogrencisi\n”); case 5: printf(“Yuksek lisans ogrencisi\n”); default: printf(“Sinif bilgisi yanlis\n”); }
Örnek: aritmatik işlem yapan program switch(islem) { case ‘+’: sonuc=a+b; break; case ‘-’: sonuc=a-b; break; case ‘*’: sonuc=a*b; break; case ’/’: sonuc=a/b; break; default: printf(“yanlış işlem”); return 0; } printf(“sonuc=%f”,sonuc); #include <stdio.h> main() { int a,b; char islem; float sonuc; printf(“ilk sayıyı giriniz”); scanf(“%d”,&a); printf(“ikinci sayıyı giriniz”); scanf(“%d”,&b); printf(“işlem tipini giriniz”); scanf(“%s”,&islem);