bilgisayar bilimlerine giriş-2

of 21 /21
Bilgisayar Bilimlerine Giriş-2

Author: rance

Post on 19-Jan-2016

56 views

Category:

Documents


4 download

Embed Size (px)

DESCRIPTION

Bilgisayar Bilimlerine Giriş-2. Kaynaklar. C ve C++ Deitel & Deitel Sistem Yayıncılık C: How to Program Third Edition Harvey M. Deitel ; Paul J. Deitel C Programlama Dili Dr. Rıfat Çölkesen Papatya Yayıncılık - PowerPoint PPT Presentation

TRANSCRIPT

C TARHES

Bilgisayar Bilimlerine Giri-2 KaynaklarC ve C++ Deitel & Deitel Sistem YaynclkC: How to Program Third Edition Harvey M. Deitel ; Paul J. DeitelC Programlama Dili Dr. Rfat lkesen Papatya YaynclkProblem Solving and Program Design in C, 7/E Jeri R. Hanly; Elliot B. Koffman

C TarihesiC, temelde iki eski dile dayanarak, BCPL ve B, 1972 ylnda Dennis Ritchie tarafndan Bell Laboratuarlarnda gelitirilmitir.C, UNIXin gelitirilmesinde kullanlmtr.Gnmzdeki tm modern iletim sistemlerinin yazlmasnda kullanlmaktadr.Donanmdan bamszdr.1970lerin sonunda, C u anda geleneksel C olarak bilinen haline geldi.Zamanla Cnin yaylmas , birbirine benzer ama genellikle uyumsuz, bir ok eidinin ortaya kmasna sebep oldu.1983 ylnda, American National Standarts Committenin bilgisayar ve bilgi ilem komitesi tarafndan Cnin sistem bamsz bir tanm yapld.1989 ylnda bu standart onayland ve 1999 ylnda tekrar gzden geirildi.

Standart C KtphanesiC programlar fonksiyon ad verilen paralardan ya da modllerden oluur.Bir programc kendi fonksiyonlarn yazmas mmkndr.Avantaj: Programc tam olarak nasl altn bilir.Dezavantaj: Yazmak ve gelitirmek zaman alr.Programclar genellikle C standart ktphanesindeki hazr fonksiyonlar kullanr.Tekerlei yeniden icat etmekten kann.Eer daha nceden yazlm bir fonksiyon mevcutsa, genellikle kendiniz yazmak yerine bunu kullanmak daha iyidir.Ktphane fonksiyonlar zenli, etkin ve tanabilir yazlmtr. PerformansKendi yazdnz fonksiyonlar yerine, ANSI standart ktphanesi fonksiyonlarn kullanmak programn performansn artrr. nk bu fonksiyonlar verimli almalar iin zenle yazlmtr.

C Program Gelitirme Ortamnn Temelleri Tipik olarak bir C program almadan nce alt safhadan geer.Yazm(Edit)nileme(Preprocess)Derleme(Compile)Balama(Link)Ykleme(Load)altrma(Execute)

Genel Programlama HatalarProgramlar, her zaman ilk denemede altrlmayabilir. rnein; 0 a blme gibi hatalar programn alma annda ortaya kar. Bu yzden, bu hatalara alma zaman hatalar (RUNTIME/EXECUTON TIME ERROR) denir. 0a blmek lmcl bir hatadr. lmcl hatalar, programn baarl bir biimde tamamlanamadan sonlanmas anlamna gelir. lmcl olmayan hatalar ise programn yanl sonular verecek biimde almasna sebep olur.(Not: Baz sistemlerde 0a blmek lmcl hata deildir.)C Hakknda Genel NotlarProgramlarda AklkBu durum programlarn okunmas, anlalmas ve gelitirilmesi iin gereklidir.C tanabilir bir dildir.Programlar pek ok farkl bilgisayarda alabilir.Tanrlk en nemli hedeflerden biridir.C, zengin bir dildir. yi ProgramlamaC programlarnz basite ve dorudan yazn. Programlarnz gereksiz, kullanmlar deneyerek uzatmayn. TanabilirlikC, donanma baml olmadndan, Cde yazlacak bir program deiiklik yaplmadan ya da ok az bir deiiklik bir ok bilgisayarda sorunsuz olarak alabilir.Kendi yazdmz fonksiyonlar yerine ANSI standart ktphanesi fonksiyonlar kullanmak tanrl artrr. nk bu fonksiyonlar btn ANSI C koullarna uyarlar.Tanabilir programlar yazmak mmkn olsa da bazen farkl C derleyicileri ve farkl bilgisayarlar tanrl olduka zor hale getirebilir. Programlar sadece Cde yazmak tanrl garanti etmez.C Diline GiriBasit C program-Bir Metni Yazdrmak/* C ile ilk program*/#includeint main(){ printf("C diline hosgeldiniz!\n"); return 0;}C diline hosgeldiniz!Ekran grnts;Basit C program-Bir Metni YazdrmakSatr satr program incelersek;/* ve */ arasna yorum yazlr derleyici grmezden gelir #include C nilemcisine bir emir gndermektedir. Bu satr, nilemciye standart giri/k nc dosyas(stdio.h) ieriinin programa eklenmesini syler.int main() her C programnn bir parasdr. C programlar bir veya birden fazla fonksiyon ierebilir ancak bunlardan biri mutlaka main olmaldr. Cde her program main fonksiyonunu altrarak balar.Kme parantezi, { , her fonksiyonun gvdesinin bana yazlr. }, kme parantezi ise sonuna yazlmaldr. Bu iki parantez arasnda kalan program paracna blok denir. printf konsola yazdrma ilemini gerekletirir.Return ise main fonksiyonunu dndrecei deeri belirtir.

