Kullanımı aşağıdaki gibidir:
if(koşul){
işlemler
}
Örnek verelim:
int x=7,a;
if(x>3){
a=5; /* Burada x in 3 den büyük olduğunda if yapısındaki işlemlerin gerçekleşeceği anlamına gelir , yani a=5 olur.*/
}
Eğer x < 3 olsaydı:
int x=-3,a;
if(x>3){
a=5; /* Burada x 3 den küçük olduğundan şart sağlanmaz , bu yüzden x if yapısındaki işlemler dikkate alınmadan program devam eder */
}
Başka bir örneği inceleyelim :
int x,a;
scanf("%d",&x);
if(x>10){
a=6;
}
if(x<10){
a=5;
}
// Burada kullanıcıdan bir x sayısı girmesini istiyoruz eğer x>10 ise ilk if işlemleri , x<10 ise ikinci if işlemleri çalışacaktır. Eğer x=10 ise hiç bir if satırı çalışmayacaktır.
Başka bir örneği inceleyelim :
int x;
scanf("%d",&x);
if(x>10 && x<15){
printf("%d",x);
}
/* Burada && operatörü iki şartında bağlar , yani iki şartta geçerli olmalıdır eğer x>10 ve x<15 ise ekrana x in değerini yazdırır. x= 13 için ekrana 13 yazar, x=15 için 2. şart sağlanmadığından if yapısındaki işlem çalışmayacaktır. */
Başka bir örneği inceleyelim :
int x,a;
scanf("%d",&x);
if(x>10){
a=6;
}
if(x>15){
a=3;
}
/* Burada programın yukarıdan aşağıya doğru derlendiğine dikkat etmek gerekiyor. Eğer x>10 ise ilk if satırı çalışır ve a=6 olur , fakat x 15 tende buyuk ise ikinci if satırı çalışır ve a=3 olur. Yani x=13 ise a=6 olacaktır. x=17 ise a=3 olur.*/
int x,a;
scanf("%d",&x);
if(x>10){
a=6;
}
printf("%d",a);
if(x>15){
a=3;
}
printf("%d",a);
/* x=17 iken araya bir prinf koyarsak ilk ekrana 6 yazdırır sonraki if şartı da sağlandığından ekrana 3 yazdırır. */
ELSE
Kullanımı aşağıdaki gibidir:
if(koşul){
işlemler
}
else{
işlemler
}
Else, if şartına bağlı olarak çalışır . if deki koşul gerçekleşmediğinde else deki ifade işleme sokulur.
Örnek verelim:
int x,a;
scanf("%d",&x);
if(x>34){
a=43;
}
else{
a=1;
}
/* Burada x>34 ise a=43 olur, eğer x> 34 değilse yani if teki koşul sağlanmadı ise a=1 olur. */
Başka bir örneği inceleyelim :
int x;
scanf("%d",&x);
if(x>=45){
printf("Gecti");
}
else{
printf("Kaldı");
}
/* Burada x>=45 ( x 45 den büyük veya eşit) ise ekrana geçti yazar, eğer değilse ekrana kaldı yazar.*/
ELSE-IF
Kullanımı aşağıdaki gibidir:
if(koşul){
işlemler
}
else if(koşul){
işlemler
}
else{
işlemler
}
/* Else-if de de koşul vardır , if ten farkı , else if in if e bağlı olmasıdır. Yani ilk if şartına bakılır , koşul sağlandıysa diğer şartlar okunmaz koşul sağlanmadı ise bir sonraki şarta yani else if e bakılır , bu koşulda sağlanmadı ise en son else bakılır*/
Örnek verelim:
if(x>10){
a=3;
}
else if(x<10){
a=2;
}
else{
a=1;
}
/* Burada program yukarıdan aşağıya doğru okuyacaktır. İlk if te x>10 ise a=3 olacaktır . Eğer değilse ikinci şarta bakacaktır. x<10 mu? değilse en son else durumuna bakacaktır . Yani x=14 ise a=3, x=2 ise a=2 , x=10 ise a= 1 olacaktır */
Başka bir örneği inceleyelim :
#include <stdio.h>
#include <conio.h>
int main(){
int x,y,a,k;
printf("x i giriniz: ");
scanf("%d",&x);
printf("y i giriniz: ");
scanf("%d",&y);
printf("k i giriniz: ");
scanf("%d",&k);
if(x>10 && y==3){
printf("x = %d\ny = %d\n",x,y);
}
else if(x<10 || y!=3 ){
printf("x = %d\ny = %d\n",x,y);
}
else if(k>=7){
printf("k = %d\n",k);
}
else{
printf("Hello World");
}
return 0;
}
/* x , y, k değerlerimizi kullanıcıdan alıyoruz. ilk if satırındaki koşul x>10 ve y=3 olmalı aksi taktirde ikinci if yani x<10 veya y farklı 3 olmalı aksi taktirde 3. if yani k>= 7 olmalı aksi taktirde ekrana hello world yazdırır. Programın bir amacı yok tabi sadece if kavramını kavramamız için böyle bir örnek yaptım.
x=15 , y=3 ise k nın bir önemi yoktur ilk if satırı çalışır ve ekrana 15 ile 3 yazar.
x= 9 , y=3 ise ilk if satırı sağlanmaz x<10 dur. İkinci if satırındaki koşul x in 10 dan küçük veya y nin 3 ten farklı olmasıydı. y 3 ten farklı değil ama x<10 olduğundan bu koşul çalışır ve ekrana 9 ve 3 yazar. Eğer x=14 , y=4 olursa yine ikinci if satırı çalışır x<10 değil ama x!= 3 olduğundan koşul sağlanır.
x=10 y=3 k=10 ise ilk koşul sağlanmaz ikinci koşulda x<10 veya y!=3 olmadığından sağlanmaz.Bu yüzden 3. if koşuluna bakılır k>=7 olduğundan ekrana 10 yazacaktır.
x=10 y=3 k=4 ise ilk koşul sağlanmaz ikinci koşulda x<10 veya y!=3 olmadığından sağlanmaz.Bu yüzden 3. if koşuluna bakılır k>=7 koşulu sağlanmadığından else yapısı çalışır ve ekrana Hello World yazar .
*/
Not:
Eğer işlemler tek satırda yapılıyorsa süslü parantez kullanmaya gerek yoktur.
if(x>3) a=5;
else if(x<3) a=4;
else a=2;
gibi ama bu sadece tek satırlık işlemlerde kullanabileceğimizi unutmayınız.
Bu derste de benim söyleyeceklerim bu kadar bir daha ki ders görüşürüz.
Hiç yorum yok:
Yorum Gönder