ALGORİTMA VE PROGRAMLAMA (Bölüm 3) · PDF fileC Dilinin Temel Özellikleri : C, oldukça fazla sayıda ifade ve denetim komutları bulunduran bir programlama dilidir. Ancak, dikkatli

  • Upload
    buique

  • View
    233

  • Download
    2

Embed Size (px)

Citation preview

  • 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: