algorİtma ve programlama (bölüm 3) · pdf filec dilinin temel özellikleri : c,...
TRANSCRIPT
ALGORTMA VE
PROGRAMLAMA
(Blm 3)
1
C PROGRAMLAMA DL C Nasl Bir Programlama Dilidir?
C orta dzey bir programlama dili olarak son
derece esnek kullanml bir dildir.
C, bir Assembly dili derleyicisinin salad
esneklik ve gc salarken st dzey bir
programlama dilinin salad kolay
anlalabilirlik zelliini de sunmaktadr
2
C Dilinin Temel zellikleri :
C, olduka fazla sayda ifade ve denetim
komutlar bulunduran bir programlama
dilidir.
Ancak, dikkatli yazlmaldr.
Zira hatal veya eksik bir iaret
programmz doru altrmayacaktr.
3
C PROGRAMLAMA DL (Devam)
Balarken
Program Yazma, Derleme ve altrma:
nemli olan, nce basit bir program yazp
derleyebilmek, altrabilmek ve elde edilen
sonular grebilmektir.
Yazma, Derleme ve altrma kullandmz
ortama bal olmakla birlikte genellikle kolay bir
ekilde yaplabilir.
C PROGRAMLAMA DL (Devam)
Balarken
4
C dilinde yazlan programn uzants (.c) dir.
C dilindeki program (derleyici, balayc ve
Ktphane fonksiyonlar ile) nce (.obj),
sonra (.exe) uzantl olur
Bylece (.exe) uzants dolaysyla PC de
yrtlebilir hale gelir.
5
C PROGRAMLAMA DL (Devam)
Balarken
C PROGRAMLAMA DL (Devam)
Balarken
6
C de bulunan pek ok fonksiyonun
kullanlabilmesi iin baz ktphane balk
dosyalarnn programa eklenmesi gerekir.
Karkl nlemek adna programlarmzda
gsterilmeyecek olan bu dosyalardan en
temel ve nemli olan:
#include eklindedir
C PROGRAMLAMA DL (Devam)
Balarken
Bu balk dosyasndan baka ileri matematik ilemlerde kullanlan
#include
Yine rastgele say retmek, sralama yapmak vb. ilemlerde kullanlan
#include
gibi farkl balk dosyalar mevcuttur
htiyaca gre bu ifadelerin main()
ncesinde programn bana eklenmesi gerekir.
C PROGRAMLAMA DL (Devam)
Balarken
IDE (Tmleik Gelitirme Ortam):
Tmleik Gelitirme Ortamlar, Derleyicileri
Balayclar tek bir ortam iinden
kullanabilmeyi salarken
Ayrca Hata ayklama (debug), Gzlem
penceresi (watch) gibi bileenlere sahiptirler.
C PROGRAMLAMA DL (Devam)
Balarken
9
C PROGRAMLAMA DL (Devam)
Balarken
IDElerde yazm ilemini kolaylatracak
vurgulamalar, uyarlar ve yardm menleri
mevcuttur.
Derleyici ve Balayc parametreleri
menlerden ayarlanabilir.
Her yazlm dilinin kendi IDE si mevcuttur
10
lk Program: C de Programlamay renmeye balarken
ska kullanlan bir ifade olan Merhaba C yi ekrana
yazdran bir mini rnek programla balayalm:
main() {
printf(Merhaba C\n) ;
}
Not: Daha evvel de belirtildii gibi yukardaki printf() fonksiyonunun
alabilmesi iin main() den nce #include ktphane balk dosyasnn eklenmesi gerekir.
Dersimizdeki rneklerde bu dosya eklenmeyecektir; ancak bilgisayarda
derleme yapmadan nce programda kullanlan fonksiyonlara gre bu
ve benzer dosya/dosyalarn ilve edilmesi arttr.
11
C PROGRAMLAMA DL (Devam)
Balarken
Bu programn Ekran kts;
Merhaba C
eklinde olur.
Not:
main ngilizcede ana, asl anlamndadr.
printf() ekrana yazdrmak iin kullanlan bir
fonksiyondur.
12
C PROGRAMLAMA DL (Devam)
Balarken
Her komuttan (fonksiyondan/deyimden) sonra
; iareti konulmas arttr.
\n Merhaba C ifadesinden sonra satr atlatr.
{ ve } kme parantezleridir. main() fonksiyonu fonksiyonlar/deyimleri bunlarn iine yazlr.
13
C PROGRAMLAMA DL (Devam)
Balarken
Bir C program boyutu ne olursa olsun bir ya da
daha fazla fonksiyon denilen bloktan oluur.
C Dilinde olmazsa olmaz fonksiyon (blok)
main() fonksiyonudur (bloudur *).
Program her zaman bu main() adl
fonksiyondan almaya balar.
Not: Bundan sonra blok yerine fonksiyon ifadesi
kullanlacaktr.
14
C PROGRAMLAMA DL (Devam)
Balarken
Genelde fonksiyonun yanndaki parantez iinde
parametreler (argmanlar) yer alr. rn:
printf(Merhaba C\n) ;
ifadesindeki Merhaba C\n gibi
Not: main() fonksiyonunun herhangi bir parametresi
olmadndan parantezi botur. Parametre yoksa
parantez iine void ifadesi de yazlabilir. 15
C PROGRAMLAMA DL (Devam)
Balarken
Fonksiyonlar arasnda haberleme ve
(varsa)deerlerin aktarm parametreler
(argmanlar) maharetiyle gerekleir.
Fonksiyonlar ad yazlan yerde
arlr(alr).
(Varsa) elde edilen sonular kendisini
aran fonksiyona gnderilir.
16
C PROGRAMLAMA DL (Devam)
Balarken
printf() FONKSYONU
printf(Merhaba C \n);
satr (deyimi) ad printf olan bir fonksiyon
arr.
Not :printf() ekrana bir bilginin yazlmasn salayan bir ktphane fonksiyonudur ve
standart C arivinin (ktphanesinin) bir
parasdr.
C PROGRAMLAMA DL (Devam)
printf() fonksiyonu
17
printf() fonksiyonu asla otomatik
olarak yeni bir satra gei salamaz.
Aadaki program nceki rnekteki ile ayn
kty verecektir :
main() {
printf(Merhaba ) ;
printf(C ) ;
printf(\n) ;
}
C PROGRAMLAMA DL (Devam)
printf() fonksiyonu
18
Benzer ekilde
\n satr atlatt gibi
\t tab iin,
\b geriye doru silme (krsr bir karakter ne alma) ilemi iin (Backspace),
\ ift trnan kendisini yazdrmak iin kullanlr.
Bunlar grnmeyen kontrol karakterlerdir.
Ekrandaki kty kontrol etmektedirler.
C PROGRAMLAMA DL (Devam)
Baz Kontrol Karakterleri
19
Mesaj ile birlikte bir deikenin deerini
ekrana yazdrmak iin yine printf() fonksiyonu kullanlabilir.
lk rnek Merhaba C de olduu gibi sadece
mesaj ve deikenin biimi ift trnak iine
alnarak belirtilir.
C PROGRAMLAMA DL (Devam)
printf() fonksiyonu
20
printf() fonksiyonu ile hem mesaj
hem de deiken deeri birlikte yazlabilir.
rnek: Ekranda sonuc adl desimal bir deiken
yazdrlacaktr. Bunun iin nce sonuc= ifadesi,
bu ifadenin hemen yanna bu deikenin deeri
yazlacaktr. Deiken deerinden sonra dir.
eklenecektir.
Gerekli printf() deyimini (komutunu) yaznz.
C PROGRAMLAMA DL (Devam)
printf() fonksiyonu
21
Cevap:
printf(sonuc= %d dir.,sonuc);
Not: Yukardaki printf() fonksiyonu ile sonuc adl
deikenin deeri sonuc= ifadesinin yanna (%d nin
yerine) yazlmakta sonra da dir. eklenmektedir.
22
C PROGRAMLAMA DL (Devam)
printf() fonksiyonu
Burada %d , deerin desimal olarak
yazlacan belirtir.
Ekranda sonuc deikeninin deeri komuttaki
%d nin yerine yazlr.
Bu durumda Ekran kts, (sonuc deeri 25
olsun)
sonuc=25 dir. eklinde olur.
23
C PROGRAMLAMA DL (Devam)
printf() fonksiyonu
rnek: Daha nce hesaplanm m deikeni
Sayi= ve n deikeni Karekoku=
ifadelerinden sonra ekrana yazdrlmak
istenmektedir. m deikeni desimal
(tam say), n deikeni ondalkl
(virgll) say olacaktr. Tek bir printf()
ifadesini ve Ekran ktsn yaznz.
Not: Ondalkl say iin %f kontrol karakteri kullanlr.
24
C PROGRAMLAMA DL (Devam)
printf() fonksiyonu
Cevap:
printf(Sayi= %d Karekoku=%f ,m,n);
eklinde olabilir.
Ekran kts :
( m=5 ve n= 2.236076 deiken deerleri girildii durumda)
Sayi= 5 Karekoku= 2.236076
C PROGRAMLAMA DL (Devam)
printf() fonksiyonu
25
Yukarda grld gibi %d , %f vb. gibi yazdrma
kontrol karakterleri dndaki ift trnak iindeki
karakterler kta aynen yazlr.
Parantezde ka deiken varsa o kadar kontrol karakteri
olmaldr. (rnekte: m ve n iin %d ve %f )
Not : Eer kesirli olan (n) deikeni iin kontrol karakteri
olarak %f yazlmayp %d eklinde yazlsayd
2.236076 says yerine ktda sadece 2 (tam say
ksm) olarak grlecekti.
C PROGRAMLAMA DL (Devam)
printf() fonksiyonu
26
printf() komutu iinde yaygn olarak kullanlan
baz yazdrma kontrol karakterleri yledir:
%c : tek karakter [ rn: M ]
%d : desimal (tam say) [ rn: -326]
%u : iaretsiz desimal [ rn: 476] (Sadece pozitif saylar)
%f : ondalk kayan nokta [ rn: 314.2857]
%e : bilimsel (sl) gsterim [ rn: 3.142857e+002]
%x : heksadesimal [ rn: 3F ]
%s : karakter katar [ rn: ADRES ]
C PROGRAMLAMA DL (Devam)
printf() fonksiyonu
27
C PROGRAMLAMA DL (Devam)
scanf() fonksiyonu
scanf() FONKSYONU: