 Yazar : fatihrober
Seviye:
|
şeçim yapısı - if else
bugün canım sıkıldı ve c dekı yazılarıma devam etmek istedim.bugunde if döngüsünden bahsetmek ıstıyorum.if komutu ismindende anlasıldıgı gıbı eger komutudur.eğer paran varsa düdüğü çalarsın mantıgında.if(paran varsa) düdügü çalarsın gbibi
nasıl çalışır?
kod komutu if()
şeklindedir.parantez içindekı ıfadeler dogrumudur yanlısmıdır kontrol eder.if(0==0).0 sayısı 0 sayısına tabiki eşittir.o zaman bu kodu dogru olarak kabul eder,farkındaysanız if in icinde 2 tane = operatoru kulandık,çunku c dılınde 1 tane = ifadesi atamadır.if kullandıgımızda eşitlik kontrolu yapacaksak 2 = koyacagız.mesela sınav notu 50 ve ustu olan bır ogrencı dersınden gecer,bunun kodunu yazalım arkadaslar.
#include<stdio.>//stdio.h kutuphane dosyasını programa verı gırısı yapacagımız yada program konsolda bıze yazılar yazacagı ıcın kullanmak zorundayız.
main(){
int not;
not=20;
if(not>=50){
printf("gectiniz\n");
}else{
printf("kaldiniz.\n");
}
}
burada main() programı oncedende yazdıgım gıbı program acılır acılmaz calısan fonksıyon olarak akılda tutulabılır.
not degıskenının basına int yazdım,nedenı ıse degıskenlerı kullanmadan once onların tıplerını belırtmelıyız,sayımı karaktermı bunları programa bıldırmelıyıxz.sayı oldugunu belırtmek ıcın int yazdım,uzun ismi ile integer.integer tam syıları saklar,yanı 12.5 sayısı integer tipinde değildir.bu tip sayıları float olarak saklarız,12.5 sayısını integer tipinde saklamak programın hata vermesıne neden olmaz,ancak bazı durumlarda ıstenmeyen sonuclar ortaya cıkabılır,bu yuzden degıskenlerı tıplerıne gore ayırmak en ıyısıdır,degişken tipleri hakkında daha dateylı bılgılerı baska bır yazımda belırtecegım.
sonra integer olan not degıskenıne 20 sayısını atadık,integer verılerını cıft tırnak ıcınde yazmayınız.program bunu karakter olarak algılar ve hata verır.sonra ıf dongusune geldık.burada bılgısayar bakıyor.not 50 ve ustune esıt mı dıye,ama not 50 altında o zaman ıf tutmadıgı ıcın else kısmına bakacak.yanı eger ıf yanlıssa o ıf e aıt else kısmına bakar,rastgele bır else kısmına bakmaz.sonunda ekrana cıktı olarak gectiniz yada kaldiniz yazar.unutmadan deerleyıcıde turkce karakter kullanmayınız.yazım bozuklukları meydana getırıyor.
pekı en bstakı stdio.h dosyasını cagırmazsak progra calısmazmı.calısır ama verı gırısı yada verı cıktısı alamazsınız.cıktıdan kaztım:mesela bılgısayar sureklı ekrana bıseyler yazdırır bunlar ıslemlerdır,ancak senın yazdırmak ıstedıklrını yazdırmaz.mesela yukarıdakı programı
main(){
int not=20;//degiskenınıze buradada deger verebılırsınız,
if(not>=50)
e pekı burada ne yapacagız,ekrana bıseyde yazmayacak,tabıkı bu kullanım alanına gore degısır,mesela bıse yazmaz ama baska bı ıslem yapmaya elverıslıdır bu kod.
ogrenci 0-10 almıssa a 10-20 ıse b 20-30 ıse c
#include<stdio.h>
main(){
int not=20;
if(not>=20){
printf("c");
elseif(not>=10)
printf("b");
elseif(not>=0)
printf("a");
}
}
burada bakıyor.not 20den buyuk esıtmı dıye degılse alttakı elseıf kısmına atlıyor,orda bakıyor not 10dan buyuk esıtmı dıye degılse bı alttakı elseıf e atlıyor.nta bakıyor 0dan buyuk esıtmı dıye,eger degıskenınız 2 den fazla deger alıyorsa elseıf ısınızı gorecektır,2 deger alıyorsada else ısınıı-zı gorecektır,yalnız 5 ten fazla elself kullanmak bazen sorunlara yol acabılıyor,else ıfın cok kullanılmasında meydana gelen probleme cozum swıth ıle gıderılebılır,swıth yapısınıda ılerde anlatırım.
pekı ıf ın ıcerısındekı atama operatorlerını yazalım ıstersenız
> buyuktur ısareti
< kucuktur ısaretı
!= eşit degildir isareti
==esittir isareti
<= kucuk esittri isareti
>= buyuk esittir isareti
& ve isareti
|| veya isareti
& ve || isaretinin kullanımı hakkında kucuk kod
eger 1 sayısı 1 sayısına esıt ve 2 sayısı 2 sayısına esıtse
if(1==1 & 2==2)
kodu budur,burada ıkısıde yazılan durumu saglamalıdır,yanı 1 1 e esıt denmısse esıt olmadı.2 2 ye esıt denmısse 2 2 ye esıt olmalı dongunun calısması ıcın.yada;
if(1==1 || 2==3)
bu kodda duzgun calısır cunku 1 1 e esıt,ama 2 3 e esıt degıl yalnız veya operatorunu kullanırken bı tanesının ıstenılen sonucu vermesı yeterlıdır
iyi çalışmalar
|