1 Ocak 2014 Çarşamba

C dili Giriş - Ders1

Ders1: Giriş

Dersin bu kısmında C programlama dilinin basit yapısı temel örneklerle anlatılmıştır. Gerekli olan bilgiler sade bir şekilde verilmiştir. Ayrıntılar ise bu dersin sahasının dışındadır. Eğer C dışında herhangi bir programlama dili biliyorsanız, bu kısımda anlatılan kısımları daha hızlı bir şekilde kavrayabilirsiniz. Eğer C dilini orta seviyede biliyorsanız bu kısmı atlayabailirsiniz.
C
C Programlama Dili genel amaçlı orta seviyeli ve yapısal bir programlama dilidir. 1972 yılında Dennis Ritchie tarafından Bell Telefon Labaraturvarında tasarlanmıştır. C, özellikle sistem programlamada sembolik makine dili(Assembler) ile tercih edilmektedir. İşletim sistemleri, derleyiciler ve debug programları gibi aşağı seviyeli sistem programlarının yazılımında yoğun olarak C programlama dili kullanılır.
Bu dil ilk olarak bir programlama dili olarak düşünülmemişti ve özel bir amacı vardı: UNIX işletim sistemini tasarlamak (UNIX işletim sisteminin 1000 satırlık bölümü C ile yazılmıştır). Günümüzde Nesneye Yönelik programlama dilleri (C++, Java gibi) ve script dilleri (JavaScript, JavaApplet, PHP gibi) gibi programlama dilleri tamamen C tabanlıdır. Kısacası Standart C dilini (ANSI C) ogrenmekle bu dillerin tamamına iyi bir hazırlık yapmış olursunuz. Derlerimizde tamamen ANSI C konu edilmiştir.
Neden C?
  • C güçlü ve esnek bir dildir. C ile işletim sistemi yazabilir, kelime işlemciler oluşturabilir veya grafik çizebilirsiniz.
  • C taşınabilir bir dildir. Yani herhangi bir C kodu hiçibir değişikliğe uğramadan, veya çok az bir değişimle, başka bir derleyicide derlenebilir. Örneğin, Windows işletim sistemlerinde yazılan bir C kodu, Linux, UNIX veya VAX gibi işletim sistemlerinde de derlenebilir.
  • C yapısal bir dildir. C kodları fonksiyon olarak adlandıralan altprogramlardan oluşmuştur.
Kaynak Kodunun Derlenmesi
C kaynak kodları(programları) uzantısı .c olan dosyalarda saklanır ve derlenir. Bazı işletim sistemleri ile kullanılan C Derleyicileri ve bu derleyicilerde ilk.c dosyasının nasıl derlendiği Tablo 1.1 de verilmiştir.
Not: Eğer ismi geçen derleyicinin bir editörü varsa ilk.c bu editör de derlenebilir.
Tablo 1.1 : İşletim sistemleri, bazı derleyiciler ve derleme komutları
Işletim Sistemi Derleyici Komut Çalıştırma
MS-DOS / Windows Microsoft C cl ilk.c ilk.exe
Borland Turbo C tcc ilk.c ilk.exe
Borland C bcc ilk.c ilk.exe
Zortec C ztc ilk.c ilk.exe
UNIX Tabanında var cc ilk.c run ilk
Linux Tabanında var c ilk.c run ilk
Borland TurboC-2.01 derleyicisini Buradan indirebilirsiniz.

İlk C Programı
Program 1.1 de verilen C programı derlendikten sonra, ekrana 'Merhaba Dünya!' yazacaktır. Satır başlarına yerleştirilen 1:, 2: 3: ... rakamlarının yazılmasına gerek yoktur. Bu rakamlar sadece programdan daha sonra program ile ilgili açıklama yapılırken, ilgili satirda bulunan kodlar izah edilirken, kullanılacaktır.
Program 1.1 : Derlendikten sonra ekrana Merhaba Dünya! yazar
1:  /* ilk.c programi */
2:  #include <stdio.h>
3:
4:  main()
5:  {
6:      printf("Merhaba Dünya!\n");
7:      return 0;
8:  }

ilk.c nin Borland Turbo C Derleyicisi ile derlenmesi ve çalıştırılması:
Editörde               -> Ctrl+F9
MS-DOS komut satırında -> tcc ilk.c [RETURN]
                          ilk.exe   [RETURN]
