If you can't read please download the document
Upload
tranthuy
View
236
Download
4
Embed Size (px)
Citation preview
ALGORTMA VE PROGRAMLAMA I
Celal Bayar niversitesi Hasan Ferdi Turgutlu
Teknoloji FakltesiYZM 1101
C Programlama Dili Tarihesi
C Programlama Dili Tercih Nedeni
lk C Program
C Kodlarnn Temel zellikleri
Code::Blocks
Code:Blocks ile lk C Program
C Programlama Dili Elemanlar
Tanmlayclar
Anahtar Szckler
Veri Trleri
Deikenler
Sabitler
Operatrler
Genel Bak2
YZM 1101 Algoritma ve Programlama I
1. BLM
C PROGRAMLAMA DLNE GR
3
YZM 1101 Algoritma ve Programlama I
C programlama dili, geni amal, orta
seviyeli, yapsal bir programlama dilidir.
C, temelde iki eski dile dayanr : BCPL ve B.
BCPL, 1967 ylnda Martin Richards
tarafndan iletim sistemleri ve derleyiciler
yazmak iin gelitirilmitir.
C Programlama Dilinin Tarihesi4
YZM 1101 Algoritma ve Programlama I
C programlama dili 1972 ylnda Bell Laboratuvarlarnda Dennis
Ritchie tarafndan gelitirilmitir.
C programlama dili, UNIX iletim sisteminin kodlama ve
gelitirilmesinde kullanlarak poplerliini arttrmtr.
1970'lerin sonunda C, u anda geleneksel C olarak bilinen
haline geldi. 1978 ylnda Kernighan ve Ritchie tarafndan
yazlan, The C Programming Language adl kitabn
yaynlanmasndan sonra, C'ye olan ilgi artmtr.
ANSI C, C programlama dilinin, 1989 ylnda Amerika'da
American National Standards Institute (ANSI) ve tm
dnyada Internationals Standards Organization (ISO)
tarafndan standart hale getirilmi srmdr.
ANSI C standard, 1989 ylnda onaylanm, 1999 ylnda
gzden geirilmi ve Mart 2000'de C99: ISO/IEC 9899:1999
standard Standart C olarak kabul edilmitir
C Programlama Dilinin Tarihesi (devam)5
YZM 1101 Algoritma ve Programlama I
C, en popler dillerdin birisidir.
C, gl ve esnek bir dildir. C ile iletim sistemi veyaderleyici yazabilir, kelime ilemciler oluturabilir veyagrafikler izebilirsiniz.
C, yazlm gelitirme ortamlar olduka fazladr.
C, zel komut ve veri tipi tanmlamasna izin verir.
C, tanabilir bir dildir.
C, geliimini tamamlam ve standard olumu bir dildir.
C, yapsal bir dildir. C kodlar fonksiyon olarak adlandrlanalt programlardan olumutur.
C++, Java, JavaScript, JavaApplet, PHP, C# gibi diller Cdilinden esinlenmitir.
C Programlama Dili Tercih Nedeni6
YZM 1101 Algoritma ve Programlama I
C dili, donanmdan ve iletim sisteminde bamszdr.
C dili ile dikkatli bir biimde yazlm bir program, her
bilgisayara tanabilir.
Yani herhangi bir C program hibir deiiklie uramadan, veya
ok az bir deiimle, baka bir derleyicide ve/veya iletim
sisteminde derlenebilir.
Sonu olarak Windows iletim sistemlerinde yazlan bir C
kodu, Linux, UNIX veya VAX gibi iletim sistemlerinde de
derlenebilir.
C Dili Tanabilirdir (Portable) !!!7
YZM 1101 Algoritma ve Programlama I
C sistemleri ksmda oluur:
1. Programlama ortam
2. C programlama dili
3. C standart ktphaneleri
C programlar fonksiyon ad verilen paralardan ya da
modllerden oluur.
Fonksiyonlar C bloklarndan oluur.
Her fonksiyon/blok bir veya daha fazla deyimi ierir.
Her bir deyim program altrldnda belirli bir eylemi yerine
getirir. Deyimler ilemleri yerine getiren komutlardr.
C Sistemleri ve Ktphaneleri8
YZM 1101 Algoritma ve Programlama I
C Yazlm erii9
YZM 1101 Algoritma ve Programlama I
n ilemci Direktifleri
(Preprocessor Directives)
Genel Tanmlamalar
(Global Declarations)
int main (void)
{
}
Deyimler ve fadeler (Statements)
Yerel Tanmlamalar (Local Declarations)
Program altrlmas sonucunda ekrana Hello World!
yazmaktadr.
lk C Program10
YZM 1101 Algoritma ve Programlama I
11
YZM 1101 Algoritma ve Programlama I
1.Satr: Yorumlar /* . */ Comments
1.satr /* ile balayp */ ile bitmektedir. Bu iaretler arasna
yorum satrlar yazlr.
Yorumlar, okunabilirlii artrmak amacyla kullandmz bir
zelliktir. Programc notlar olarak da dnlebilirler.
Yorum satrlarnda bilgisayar hibir ilem yapmaz nk C
derleyicileri bu satrlar atlar.
Dolaysyla, yorum satrlar iin makine diline evrilmi
kodlar oluturulmaz.
12
YZM 1101 Algoritma ve Programlama I
1.Satr: Yorumlar /* . */ Comments (devam...)
Yorumlar, dier yazlmclarn programnz anlamasnda
yardmc olur ancak ok fazla yorum satr programn ve
kodun okunabilirliini azaltr.
Tek satr olan yorumlar iin // karakteri de kullanlabilir.
Yorumlar programn herhangi bir yerinde olabilirler.
ie aklamalara izin verilmez.
/* yorum deneme /* . */ ..*/
Program balangcnn; programn yazlma amac, yazar,
yazlma tarihi vb. yorumlarla olmas programlama srecine
adaptasyon noktasnda yararl olabilir.
13
YZM 1101 Algoritma ve Programlama I
Yorum Satr rnekleri
/* Tek satr yorum */
// Tek satr yorum
/* ki satr yorum
rnei */
/* Birden fazla
satr yorum
rnei */
Toplam = X + Y; // X ve Y toplanarak Toplam deikenine atanr
14
YZM 1101 Algoritma ve Programlama I
2. ve 3. Satr: n ilemci Direktifleri (#include)
# iaretiyle balayan satrlar, program derlenmeden nce C n
ilemcisi tarafndan ilenirler.
Bu satr, n ilemciye standart giri/k balk dosyasnn
yani stdio.h dosya ieriinin programa eklemesini syler.
Bu balk dosyas, derleyicinin printf gibi standart
giri/k ktphane fonksiyonlarnn (STandarD-Input-
Output) derlerken kullanabilecei bilgi ve bildirimleri ierir.
Balk dosyalarnn uzants .h dir.
15
YZM 1101 Algoritma ve Programlama I
2. ve 3. Satr: n ilemci Direktifleri (#include) (devam)
Balk dosyalar, derleyicinin ktphane fonksiyonu
arlarnn doru yaplp yaplmadn anlamasnda
yardmc olan bilgiler ierir.
ANSI C'deki standart balk dosyalar unlardr:
assert.h
ctype.h
errno.h
float.h
limits.h
locale.h
math.h
setjmp.h
signal.h
stdarg.h
stddef.h
stdio.h
stdlib.h
string.h
time.h
16
YZM 1101 Algoritma ve Programlama I
2. ve 3. Satr: n ilemci Direktifleri (#include) (devam)
stdio.h balk dosyasnn eklenmesi tercihe baldr fakat
standart giri/k fonksiyonlarnn kullanld programlara
eklenmelidir.
Bu sayede, derleyici, hatalar derleme annda bulabilecektir.
Aksi takdirde, hatalar programn altrld anda ortaya
kar. Bu tr hatalarn dzeltilmesi olduka g olur.
17
YZM 1101 Algoritma ve Programlama I
5. Satr: main( ) fonksiyonu
C programlarnn ana fonksiyonu olarak tabir edilir.
main() kelimesinden sonraki parantezler ( ) main'in
fonksiyon ad verilen program oluturma bloklarndan biri
olduunu gsterir.
Programn yrtlmesi ilk olarak bu fonksiyonun
arlmasyla gerekleir.
C programlar bir veya birden fazla fonksiyon ierebilir
ancak bunlardan biri mutlaka main() olmaldr.
18
YZM 1101 Algoritma ve Programlama I
5. Satr: main( ) fonksiyonu (devam)
Kme parantezi, { , her fonksiyonun gvdesinin bana
yazlr.
Dier kme parantezi , } , ise her fonksiyonun sonuna
yazlmaldr.
Bu iki parantez arasnda kalan program paracna blok
denir.
Bloklar C'de nemli program birimleridir.
19
YZM 1101 Algoritma ve Programlama I
7. Satr: printf("Hello World!\n"); fonksiyonu
printf standart ktphanede bulunan ekrana formatl bilgi
yazdrma fonksiyondur. ift trnak iareti arasndaki
karakterleri ekrana yazdrr.
Yazdrlacak karakterlerin tmne karakter dizesi string,
mesaj ya da hazr bilgi literal denir.
printf, parantezler iindeki bamsz deikenler (argument)
ve noktal virglden oluan bu satra ifade denir.
Her ifade ; (noktal virgl) ile bitmelidir. Noktal virgle ifade
sonlandrc da denir.
20
YZM 1101 Algoritma ve Programlama I
7. Satr: printf("Hello World!\n"); fonksiyonu (devam)
printf ifadesindeki trnak iaretleri arasndaki karakterler
aynen ekrana yazdrlr. Ancak \n karakterlerinin
yazdrlmamaktadr.
Ters eik izgi ( \ ), k karakteri olarak adlandrlr ve
printf'in farkl bir i yapmas gerektiini belirtir.
printf, ters izgi iaretiyle karlatnda, bu iaretten sonraki
karaktere bakar ve bu karaktere gre baz zel iler yapar.
Ters izgi iareti ( \ ) ve bu iaretten sonra gelen karaktere
k sras denir.
\n k sras, yeni satr anlamna gelir ve imlecin yeni satra
gemesine sebep olur.
21
YZM 1101 Algoritma ve Programlama I
7. Satr: printf("Hello World!\n"); fonksiyonu (devam)
k karakterleri (escape sequence) aadaki gibidir:
k Anlam
\0 null karakteri temsil eder (sonlandrc karakter)
\n Yeni satr
\r Satrba
\t Yatay sekme
\v Dey sekme
\f leri besleme
\b Geri boluk (space)
\a Alarm karakteri
\" ift trnak
\\ Ters bl
22
YZM 1101 Algoritma ve Programlama I
7. Satr: printf("Hello World!\n"); fonksiyonu (devam)
Ekran kts
Ne Olacak
23
YZM 1101 Algoritma ve Programlama I
C Kodlarnn Temel zellikleri - zet
Yazlmda kullanlacak olan her fonksiyon iin ilgili balk
dosyas programn bana ilave edilmelidir.
Her C program main() fonksiyonunu iermelidir.
Program iinde kullan