İçeriğe geç

C Programlama Öğreniyorum 4 | Or ve And Operatörleri

And(&) Operatörü

Tanımsal kısmına girmeden anladığım kadarıyla mantığını yazayım kısaca. Diyelim ki if parantezi açtık ve iki şart belirttik arasına da & koyduk. “Ve” anlamına gelen bu işareti koyduğumuzda, o belirttiğimiz iki şartın da yerine getirilmiş olması gerekiyor. Aşağı yazdığım if else örnekleri ile daha anlaşılır olacaktır.

& ve && arasındaki fark:

&: İlk şart sağlanmasa bile devamındaki şartlara da bakar.

&&: İlk yazılan şart sağlanmadığında devamındaki şarta bakmadan, diğer işleme geçerek devam eder.

Or( | ) Operatörü

Yazdığımız 2 şarttan sadece birinin sağlanmış olması yeterlidir.

| ve || arasındaki fark:

|: İlk şart sağlandığında ( bu yazdığımız program için yeterlidir ) diğer şartı da kontrol eder.

|| : İlk şart sağlanırsa diğerine bakmaya gerek duymadan if yapısının içindeki fonksiyonu devreye sokar.

| ve || arasındaki farkı daha iyi görebilmemiz için küçük bir örnek:

If else yapılarını 2. yazımızda  görmüştük. Şimdi birkaç örnekle daha detayına inelim

Kullanıcıdan girilen 3 sayının en büyüğünü çıktı olarak verme:

Printf ve scanf’i ayrıntılarıyla ilk yazıda gördüğümüz için direkt 8.satırdan kodu incelemeye başlayalım. a,b,c sayılarından en büyüğünü bulmaya çalışıyoruz.

İlk if parantezinde a>b ve a>c şartları var.

Burada kullandığımız && operatörü ile a>b şartına bakılır.

Eğer a>b ise a>c şartına bakılır.( Çünkü && operatöründe ikisinin de sağlanması gerekiyor).

a>c şartı da sağlandığında; yani a hem b’den hem c’den büyükse program a’nın en büyük olduğuna karar verir ve “a sayısı en büyüktür” şeklinde çıktı verir.

Eğer a>b değilse direkt 10.satıra geçiyor ve b’nin c’den büyük olup olmadığına bakıyor. Zaten 8.satırda b’nin a’dan büyük olduğunu saptadığı için b c’den de büyükse; en büyük sayıyı b diye karar kılıyor.

Son ihtimal olarak; eğer ki b c’den büyük değilse (c b’den büyük olacağından) c > b > a şeklinde sıralanıyorlar. En büyük c’dir şeklinde de çıktı alıyoruz.

?: Operatörü Kullanımı

Önce ?: ‘nin kullanım şeklini görelim.

(koşul yazılır ? koşul sağlanırsa çıktılanacak değer : koşul sağlanmazda çıktılanacak değer);

Yani if anlamında ?; else anlamında : kullanılıyor.

Yukarıda ise, bir önceki yaptığımız örneğin ?: operatörü kullanılarak yazılmış hali mevcut. Burayı inceleyerek de kullanımını daha rahat anlayabiliyoruz.

Örnek:

Bu örnekteki amaç şu: Kişinin eğer partneri varsa 18 yaşından küçük olsa da olur. Ama partneri yoksa 18 yaşından büyük olmak zorunda.

Char’ ı da kullanmışken değişkenleri bir öğrenelim.

 TİP   DEKLARASYON    printf(  );   scanf(  );    Minimum   Maksimum   Byte 
 Karakter  char degisken;  printf(“%c”,degisken);   scanf(“%c”,&degisken);  -128 127 1
 Kısa Tam Sayı short degisken;  printf(“%d”,degisken);  scanf(“%d”,&degisken); -32768 32767 2
 Tamsayı  int degisken;  printf(“%d”,degisken);   scanf(“%d”,&degisken);  -32768 32767 2
Uzun Tamsayı long int degisken; printf(“%ld”,degisken); scanf(“%ld”,&degisken); -2147483648 2147483647 4
İşaretsiz Tamsayı unsigned int degisken; printf(“%u”,degisken); scanf(“%u”,&degisken); 0 65535 2
İşaretsiz Uzun Tamsayı long unsigned degisken; printf(“%lu”,degisken); scanf(“%lu”,&degisken); 0 4294967295 4
Virgüllü Sayı float degisken; printf(“%f”,degisken); scanf(“%f”,&degisken); 1,17549e-38 3,40282e+38 4
Uzun Virgüllü Sayı double degisken; printf(“%lf”,degisken); scanf(“%lf”,&degisken); 2,22504e-308 1,79769e+308 8

Tablo kaynak: http://www.cagataycebi.com/programming/c_programming/c_programming_2.html

Şunu da belirteyim. Bu yazılarla kesinlikle birine eğitim vermeyi vs amaçlamıyorum. Sadece programlama dersinden öğrendiklerimizi kendi anladığım bir şekilde sitemde depoluyorum, yani yanlış bir bilgi yazdıysam kusura bakmayın. Yorum yaparak bu hatalardan beni haberdar edebilirsiniz.

İlk Yorumu Siz Yapın

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak.