· pdf filec programlama dili 1 algoritma 2 3 4 7 9 11 akademikport c programlamaya giriş...

Download · PDF fileC Programlama Dili 1 Algoritma 2 3 4 7 9 11 AkademikPort C Programlamaya Giriş Değişken Kavramı Veri Tipleri Atama ve Girdi/Çıktı Komutları Seçme

If you can't read please download the document

Upload: duongbao

Post on 06-Feb-2018

252 views

Category:

Documents


3 download

TRANSCRIPT

  • www.akademikport.com

    Bu kitapk renciler, teknik elemanlar, mhendisler ve makerlar iin algoritima ve temel C programlama hakknda bilgi verererek programlamaya gzel bir balang yapmanz iin AkademikPort eitmenleri tarafndan hazrlanmtr. "AkademikPort C Programlamaya Giri" elektronik kitab cretsiz ve ak kaynakl olarak sizlerin beenisine sunulmutur.

    Gelecei yazan bir toplum olmamz dileiyle...

    Not: Eitim esnasnda herhangi bir bilgisayara zarar verilmemitir.

    Kitapk Hakknda

    Akademikport C Programlamaya Giri is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.(AkademikPort C Programlamaya Giri elektronik kitab yazar isimleri belirtilip, lisans artlarna uyularak paylalabilir fakat ticari bir faaliyette kullanlamaz. )To view a copy of this license visit: http://creativecommons.org/licenses/by-nc-sa/4.0/www.akademikport.com

    Emre ARSLAN AkademikPort Kurumsal llikiler Koordinatr

    HAZIRLAYANLARFatih Koak

    Hseyin GnerGRAFK TASARIM

  • C Programlama Dili 1

    Algoritma 2

    3

    4

    7

    9

    11

    AkademikPort C Programlamaya Giri

    Deiken Kavram Veri Tipleri

    Atama ve Girdi/kt Komutlar

    Seme Komutlar

    Ve sonuna geldik- Kaynak-Notlar

    Dng Komutlar

  • C Programlama Dili

    C dili genel amal bir dil olup ilk olarak Unix iletim sistemi iin gelitirilmitir. Bu iletim sisteminin kendisi ve sistemin almas salayan programlarn byk bir blm C dili ile yazlmtr. C dili ilk olarak sistem programlarnn yazlmasnda kullanlmtr. Sistem programlar bir bilgisayarn iletim sistemiyle birlikte alan olmazsa olmaz programlardr. rnek verilirse eer derleyiciler, editrler veri taban ynetim sistemleri birer sistem programlardr.

    C Programlama Dili Nedir?

    Dennis Ritch Kimdir?

    Uzun sre birlikte alt arkada Ken Thompson ile birlikte C programlama dilini ve Unix iletim sistemini yazan saygn bir ABD bilgisayar mhendisidir. Turing dl 1983' te Ritche ve Ken Thompson Generic letim Sistemleri Teorisi ve zellikle UNIX iletim sistemini yaama geirmelerinden dolay beraber Turing dln aldlar. Ritche' nin Turing dl konumasnn bal "Reflections on Software Research" idi. Ulusal Teknoloji Madalyas 27 Nisan 1999' da Ritche ve Thompson bilgisayar donanmlarnda ve yazlmlarnda byk gelimeler salamalarndan dolay bu dl haketmilerdir.

    1

    C Dilinin zellikleri

    1. C en popler dildir.2. C gl ve esnek bir dildir. C ile iletimsistem ve ya derleyici yazlabilir. 3. C iyi bir yazlm gelitirme ortamnasahiptir.4. C zel komut ve veri tipitanmlanmasna izin verir.5. C dili tanabilir bir dildir. 6. C geliimini tamamlam ve standard olumu bir dildir.7. C yapsal bir dildir. C dili fonksiyon ad altnda yaaplardan olumutur.8. C++, Javai JavaScript, JavaApplet, PHP, C# gibi diller C dilinden esinlemitir.

  • Algoritma rnei 1AlgoritmaAlgoritma Nedir

    Algoritma rnei Algoritma rnei

    Girilen N adet saynn- 5 ile blnebilen saylarn toplam ve says- 3 ile blnebilen saylarn toplam ve says- 2 ile blnebilen saylarn toplam ve saysbulan programn algoritmas aadaki gibidir.

    -- Say adedi = N-- Girilen Say = S-- Saya = X-- 5 ile blnebilen saylar ve toplam = B, BT-- 3 ile blnebilen saylar ve toplam = C,CT-- 2 ile blnebilen saylar ve toplam = K,KT

    A0 --> BalaA1 --> Girilcek Say Adedi (N)A2 --> X=1, BT=0,CT=0,KT=0,B=0,C=0,K=0 A3 --> 1' den N' e kadar dng A4 --> Sayy Gir (S)A5 --> Eer S mod5=0 ise B++, BT=BT+SA6 --> Eer S mod3=0 ise C++, CT=CT+SA7 --> Eer S mod2=0 ise K++, KT=KT+SA8 --> Dngy sonlandrA9 --> Ekrana Deerleri YazdrA10--> Dur

    Bir snfta 20 renci vardr. Bu rencilerin bir snavdan aldklar notlarn ortalamasn bulan programn algoritmas aadaki gibidir.

    -Sayacmz = X-Not = N-Notlarn Toplam = T-Ortalamas = ORT

    A0 --> BalaA1 --> Dngy balat (x=1 den 20 ye kadar)A2 --> Not deerini gir (N)A3 --> T = T + NA4 --> Dbgy sonlandr (X = 20 ise)A5 --> ORT = T/20A6 --> ORT deerini yazA7 --> Dur

    Sembolik Gsterim

    Gerek Grnm

    2

    Belli bir problemi zmek ve ya belirli bir amaca ulamak iin izilen yola ALGORTMA denir. Genellikle programlamada kullanlr ve tm programlama dilinin temelini algoritmaya dayanr. Bir problem zlrken algoritmik ve sezgisel(herustic) olmak zere iki yaklam vardr. Algoritmik yaklamda zm iin olas yntemlerden en uygun olan seilir ve yaplmas gerekenler adm adm ortaya konulur. ou algoritmalar bilgisayar olarak uygulanmak zere tasarlanmtr. Bununla birlikte baka yntemlerle de uygulanmaktadr. Biyolojik sinir alar(rnein insan beyninin hesap yapmas ve ya bir bcein yemek aramas gibi), elektrik devresi ve ya mekanik cihazlar gibi.

    Kullancnn girdii drt saynn ortalamasn grntleyen algoritma aadaki gibidir.A0 --> BalaA1 --> 4 Sayy Gir A2 --> Girilen 4 Sayy ToplaA3 --> Saylarn Ortalamasn AlA4 --> Sonucu ekrana yazdrA5 --> Dur

    1'den 100' e kadar olan saylarn toplamn bulan algoritma

    A0 --> BalaA1 --> Dngy balatA2 --> T=T+X ilemini yapA3 --> Dngy bitirA4 --> Toplam deeri yazA5 --> Dur

  • C programlama dilinde 4 temel veri tipi vardr. Bunlar "int, char, double, float" dr.

    --> char : Harf, bir rakam ve ya zel bir simgeyi iinde barndrabilen veri tipidir. char veri tipine deiken tanmlanrken tek trnak ('...') arasna tanmlanmaldr.--> int : -32768 ile +32768 arasndaki tam say deerlerini tutmak iin kullanlr--> double : Ondalk olarak verilen ok kk ve ya ok byk saylar ifade edebilmek iin kullanlr. --> float : Ondalk saylar ifade etmede kullanlr.

    Veri Tipleri 2

    3

    Deiken Kavram Veri Tipleri

    C programlama dilindeki baz zel ifadeler yukarda verilmitir. Bu zel ifadelere kitabmzn ilerleyen zamanlarnda daha detayl bir ekilde yer verilecektir.

    Kod Yazm iin TavsiyelerProgramda yaplan aklamalar aklmzn karmasn engeller ve daha kolay kod yazmamz salar. Ayrca kodu okuyanlar iin daha kolay olmaktadr. Kodun sadelii ve okunabilirlii olduka nemlidir.

    Deiken Tanmlama

    C programlama dilinde trl deiken tanm yaplabilir.

    Deikenler, sabit ve fonksiyon isimleri herkesin anlayabilecei trden yazlp gereksiz yere uzun olmamaldr. Genellikle ingilizce isimler ve karakterler kullanr.

    rnek olarak;

    -- void fonksiyonIsimi(); //Eer iki kelime kullanlrsa bu kelimelerden ilk kelimenin ba harfi byk dier kelimenin ba harfi byk yazlr.

    Sabitlerin btn harflerini byk harflerle yazmak nemlidir.

    -- #define PI = 3.14

    Her alt yapya girerken bir TAB tuu kadar boluk brakmak okunabilirlii arttrr.for(i=0;i

  • 1. double y=10.23;char ch='M';

    Bu rnekte double y deikeni ve char ch deikeni oluturulup ierisine deerler verilmitir.

    2. int k=5int m=2+4;int n=m;k+m=n;

    Bu rnek incelendiinde ilk 3 satr doru bi atama komutudur. Yalnz k+m=n ifadesi yanl bir komuttur. Sebebi ise n deeri son haliyle m deerine yani 6 ya sahiptir. Sadan sola atama olaca iin kod 6 deerini k deikenine mi yoksa n deikenine mi atacan bilmedeinden yanl bir komuttur.

    Veri Tipi Dnm

    rnekler

    4

    Atama ve Girdi/kt Komutlar 3

    sim Sabiti

    Atama KomutuDeikenlerin yani bellek hcrelerinin iinde veri saklamak iin kullanlan yntemlerden birisi atama komutlar(assignment statements) dr.

    Atama komutu, atama operatr olan "=" kullanlarak yazlabilir. rnein;

    deiken = ifade; gibi olabilir.

    Atama ilemi matematikte olduunun tam zttdr. Yani sa taraftaki ifade deeri sol taraftaki deiken deerine atanarak atama ilemi tamamlanm olur.

    Atama operatryle ilgili bir baka rnek de aadaki gibidir.int x=5;

    C dilinde bir isim sabitinin tanmlanmas ama-cyla #define komutu kullanlr. rnein;

    #define PI 3.1415

    de grld gibi bir kod yazlmtr. Bu kodun anlam define ile bir PI deikeni oluturulmu ve deer 3.1415 olarak atlmtr. Bu komut ile kod ierisinde srekli 3.1415 yazmaktansa bir kere define ile tanmlanp srekli PI kullanmak amalanmtr.

    Bir baka rnek aadaki gibidir.

    #define ORAN 10maas = saat * 30 + ORAN*10;prim = maas * ORAN;

    Bu kaba kodda maas, saat ve prim gibi deikenlerin olduunu varsayalm. Yukarda define ile ORAN deikenini tanmladmz iin kodda ORAN olan her yerde deerin 10 olduu anlalmaktadr.

    Bir deikenin veri tipine tanmlama srasndakarar verilir ve program yrtlmesi srasnda da bu durum deimez. Ancak program baz blmlerinde, deikenlerin ve ya sabitlerin veri tiplerinin baka veri tiplerine dntrlmesi gerekebilir. Bu durum veri tipi dnm (type casting) olarak adlandrlr. rnein;

    double s;int i=15, q=10;s = i/q;

    Yukardaki rnekte sonucumuz 15/10'dan 1.5 kmas gerekmektedir. Fakat tamsay blm sonucu 1 olduu iin deer otomatik olarak double a dntrlp s deikenine 1.0 olarak atanacaktr.

    double r=0.5, p=5.2int w; w= r*p;Bu komuttan sonra da sonucumuz 2.6 kacaktr. Fakat w deikeni int olduu iin sonu 2 olarak ekrana yansyacaktr.

    3

  • printf() fonksiyonu program sonularnn ekranda gsterilmesini salayan bir ktphane fonksiyonudur.

    printf( ) fonksiyonunun genel olarak yaps printf("C Programlama"); eklindedir. Bu kod satryla beraber ekranda "C Programlama" eklinde bir ifade yer alacaktr.

    printf("Gecen ogrenci sayisi");printf("=30"); yazlsa bile ktlar yanyana olacaktr. C Programlama dilinde bir alt satra gemek iin "\n" ifadesi kullanlr.

    printf("Gecen ogrenci sayisi\n");printf("=30"); yazldnda ise ktlar alt alta yazlm olacaktr.

    kt Fonksiyonu(printf())

    Atama ve Girdi/kt Komutlar

    5

    Tanmlanan Veri Tipi Dnm

    Deikenler ve printf()

    Veri tipi dnm programc tarafndan tanm-lanarak yaplmas da mmkndr. Bu amala veri tipi dnm yaplmas istenen deikenin ya da deerin nnde istenen( veri tipi) tanmlamas kullanlr. rnein;

    nt sayi1=2,sayi2=4;double bolum=sayi1/sayi2;

    Bu komutun sonucu olarak 0 deeri dner. Normalde bizim sonucumuzun 0.5 olmas gerekmektedir. Bunu veri tipi dnm yaparak enge