ilk.c nin çıktısı:
Merhaba Dünya!
ilk.c programı da verien 1. satırda /* ... */ ifadeleri görülmektedir. Bu ifadeler arasında yazılan herhangi bir metin, işlem vb. satırlar, derleyici tarafından işlenmez(görülmez). Yani /* */ ifadeleri açıklama operatörüdür. 2. satırda yazılı olan #include ifadesi, programda eklenecek olan başlık dosyanını işare eder. Bu örnekte verilen başlık dosyası (header file) stdio.h dir. Bu dosya standard giriş çıkış kütüphane dosyasıdır (STandarD-Input-Output). Bu tip dosyaların uzantısı .h dir. Bu dosyalar Başlık Dosyaları kısımlarında daha ayrıntılı olarak incelenecektir. 4. satırdaki main() ve 6. satırdaki printf() birer fonksiyondur. main() özel bir fonksiyondur ve programın yürütülmesine bu programdan başlanır. Dolayısıyla her C programında bir tane main() adlı fonksiyon olmalıdır. printf() ise standart kütüphane bulunan ekrana yazdırma fonksiyondur. stdio.h bu fonksiyon için kullanılmıştır. 7. satırdaki return 0 ifadesi programın sonlandığını göstermek için kullanılır. Çoğu zaman kullanılmasına gerek yoktur.
C Kodlarının Temel Özellikleri
Bir C programı aşağıda verilen özellikleri mutlaka taşımalıdır.
  • Her C programı main() fonksiyonunu içermelidir.
  • Satırın sonuna ; işareti konmalıdır.
  • Her fonksiyonun başlangıcı ve bitişi sırasıyla { ve } sembolleri ile belirlenir.
  • C dilinde yazılan kodlarda küçük-büyük harf ayrımı vardır (case sensitive). Örneğin A ile a derleyici tarafından farklı değerlendirilir.
  • Açıklama operatörü /* */ sembolleridir.
  • Değişken isimleri en fazla 32 karakterden oluşabilir. 32 karakterden uzun değişken isimlerinin ilk 32 karakteri değerlendirilir. Geriye kalan karakterler işleme tabi tutulmaz.
  • Değişken adları ingiliz alfabesinde bulunan karakterler (A-Z) veya (a-z) ile yazılmalıdır.
  • Değişken adları herhangi bir rakam ile başlayamaz. Ilk karakter bir harf olamalıdır.
  • Aşağıda verilen kelimeler C deyimleridir ve değişken ismi olarak kullanılamaz.
    auto      enum      short    volatile
    break     extern    signed   while
    case      float     sizeof
    char      for       static
    const     goto      struct
    continue  if        switch
    default   int       typedef
    do        long      union
    double    register  unsigned
    else      return    void
    
Kod Yazımı için Bazı Tavsiyeler
  • Program açıklamaları ve döküman hazırlama program yazıldıkça yapın! Bu unutulmaması gereken çok önemli husustur.
  • Değişken, sabit ve fonksiyon adları anlamlı kelimelerden seçilip yeterince uzun olmalıdır. Eğer bu isimler bir kaç kelimeden oluşacak ise, kelimeler alt çizgi ( _ ) ile ayrılmalıdır veya her kelime büyük harfle başlamalıdır. Örneğin:
     int son_alinan_bit;
     void KesmeSayisi();
     float OrtalamaDeger = 12.7786;
    
  • Sabitlerin bütün harflerini büyük harfle yazın. Örneğin:
     #define PI = 3.14;
     int STATUS 0x0379;
    
  • Her alt yapıya girerken TAB tuşunu kullanın. Bu okunabilirliği arrtıracaktır. Örneğin:
     for(i=0;i<10;i++)
     {
           for(j=0;j<i;j+=2)
           {
                 do{
                       k = i+j;
    
                   }while(k!=0);
           }
     }
    
  • Aritmetik operatörler ve atama operatörlerinden önce ve sonra boşluk karakteri kullanın. Bu, yazılan matematiksel ifadelerin daha iyi anlaşılmasını sağlayacaktır.Örneğin:
     Hmax = pow(Vo,2) / (2*g);
     Tf   = 2*Vo/g;
     Vy   = Vo - g*t;
     y    = Vo*t - (g*t*t)/2.0;
     z    = ( a*cos(x) + b*sin(x) )*acos(y);
    
  • Program bittikten sonra tekrar tekrar programınızı inceleyerek, programınızı daha iyi şekilde yazma yollarını arayın ve aynı fonksiyonları daha kısa algoritmalarla ve daha modüler şekilde elde etmeye çalışın. Programınızın anlaşılması için elinizden ne geliyorsa yapın. Bilginizi ve eserinizi başkalarına en iyi şekilde aktarın.

Hiç yorum yok:

Yorum Gönder