|
|
C Programlama Diline 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?
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.
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
int son_alinan_bit; void KesmeSayisi(); float OrtalamaDeger = 12.7786;
#define PI = 3.14; int STATUS 0x0379;
for(i=0;i<10;i++)
{
for(j=0;j<i;j+=2)
{
do{
k = i+j;
}while(k!=0);
}
}
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);