29
Temel Bilgisayar Programlama C Programlamaya Giri¸ s Yrd. Do¸c. Dr. Tahir Emre Kalaycı 2012 Yrd. Do¸ c. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 1 / 29

Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Embed Size (px)

Citation preview

Page 1: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Temel Bilgisayar ProgramlamaC Programlamaya Giris

Yrd. Doc. Dr. Tahir Emre Kalaycı

2012

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 1 / 29

Page 2: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Icerik

1 Temel KavramlarAlgoritmanın tanımı ve algoritma gelistirmeSozdekodlarAkıs semalarıProgramlama

2 C Programlama DiliProgramlama yapısımain() fonksiyonuC onislemcisiAcıklama satırlarıTemel veri turleriTemel Giris/CıkısIslecler (Operatorler)

3 Kaynakca

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 2 / 29

Page 3: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Temel Kavramlar

Programlamayı bir problemi cozmek icin yaparız

Her bir alanın kendine ozgu cozum yontemleri vardır

Programlama gelistirme acısından problem cozmede iki asama vardır:I Problem cozme asaması

F Problemin tanımlanmasıF Cozumun ana hatlarının ortaya konulmasıF Ana hatlara baglı olarak bir algoritma gelistirilmesiF Algoritma dogrulugunun sınanması

I Gerceklestirim asamasıF Algoritma kodları belirli bir programlama dili kodlarına donusturulurF Program bilgisayarda derlenir ve calıstırılırF Programın belgelemesi ve bakımı yapılır

Algoritma bulma ve programlama sureci su sekildedirI Problemi belirleme ve anlama (Analiz)I Algoritma hazırlama (Tasarım)I Program gelistirme (Gerceklestirim)I Programı calıstırma ve dogrulugunu degerlendirme (Sınama)

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 3 / 29

Page 4: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Algoritma nedir?

Algoritma bir problemi cozmek icin ortaya koydugumuz cozumadımlarıdır.

Sonlu bir isi tanımlamada kullanılan, acık ve secik tanımlanabilen veyurutulebilen ardısık adımlardan olusan kumedir. (Kaynak: Ozkan,2003)

Algoritma, matematikte ve bilgisayar biliminde bir isi yapmak icintanımlanan, bir baslangıc durumundan basladıgında, acıkcabelirlenmis bir son durumunda sonlanan, sonlu islemler (adımlar)kumesidir (Kaynak: Algoritma, Viki)

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 4 / 29

Page 5: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Algoritma nasıl gelistirilir

Problem ele alınır

Problemin cozumu bulunur

Cozume dair adımlar algoritmamızı olusturacaktır

Algoritma problemin cozumune yonelik adımlardır, o adımların akısıdır.

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 5 / 29

Page 6: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Ornek Bir Algoritma: Elektronik kasadan alısveris (Cebi,2006)

Elektronik kasiyerin urun satma adımları asagıdaki sekilde olacaktır

1 Satın alınan urune bak

2 Urun fiyatını bul

3 Musteriden parayı al

4 Alınan paradan urun fiyatını cıkar ve para ustunu bul

5 Para ustunu ver

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 6 / 29

Page 7: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Sozdekodlar

Algoritma gelistirmede kullanılan dillerden biri sozde kodlardır(pseudocode)

Herkesin anlayabilecegi ve rahatlıkla bir programlama dilinecevrilebilecek basit komutlardan olusan bir dildir

Sozdekodun temel islevi program gelistirmeye gecmeden algoritmayıolusturmak ve uzerinde tartısabilmektir.

Ornek: ortalama sozdekod.pdf

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 7 / 29

Page 8: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Akıs semaları

Sozdekodlar gibi, problemin kodunu anlasılır bir sekilde ortayakoymaya yarayan bir aractır

Geometrik sekillerden yararlanarak algoritmayı gostermeye yarar

Basit ve yapısal akıs semaları vardır

Basit akıs semaları belirli anlamlara sahip geometrik sekillerdenyararlanır: (Ozkan, 2003)

I Islemleri gosteren simgelerI Veri giris ve cıkıs islemlerini gosteren simgelerI Verilerin saklanmasıyla ilgili simgeler

Ornek: ortalama akissemasi.pdf

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 8 / 29

Page 9: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Program nedir? (Kaynak: Elkner, 2010)Program, hesaplamayı gereklestirmek icin gereken birbirini izleyenyonergelerden (komutlardan) olusan yapıdır.

Hesaplama matematiksel olabilir (bir esitlikler sisteminin cozulmesiveya bir polinomun kokunu bulmak)

