Core2Duo
Aileden
IF Şart Cümlesi
Şart ifadesine bakılır. Eğer şart ifadesi sonucu doğru(TRUE=1) ise blok icra edilir. Şart ifadesinin sonucu yanlış (FALSE=0) ise blok icra edilmeden if cümlesinin sonundan programa devam edilir.Şart ifadesi parantez içerisine alınmalıdır. Blok, birden fazla cümleden oluşuyor ise blok işareti ( {...} ) içine alınmalıdır. Eğer blok, tek cümleden oluşuyorsa blok işareti kullanılmayabilir.(Tek işlem ise {..} blok işareti az da olsa bir zaman kaybına neden olmaktadır bu yüzden sınavlarda çok sorumuz gidiyor gerekli değilse kullanın yoksa program çalışsa bile verimli olmuyormuş)
Konuyu pekiştirmek adına birde örnek paylaşalım ;
Programımızı çalıştıralım ;
Kod:
if(şart koşulu)
{
işlem
}
Şart ifadesine bakılır. Eğer şart ifadesi sonucu doğru(TRUE=1) ise blok icra edilir. Şart ifadesinin sonucu yanlış (FALSE=0) ise blok icra edilmeden if cümlesinin sonundan programa devam edilir.Şart ifadesi parantez içerisine alınmalıdır. Blok, birden fazla cümleden oluşuyor ise blok işareti ( {...} ) içine alınmalıdır. Eğer blok, tek cümleden oluşuyorsa blok işareti kullanılmayabilir.(Tek işlem ise {..} blok işareti az da olsa bir zaman kaybına neden olmaktadır bu yüzden sınavlarda çok sorumuz gidiyor gerekli değilse kullanın yoksa program çalışsa bile verimli olmuyormuş)
Konuyu pekiştirmek adına birde örnek paylaşalım ;
Kod:
1.....#include<stdio.h>
2.....#include<conio.h>
3.....int yas;
4.....void main()
5.....{
6..... clrscr();
7..... printf(“Yasınızı Giriniz:”);
8..... scanf(“%d”,&yas);
9..... if (yas<=5)
10....printf(“Bebeksiniz!”);
11...if (yas>5)
12...printf(“Bebek değilsiniz!”);
13...getch();
14...}
Programımızı çalıştıralım ;
Kod:
[TABLE="align: center"]
[TR]
[TD="align: center"]Yaşınızı Giriniz: 4<-
Bebeksiniz![/TD]
[/TR]
[/TABLE]
[CENTER]
[/CENTER]
[TABLE="align: center"]
[TR]
[TD="align: center"]Yaşınızı Giriniz: 18<-
Bebek değilsiniz![/TD]
[/TR]
[/TABLE]
[CENTER]
[/CENTER]
Peki neden blok kullanmadık ? ;
Programda her iki if cümlesinde de bloklar tek cümleden oluştukları için blok işareti içine alınmamıştır.8. satırdaki scanf() cümlesiyle, integer tanımlanmış “yas” değişkenine alınan değer, ilkönce 9. satırdaki if cümlesiyle kontrol edilmektedir. Bu değer 5 ya da daha küçük ise 10. satırdaki printf() cümlesi icra edilecek ve ekrana “Bebeksiniz!” mesajı gelecek ve 11. satıra geçilecektir. Eğer değer 5’ten büyükse direk 11. satıra geçilecek ve yeni bir if cümlesiyle tekrar kontrol edilecektir. Eğer “yas” değişkeninin değeri 5’ten büyük ise 12. satır ile ekrana “Bebek değilsiniz!” mesajı yazılacaktır. Ve 13. satırdan devam edilecektir. Eğer “yas” değişkeninin değeri 5’ten küçükeşit değilse 12. satır icra edilmeden 13. satıra geçilecektir.
Peki şimdi Az önce yaptığımız örneği biraz değiştirerek blok kullanmayı gösterelim ;
Bir önceki örneğin 9,10,11 ve 12. satırlarını değiştirirsek,
Kod:
1.....#include<stdio.h>
2.....#include<conio.h>
3.....int yas;
4.....void main()
5.....{
6..... clrscr();
7..... printf(“Yasınızı Giriniz:”);
8..... scanf(“%d”,&yas);
9..... if (yas>40)
10... {
11... printf(“Yaslanıyorsunuz!”);
12... if (yas>60)
13... printf(“\nHatta yaslısınız!”);
14... }
15... getch();
16...}
Şimdi programımızı bir daha çalıştıralım ;
Kod:
Yaşınızı Giriniz: 45<-
Yaslanıyorsunuz!
Kod:
[TABLE="align: center"]
[TR]
[TD][CENTER]
[/CENTER]
[TABLE="align: center"]
[TR]
[TD="align: center"]Yaşınızı Giriniz: 65<-
Yaslanıyorsunuz!
Hatta yaslısınız!
[/TD]
[/TR]
[/TABLE]
[CENTER]
[/CENTER]
[/TD]
[/TR]
[/TABLE]
[CENTER]
[/CENTER]
Blok kullanmamızda ki durumu açıklayalım şimdi ;
9.satırdaki if bloğu içinde 1’den fazla cümle blok içinde olduğu için 10 ve 14. satırdaki blok işaretiyle blok içine alınmıştır. 9. satırdaki if cümlesiyle yaş değeri kontrol ediliyor. Eğer yas 40’tan büyükse 11. satırdaki printf() cümlesiyle “Yaslanıyorsunuz!” mesajı verilecektir ve 12. satıra geçilecektir. Eğer yas 40’tan küçükse doğrudan if bloğunun sonu olan 15. satıra geçilecektir.12.satırda “yas” değişkeninin değeri 60’dan büyükse 13. satırdaki printf() cümlesi ile bir alt satıra geçilerek ekrana “Hatta yaslısınız!” mesajı verilecektir ve 15. satırdan devam edilecektir.
Son bir örnekle konumuzu sonlandıralım ;
Kod:
:
:
if(10==10==10)
:
:
ifadesinin sonucu false(0) olacaktır. Çünkü “==” sorgusu soldan sağa doğru çalışır. Soldaki “10==10” sorgusunun sonucu true(1) olacaktır. Bu durumda 2. sorgu da “1==10” olacağından sonuc false(0) olacaktır.Yani programımızda if komutunun içinde işlem tanıtıp ona göre durumu analog olarak kullandırabiliriz yani 1 veya 0 gibi kullandırabileceğimiz bir komut olduğunu anlamış olduk..
Birşeyler öğretebildiysek ne mutlu bize başka bir rehber konumuzda buluşmak üzere iyi forumlar...
-Core2Duo // Maxigame.org