If yapıları ile kontroller yaparız.
Örnek olarak bir odanın sıcaklığı 25 derecenin üstüne çıktığında klimanın devreye girmesi için
bir program yazacak olursak if yapısının içine eğer sıcaklık büyük olursa 25’ten deyip
klimayı devreye sokabiliriz.
Bu yöntemle bilgisayarın performansından da daha fazla verim almış oluruz.
Örnek olarak;
#include<stdio.h>
#include<conio.h>
int
main(void)
{
char character;
printf("Bir karakter giriniz.\n");
scanf("%c",&character);
if(character =='a')
printf("Bu karakter a.\n");
getch();
return (0);
}
If yapısının içindeki kontrolden sonra eğer bu yapıya girmezse programıın yapmasını istediğimiz birşey(ler) olabilir.
Onun için de “else” yapısını ekleyeceğiz.
Örnek olarak;
#include<stdio.h>
#include<conio.h>
int
main(void)
{
char character;
printf("Bir karakter giriniz.\n");
scanf("%c",&character);
if(character =='a')
printf("Bu karakter a.\n");
else
printf("Bu karakter a degil.\n");
getch();
return (0);
}
If yapılarının içine yapılmasını istediğimiz birden fazla satır yazarsak
köşeli parantez açıp programın if yapısına girdikten sonra o parantezin
içindekileri çalıştırmasını sağlamalıyız.
Örnek olarak;
#include<stdio.h>
#include<conio.h>
int
main(void)
{
char character;
printf("Bir karakter giriniz.\n");
scanf("%c",&character);
if(character =='a')
{
printf("Bu karakter a.\n");
printf("Bu bir rakam degil.\n");
}
else
{
printf("Bu karakter a degil.\n");
printf("Bu bir rakam olabilir.\n");
}
getch();
return (0);
}
Eğer köşeli parantezleri koymazsak program if ve else yapılarına girse de girmese de
bu yapıların ilk satırından sonraki komutları çalıştırır.
Örnek olarak;
/* Karakter a olsa da olmasa da Bu bir rakam degil ifadesi ekrana basılacak. */
#include<stdio.h>
#include<conio.h>
int
main(void)
{
char character;
printf("Bir karakter giriniz.\n");
scanf("%c",&character);
if(character =='a')
printf("Bu karakter a.\n");
printf("Bu bir rakam degil.\n");
getch();
return (0);
}
Aynısı else için de geçerlidir.
Örnek olarak;
#include<stdio.h>
#include<conio.h>
int
main(void)
{
char character;
printf("Bir karakter giriniz.\n");
scanf("%c",&character);
if(character =='a')
printf("Bu karakter a.\n");
else
printf("Bu karakter a degil.\n");
printf("Bu bir rakam olabilir.\n");
getch();
return (0);
}
Else ifadesinden önce sadece if olmalıdır.
Eğer if ve else yapısı arasında bir komut varsa hata alırız.
Örnek olarak hatalı hali;
/* Yorum haline getirilen satır aktif edilirse if ve else yapısının arasında bir printf olduğuından
dolayı program hata verecektir.
Dolayısıyla if ve else yapılarını kullanırken köşeli parantez kullanımına dikkat etmeliyiz. */
#include<stdio.h>
#include<conio.h>
int
main(void)
{
char character;
printf("Bir karakter giriniz.\n");
scanf("%c",&character);
if(character =='a')
printf("Bu karakter a.\n");
// printf("Bu bir rakam degil.\n");
else
printf("Bu karakter a degil.\n");
printf("Bu bir rakam olabilir.\n");
getch();
return (0);
}
Örnek olarak doğrusu;
#include<stdio.h>
#include<conio.h>
int
main(void)
{
char character;
printf("Bir karakter giriniz.\n");
scanf("%c",&character);
if(character =='a')
{
printf("Bu karakter a.\n");
printf("Bu bir rakam degil.\n");
}
else
{
printf("Bu karakter a degil.\n");
printf("Bu bir rakam olabilir.\n");
}
getch();
return (0);
}
Bir de else if yapısı vardır.
if(…)
else if(…)
else if(…)
else(…)
Program yukarıdaki kontrolleri sırayla dolaşır herhangi birisine girerse diğerlerine girmez.
Ancak if ve else if kontrollerinden hiçbirine girmezse ve else varsa son olarak
kesin else yapısının içine girer.
Örnek olarak;
#include<stdio.h>
#include<conio.h>
int
main(void)
{
char character;
printf("Bir karakter giriniz.\n");
scanf("%c",&character);
if(character =='a')
{
printf("Bu karakter a.\n");
printf("Bu bir rakam degil.\n");
}
else if(character == 'b')
{
printf("Bu karakter b.\n");
printf("Bu bir rakam degil.\n");
}
else
{
printf("Bu karakter a degil.\n");
printf("Bu bir rakam olabilir.\n");
}
getch();
return (0);
}