Sembolik bir hesaplama olabilir (bir belge icinde metin arama vedegistirme veya program derleme)Temel yonergeler asagıdakilerdir

I girdi: Klavyeden, dosyadan veya baska bir aygıttan veriyi alma.I cıktı: Ekranda veriyi goruntuleme veya veriyi bir dosya ya da baska bir

aygıta gonderme.I matematik: Toplama, carpma gibi bazı temel matematiksel islemleri

gerceklestirme.I kosullu yurutme: Belirli durumlar icin sınama yapma ve uygun cumle

sırasını calıstırma.I tekrarlama: Bazı eylemleri genellikle ufak tefek bazı degisikliklerle

tekrar tekrar yurutme.

Su ana kadar kullandıgımız her program, ne kadar karmasık olursaolsun, yukarıdakilere benzeyen komutlarla yapılmıstır

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 9 / 29

Page 10: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Programlama Dilleri

Cozulecek problemin niteligine gore secilir

Programlama dillerinin hepsi simgeseldir, bilgisayarın anlayacagıislemleri insanların da anlayabilecegi simgelerle ifade ederler

Simgeler (kodlar) derleyici yardımıyla bilgisayarın anlayabilecegi birbicime (makine kodu, dili) cevrilirler

Simgesel kodlar kaynak kod, makine diline cevrilmis kod nesne koduolarak adlandırılır

Programlama dilleri su sekilde sınıflandırılmaktadır:I Makine dilleri: Dogrudan makine kodlarından olusurI Assembly dilleri: Anımsatıcı simgelerin kullanıldıgı dillerdirI Yuksek duzey diller: Komutlar yapılacak islemin yapılacagı Ingilizce

karsılıgını anımsatıcı kodlardırI Dorduncu kusak diller: Daha esnek, cogu kodu otomatik olusturan

dillerdir, az kod ile cok is

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 10 / 29

Page 11: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Programlama kavramlarıDegiskenler: Degeri program calısırken degisen buyukluklerSabitler: Degeri program calısması boyunca sabit kalan buyukluklerAtama islemleri: Bir degiskene farklı degerleri temsil edebilmesi icinfarklı degerler yerlestirilmesi/atanmasıVeri turleri: Verinin icerdigi bilgiyi belirlemek icin kullanılan turlerdir(tamsayılar, gercel sayılar, kayan noktalı sayılar, mantıksal degerler,diziler/katarlar)Veri yapıları: Veriyi problemin yapısına gore duzenlemede kullanılan veuzerinde islemler yapılabilen yapılardır (diziler, listeler, yıgıtlar,kuyruklar, agaclar)Kontrol yapıları: Program icerisinde yerine getirilen islemlere iliskinkendi aralarında nasıl birlestirilecegini belirleyen yapılardır

I Sıra: birbiri ardına sıralanan bir dizi islemdirI Secim: Belirli bir kosulun saglanıp saglanmaması durumuna gore iki

sıradan/islemden birinin secilmesidirI Tekrar: Belirli islemleri belirli bir kosul saglandıgında art arda

tekrarlama islemidir

Yordam ve fonksiyonlar: Bir uygulamanın asamalarını farklıprogramlara ve alt yapılara ayırmada kullanılan duzenleme yapılarıdır.Bir program sadece ana programdan olusabilecegi gibi ana program,yordamlar (alt programlar) ve fonksiyonlardan olusabilir. Anaprogramdan yordam/fonksiyonlara aktarılan verilere parametre adınıveriyoruz.

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 11 / 29

Page 12: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

C Programlama Dili

Genel amaclı, orta duzeyde, yapısal bir programlama dilidir (Bingul,2011)

1972 yılında Dennis Ritchie tarafından Bell Telefon Labaraturvarındatasarlanmıstır.

Bir cok alanda kullanılmaktadır

Ozellikle C dili ile gelistirilen UNIX isletim sistemiyla yaygınlıgıartmıstır