Basit C program-Bir Metni YazdrmakTers bl, k karakteri olarak adlandrlr ve printfin farkl bir i yapmas gerektiini belirtir. printf, ters bl iaretiyle karlatnda, bu iaretten sonraki karaktere bakarak baz zel ilemler yapar.Basit C Program-ki Sayy Toplatmak#include#include //getch()'i kullana bilmek iin int main(){ int tamsayi1,tamsayi2,toplam; //bildirim printf("Ilk tamsayiyi giriniz\n"); //mesaj yazdrma scanf("%d",&tamsayi1); //ilk sayy okuma printf("Ikinci tamsayiyi giriniz\n"); //mesaj yazdrma scanf("%d",&tamsayi2); //ikinci sayy okuma toplam=tamsayi1+tamsayi2; //toplamn atanmas printf("Toplam %d dir\n",toplam); //toplam yazdrma getch(); //ekran bekletme return 0; }

Basit C Program-ki Sayy ToplatmakBildirim tamsayi1, tamsayi2 ve toplam deikenlerinin int tipinde olduklarn yani tamsay deerleri tutacan belirtir.scanf kullancnn girecei deeri almak iin kullanlr. Format BelirteleriBelirteBiim%d,%iTamsay(Decimal, Integer)%uaretsiz Tamsay(Unsigned)%fKayan Noktal Say(Float)%cKarakter(Char)%08 Tabannda Say(Octal)%x,%X16 Tabannda Say(hexadecimal)%essel Gsterim(Exponential)%sKarakter Dizisi(String)l,hLong ve short n eki#include#include int main(){int x;printf("Bir tamsayi girin.\n");scanf("%d", &x);printf("Onluk tabanda = \t%d\n", x);printf("Sekizlik tabanda = \t%o\n", x);printf("Onaltilik tabanda = \t%X\n", x);getch(); return 0; }

#include#include int main(){int x=1,X;float y=.1;double Y=2;printf("x= %d , X= %d\n",x,X);printf("y= %f , Y= %e\n",y,Y);getch(); return 0; }

Aritmetik OperatrlerOperatrAklamaOrnekAnlami+Toplamax+yx ve y nin toplam-karmax-yx ve y nin fark*arpmax*yx ve y nin arpm/Blmex/yx ve y nin oran%Modx%yx/y den kalan sayOperatr lemncelik()Parantezlk*,/,%arpm, Blm ve Mod almakinci+,-Toplama, karmaSonAritmetik Operatrlerint x, y = -2, z = 12; x = y = z; // hepsi 12 deerini alr y = x % 5; // y 2 deerini alr x = z % y; // x 0 deerini alr x = 12/5; // x 2 deerini alr (tamsayl blme) float f = 12/5; // f 2.0 deerini alr k SrasTanm

\nYeni satr. mleci yeni satrn bana geirir.

\tYatay sekme. mleci bir sonraki sekme balangna tar.

\aAlarm.

\\Ters bl. printf iindeki ters bl karakterini yazdrr.

\"Trnak.printf iinde trnak karakterini yazdrr.