Gunumuzdeki bazı diller C programlama dilinden esinlenmistir (C++,Java, JavaScript, PHP, C#)

Tasınabilir bir dildir, ANSI standartında uygun kodlandıgı zamanANSI destekleyen derleyicilerde derlenir, ANSI destekleyen isletimsistemlerinde calısır

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 12 / 29

Page 13: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Neden C? (Bingul, 2011)

Guclu ve esnek bir dildir. C ile isletim sistemi veya derleyici yazabilir,kelime islemciler olusturabilir veya grafik cizebilirsiniz.

Iyi bir yazılım gelistirme ortamına sahiptir.

Ozel komut ve veri tipi tanımlamasına izin verir.

Tasınabilir bir dildir.

Gelisimini tamamlamıs ve standardı olusmus bir dildir.

Yapısal bir dildir. C kodları fonksiyon olarak adlandıralan altprogramlardan olusmustur.

C++, Java, JavaScript, JavaApplet, PHP, C#, ... gibi diller Cdilinden esinlenmistir.

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 13 / 29

Page 14: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Programlama yapısı

C programları bir veya daha fazlafonksiyondan olusur (calısabilmesi icinmutlaka main() fonksiyonubarındırmalıdır)

Her fonksiyon bir veya daha fazla deyimicerir

Fonksiyonlar programın baska bir yerindencagrılabilir

Fonksiyonlar C bloklarından olusur

Her bir deyim program calıstırıldıgındabelirli bir eylemi yerine getirir. Deyimlerislemleri yerine getiren komutlardır.

Tum C deyimleri ; (noktalı virgul) isaretiile sonlandırılır

Ornek: basit.c

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 14 / 29

Page 15: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

main() fonksiyonu

C programımızda mutlaka yer alması gereken fonksiyondur, ozelliklecalıstırabilmek istiyorsak

Program yurutulmeye basladıgında ilk cagrılan fonksiyon main()fonksiyonudur

C programlarının ana fonksiyonudur

Kendi fonksiyonlarımızı nasıl hazırlayacagımız ileriki derslerde (6. ve7. haftalar) anlatılacak

C programlama dilinde kendi fonksiyonlarımız dısındakullanabilecegimiz hazır kutuphane fonksiyonları da bulunmaktadır

Ornegin printf() fonksiyonu hazır bir kutuphane fonksiyonudur.Ekranda bir seyler gostermek icin kullanılır

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 15 / 29

Page 16: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

C onislemcisi

Derleyicinin kaynak kodunu denetlemesi icin onislemci emirleri vardır

Bu emirler # isareti ile baslar

En cok kullanılan emirler #include ve #define emirleridirI #include: Bir kaynak dosyasını programa eklemek icin kullanılır,

ozellikle kutuphaneleri ve icerdikleri fonksiyonları kullanabilmek icinkullanılır. C programına baslık dosyaları dahil edilir (.h uzantılı). Ornek:stdio.h

I #define: Sembolik sabilerin tanımlanması icin kullanılır. Ornek:#define SON 50

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 16 / 29

Page 17: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Acıklama satırları

Programımıza kodla ilgili, programla ilgili yorumlarımızı,acıklamalarımızı acıklama satırlarıyla ekleriz

C programlama dilinde iki sekilde acıklamalar eklenebilir:I // isaretleriyle, isaretten sonraI /* */ isaretlerinin arasında satırlara da yayılabilen blok seklinde

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 17 / 29

Page 18: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Anahtar sozcukler

C dilinde 32 adet anahtar sozcuk vardır

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 18 / 29

Page 19: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Temel veri turleriDegisken: program icinde kullanılan degerlere bellek uzerinde acılanalanlardır. Degiskenler bir degisken ismi ve degiskende tutulacak olanveri turuyle tanımlanırC programlama dilinde kullanılacak degiskenler kullanılmadan oncetanımlanmalıdır. C programlama dilinde var olan temel veri turlerisunlardır:

I char : karakter verilerI int : tamsayı verilerI float : tek duyarlıklı kayan noktalı sayılarI double : cift duyarlıklı kayan noktalı sayılarI void : deger icermeyen veriler

Tanımlarken veri turu degisken ismi; seklinde tanımlanır (int sayi;).Bir baslangıc degeri vereceksek atama isleci kullanılır: int sayi=100;

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 19 / 29

Page 20: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Degisken Turleri

Farklı amaclara gore farklı degisken turleri vardır:I Yerel degiskenler: bildirildigi blokta/fonksiyonda gecerli degiskenlerdirI Genel degiskenler: program icindeki tum fonksiyonlar/bloklarda gecerli

olan degiskenlerdirI extern degiskenler: farklı programlarda gecerli olabilmesi icin dısa

aktarılan degiskenlerdirI static degiskenler: degisken degeri blok/fonksiyon bitse de korunsun

istiyorsakI auto degiskenler: gerektiginde olusturulur, isi bitince ortadan

kaldırılırlarI register degiskenler: yazmac alanlarını kullanan degiskenler

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 20 / 29

Page 21: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Sabitler

Daha once #define ile sembolik sabit tanımlamıstık, sabit degiskentanımlaması ise farklı sekilde yapılmaktadır: veri turu constdegisken adı = degeri

Su sabit turleri vardır:I Tamsayı sabitler (int)I Kayan noktalı sabitler (float)I Karakter sabitler (char)I Karakter dizisi (String) sabitler (char[])

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 21 / 29

Page 22: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Temel Giris/Cıkıs

Standart giris ve cıkıs islemleri icin kullanılması gereken kutuphanestdio.h kutuphanesidir

Standart giris birimi klavye, cıkıs birimi ekrandır.

Standart cıkıs birimine cıkıslar icin printf() fonksiyonu kullanılabilir:printf(kontrol karakterleri, arguman listesi)

Kontrol karakterleri cıkısı yapılan verinin bicimlendirilmesindekullanılır. Bu karakterler % isaretiyle baslar:

%c (isaretsiz karakter), %s (karakter dizisi), %d veya %i (isaretliondalık sayı), %u (isaretsiz ondalık sayı), %o (isaretsiz sekizli sayı),%x (isaretsiz onaltılı sayı), %e (cift duyarlıklı sayı), %f (tek duyarlıklısayı)

%n (satır atlama, yeni satır), %b (imleci sola kaydırma), %f (sayfaatlama), %r (satır bası), %t (tab boslugu)

Ornek: 9printf.c

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 22 / 29

Page 23: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Temel Giris/Cıkıs

Temel giris islemi icin - klavyeden veri alma - scanf() fonksiyonukullanılabilir

scanf(kontrol karakterleri, arguman listesi);

Ornek: 10scanf.c

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 23 / 29

Page 24: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Islecler

Aritmetik, mantıksal ve karsılastırma islemleri icin islec simgelerikullanılır

C programlarında baslıca islec turleri sunlardır:I Aritmetik islecler (toplama, cıkarma, carpma, bolme, arttırma, azaltma)I Mantıksal islecler (ve, veya, degil)I Karsılastırma islecleri (esit, esit degil, buyuk, kucuk, buyuk veya esit,

kucuk veya esit)I Basit atama isleci =

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 24 / 29

Page 25: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Aritmetik islecler

Toplama +, Cıkarma −, Carpma ∗, Bolme / islec simgeleriylegerceklestirilir

Bolme islemindeki kalan icin % isleci kullanılır

++ ve −− islecleri sırasıyla bir arttırma ve bir eksiltme icin kullanılır

Aritmetik islemli atamalar da var + =, ∗ =, − =, / =

Ornek: 11aritmetik.c

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 25 / 29

Page 26: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Mantıksal islecler

&& ve

|| veya

! degil

Ornek: 12mantiksal.c

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 26 / 29

Page 27: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Karsılastırma islecleri

== esit

esit degil (! =)

> buyuk

< kucuk

>= buyuk veya esit

<= kucuk veya esit

Ornek: 12mantiksal.c

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 27 / 29

Page 28: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Islem Onceligi

Isleclerin bir islem onceligi vardır. Program gelistirirken bu islemonceligini bilmek onemlidir.

Yanlıs yapmamak icin, umulmadık buglarla karsılasmamak icin herzaman parantez kullanın!

Ornek: 13islemonceligi.c

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 28 / 29

Page 29: Temel Bilgisayar Programlama - cs.bilkent.edu.trcs.bilkent.edu.tr/~zeynep/files/cbu/2.hafta/cprogramlama.pdf · _I˘cerik 1 Temel Kavramlar Algoritman n tan m ve algoritma geli˘stirme

Kaynakca

Y. Ozkan, C ile Programlama, Alfa Yayınları, 2003

J. Elkner, A. B. Downey, C. Meyers, Bilgisayar Bilimcisi gibiDusunmek: Python ile Ogrenme (2. baskı, Ceviren: T. E. Kalaycı),2010, http://yzgrafik.ege.edu.tr/tekrei/dersler/bbgd p/

Viki, Algoritma, http://tr.wikipedia.org/wiki/Algoritma

A. Bingul, C Programlama Dili’ne Giris,http://www1.gantep.edu.tr/bingul/c/index.php?ders=1

C. Cebi, C Programlama Dersi - I,http://www.cagataycebi.com/programming/c programming/c programming 1.html

F. Kadifeli, A. C. C. Say, M. U. Caglayan, C Programlama Dili, 2007,http://www.kadifeli.com/fedon/stdcprtr.php

C. Cebi, C Programlama Dersi - VI,http://www.cagataycebi.com/programming/c programming/c programming 6.html

Yrd. Doc. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 29 / 29