ALGORİTMA VE PROGRAMLAMA (Bölüm 3)

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "ALGORİTMA VE PROGRAMLAMA (Bölüm 3)"

Transkript

1 ALGORİTMA VE PROGRAMLAMA (Bölüm 3) 1

2 C PROGRAMLAMA DİLİ C Nasıl Bir Programlama Dilidir? C orta düzey bir programlama dili olarak son derece esnek kullanımlı bir dildir. C, bir Assembly dili derleyicisinin sağladığı esneklik ve gücü sağlarken üst düzey bir programlama dilinin sağladığı kolay anlaşılabilirlik özelliğini de sunmaktadır 2

3 Başlarken C Dilinin Temel Özellikleri : C, oldukça fazla sayıda ifade ve denetim komutları bulunduran bir programlama dilidir. Ancak, dikkatli yazılmalıdır. Zira hatalı veya eksik bir işaret programımızı doğru çalıştırmayacaktır. 3

4 Başlarken Program Yazma, Derleme ve Çalıştırma: Önemli olan, önce basit bir programı yazıp derleyebilmek, çalıştırabilmek ve elde edilen sonuçları görebilmektir. Yazma, Derleme ve Çalıştırma kullandığımız ortama bağlı olmakla birlikte genellikle kolay bir şekilde yapılabilir. 4

5 Başlarken C dilinde yazılan programın uzantısı (.c) dir. C dilindeki program (derleyici, bağlayıcı ve Kütüphane fonksiyonları ile) önce (.obj), sonra (.exe) uzantılı olur Böylece (.exe) uzantısı dolayısıyla PC de yürütülebilir hale gelir. 5

6 Başlarken 6

7 Başlarken C de bulunan pek çok fonksiyonun kullanılabilmesi için bazı kütüphane başlık dosyalarının programa eklenmesi gerekir. Karışıklığı önlemek adına programlarımızda gösterilmeyecek olan bu dosyalardan en temel ve önemli olanı: #include <stdio.h> şeklindedir

8 Başlarken Bu başlık dosyasından başka ileri matematik işlemlerde kullanılan #include <math.h> Yine rastgele sayı üretmek, sıralama yapmak vb. işlemlerde kullanılan #include <stdlib.h> gibi farklı başlık dosyaları mevcuttur İhtiyaca göre bu ifadelerin main() öncesinde programın başına eklenmesi gerekir.

9 Başlarken IDE (Tümleşik Geliştirme Ortamı): Tümleşik Geliştirme Ortamları, Derleyicileri Bağlayıcıları tek bir ortam içinden kullanabilmeyi sağlarken Ayrıca Hata ayıklama (debug), Gözlem penceresi (watch) gibi bileşenlere sahiptirler. 9

10 Başlarken IDE lerde yazım işlemini kolaylaştıracak vurgulamalar, uyarılar ve yardım menüleri mevcuttur. Derleyici ve Bağlayıcı parametreleri menülerden ayarlanabilir. Her yazılım dilinin kendi IDE si mevcuttur 10

11 İlk Program: C de Programlamayı öğrenmeye başlarken sıkça kullanılan bir ifade olan Merhaba C yi ekrana yazdıran bir mini örnek programla başlayalım: main() { C PROGRAMLAMA DİLİ (Devam) Başlarken printf( Merhaba C\n ) ; } Not: Daha evvel de belirtildiği gibi yukarıdaki printf() fonksiyonunun çalışabilmesi için main() den önce #include <stdio.h> kütüphane başlık dosyasının eklenmesi gerekir. Dersimizdeki örneklerde bu dosya eklenmeyecektir; ancak bilgisayarda derleme yapmadan önce programda kullanılan fonksiyonlara göre bu ve benzer dosya/dosyaların ilâve edilmesi şarttır. 11

12 Başlarken Bu programın Ekran Çıktısı; Merhaba C şeklinde olur. Not: main İngilizcede ana, asıl anlamındadır. printf() ekrana yazdırmak için kullanılan bir fonksiyondur. 12

13 Başlarken Her komuttan (fonksiyondan/deyimden) sonra ; işareti konulması şarttır. \n Merhaba C ifadesinden sonra satır atlatır. { ve } küme parantezleridir. main() fonksiyonu fonksiyonları/deyimleri bunların içine yazılır. 13

14 Başlarken Bir C programı boyutu ne olursa olsun bir ya da daha fazla fonksiyon denilen bloktan oluşur. C Dilinde olmazsa olmaz fonksiyon (blok) main() fonksiyonudur (bloğudur *). Program her zaman bu main() adlı fonksiyondan çalışmaya başlar. Not: Bundan sonra blok yerine fonksiyon ifadesi kullanılacaktır. 14

15 Başlarken Genelde fonksiyonun yanındaki parantez içinde parametreler (argümanlar) yer alır. Örn: printf( Merhaba C\n ) ; ifadesindeki Merhaba C\n gibi Not: main() fonksiyonunun herhangi bir parametresi olmadığından parantezi boştur. Parametre yoksa parantez içine void ifadesi de yazılabilir. 15

16 Başlarken Fonksiyonlar arasında haberleşme ve (varsa)değerlerin aktarımı parametreler (argümanlar) maharetiyle gerçekleşir. Fonksiyonlar adı yazılan yerde çağrılır(çalışır). (Varsa) elde edilen sonuçlar kendisini çağıran fonksiyona gönderilir. 16

17 printf() fonksiyonu printf() FONKSİYONU printf( Merhaba C \n ); satırı (deyimi) adı printf çağırır. olan bir fonksiyon Not :printf() ekrana bir bilginin yazılmasını sağlayan bir kütüphane fonksiyonudur ve standart C arşivinin (kütüphanesinin) bir parçasıdır. 17

18 printf() fonksiyonu printf() fonksiyonu asla otomatik olarak yeni bir satıra geçiş sağlamaz. Aşağıdaki program önceki örnekteki ile aynı çıktıyı verecektir : main() { } printf( Merhaba ) ; printf( C ) ; printf( \n ) ; 18

19 Benzer şekilde \n \t \b \ C PROGRAMLAMA DİLİ (Devam) Bazı Kontrol Karakterleri satır atlattığı gibi tab için, geriye doğru silme (kürsörü bir karakter öne alma) işlemi için (Backspace), çift tırnağın kendisini yazdırmak için kullanılır. Bunlar görünmeyen kontrol karakterlerdir. Ekrandaki çıktıyı kontrol etmektedirler. 19

20 printf() fonksiyonu Mesaj ile birlikte bir değişkenin değerini ekrana yazdırmak için yine printf() fonksiyonu kullanılabilir. İlk örnek Merhaba C de olduğu gibi sadece mesaj ve değişkenin biçimi çift tırnak içine alınarak belirtilir. 20

21 printf() fonksiyonu printf() fonksiyonu ile hem mesaj hem de değişken değeri birlikte yazılabilir. Örnek: Ekranda sonuc adlı desimal bir değişken yazdırılacaktır. Bunun için önce sonuc= ifadesi, bu ifadenin hemen yanına bu değişkenin değeri yazılacaktır. Değişken değerinden sonra dir. eklenecektir. Gerekli printf() deyimini (komutunu) yazınız. 21

22 printf() fonksiyonu Cevap: printf( sonuc= %d dir.,sonuc); Not: Yukarıdaki printf() fonksiyonu ile sonuc adlı değişkenin değeri sonuc= ifadesinin yanına (%d nin yerine) yazılmakta sonra da dir. eklenmektedir. 22

23 printf() fonksiyonu Burada %d, değerin desimal olarak yazılacağını belirtir. Ekranda sonuc değişkeninin değeri komuttaki %d nin yerine yazılır. Bu durumda Ekran Çıktısı, (sonuc değeri 25 olsun) sonuc=25 dir. şeklinde olur. 23

24 printf() fonksiyonu Örnek: Daha önce hesaplanmış m değişkeni Sayi= ve n değişkeni Karekoku= ifadelerinden sonra ekrana yazdırılmak istenmektedir. m değişkeni desimal (tam sayı), n değişkeni ondalıklı (virgüllü) sayı olacaktır. Tek bir printf() ifadesini ve Ekran Çıktısını yazınız. Not: Ondalıklı sayı için %f kontrol karakteri kullanılır. 24

25 printf() fonksiyonu Cevap: printf( Sayi= %d Karekoku=%f,m,n); şeklinde olabilir. Ekran Çıktısı : ( m=5 ve n= değişken değerleri girildiği durumda) Sayi= 5 Karekoku=

26 printf() fonksiyonu Yukarıda görüldüğü gibi %d, %f vb. gibi yazdırma kontrol karakterleri dışındaki çift tırnak içindeki karakterler çıkışta aynen yazılır. Parantezde kaç değişken varsa o kadar kontrol karakteri olmalıdır. (Örnekte: m ve n için %d ve %f ) Not : Eğer kesirli olan (n) değişkeni için kontrol karakteri olarak %f yazılmayıp %d şeklinde yazılsaydı sayısı yerine çıktıda sadece 2 (tam sayı kısmı) olarak görülecekti. 26

27 printf() fonksiyonu printf() komutu içinde yaygın olarak kullanılan bazı yazdırma kontrol karakterleri şöyledir: %c : tek karakter [ örn: M ] %d : desimal (tam sayı) [ örn: -326] %u : işaretsiz desimal [ örn: 476] (Sadece pozitif sayılar) %f : ondalık kayan nokta [ örn: ] %e : bilimsel (üslü) gösterim [ örn: e+002] %x : heksadesimal [ örn: 3F ] %s : karakter katarı [ örn: ADRES ] 27

28 scanf() fonksiyonu scanf() FONKSİYONU: Klavyeden değer okumak için scanf() adlı yine bir standart kütüphane fonksiyonu kullanılabilir. Bu fonksiyonda da benzer kontrol karakterleri vardır ve okunacak değerin tipini belirler. printf() e benzer şekilde %d tam sayı, %f kesirli (virgüllü) sayı okunacağını ifade eder. 28

29 scanf() fonksiyonu Mesela iki scanf() fonksiyonu ile önce a değişkenine bir tam, sonra b değişkenine bir kesirli sayı okunacaksa; scanf ( %d, &a); scanf ( %f, &b); Not: Burada a veya b adlı değişkenlerin. yazılabilir hafızadaki değerleri (içeriği) anlamında başlarına & karakteri gelmektedir. 29

30 scanf() fonksiyonu Eğer X ve Y adlı iki desimal değişkeni aynı scanf() fonksiyonunda okumak istersek, aşağıdaki gibi iki farklı şekilde yazabiliriz. İki komut arasındaki fark ilk %d den sonraki virgüldür. (Kullanıcı tarafından klavyeden girilen sayılar 12 ve 567 olsun) scanf( %d,%d, &X, &Y); scanf( %d %d, &X, &Y); /* Sayılar arasına virgül konarak giriş yapılır. Yani klavyede 12,567 yazılır */ /* Sayılar arasına boşluk konarak giriş yapılır. Yani klavyede yazılır */ 30

31 main() fonksiyonu Şimdiye kadar öğrendiklerimizi uygulamak için Örnek : main() fonksiyonu içinde iki tam sayıyı toplayıp ortalamasını alarak ekrana yazdıran bir C programı yazınız. 31

32 main() fonksiyonu main() { int a,b,top ; /* a ve b toplanacak tam sayilar, top ise toplam degiskeni */ float ort ; /* ortalama degiskeni ort ve tipi kesirli (virgüllü) */ printf( iki sayı giriniz: ) ; /* ekrana iki sayı giriniz: mesaji yaziliyor*/ scanf( %d,%d,&a,&b); /* a ve b tam sayı olarak klavyeden okuyacak */ top= a+b ; /* a ve b toplanip top degiskenine aktariliyor*/ ort = top/2.0 ; /* ortalama alinip ort degiskenine aktariliyor */ printf ( ortalama= %f dir.,ort) ; /* ort degeri yaziliyor */ } /* Bu karakterler arasına açıklama yazılabilir */ 32

33 main() fonksiyonu Ekran Girişi ve Çıktısı ise ( a= 5 ve b= 4 olduğu kabul edilsin, Giriş sayıların arasına virgül konarak kullanıcı tarafından klavyeden yapılıyor) iki sayı giriniz: 5,4 ( ortalama= Not: Çıktıda Float tipi sonuç olduğundan noktadan sonra 6 basamak yazıldı.(12 basamak veren derleyiciler de vardır) 33

34 main() fonksiyonu Örnek: Tamsayı olarak verilen X ve Y nin farkını (X-Y) hesaplayıp SAYILARIN FARKI= fonk. yazınız. ifadesinden sonra yazdıran main() main() { /* Bu main fonksiyonu X ve Y nin farkini hesaplar*/ int X,Y,fark ; /* X, Y, fark tam sayi */ printf ( iki sayı giriniz: ) ; /* Ekrana iki sayı giriniz: mesaji yazilsin */ scanf ( %d,%d,&x,&y) ; /* X ve Y klavyeden okunacak */ fark= X-Y ; /* X ve Y cikarilip fark degiskenine aktariliyor*/ printf ( SAYILARIN FARKI= %d, fark) ; /* cikis yaziliyor */ } 34

35 main() fonksiyonu Ekran Girişi ve çıktısı olarak ( X=25 ve Y=13 olduğu kabul edilirse ) iki sayı giriniz: 25, 13 SAYILARIN FARKI= 12 35

36 main() fonksiyonu Örnek: Klavyeden girilen, kesirli sayı olan yarıçap (R) ile dairenin alanı ve çevresini hesaplayarak ekrana yazdıran bir main() fonk. yazınız. ( = 3.14 alınacaktır) 36

37 main() fonksiyonu main () { float R,S,C ; /* R: Yaricap S: Alan C: Cevre olsun*/ printf( Yaricapi Giriniz: ); /* Yaricapi Giriniz: yaz*/ scanf ( %f, &R); /* Yaricapi R degiskenine oku*/ S= 3.14 * R * R ; /* Alani hesapla*/ C = 2 * 3.14 * R ; printf ( Dairenin Alani= %f\n, S); printf ( Dairenin Cevresi= %f, C); } /* Bu ornek main fonk. Dairenin alani ve Cevresini hesaplar*/ /* Cevreyi hesapla*/ /* Alani ekrana yazdir*/ /* Cevreyi yazdir*/ 37

38 main() fonksiyonu Programın Ekran Girişi ve Çıktısı: (Dairenin Yarıçapı = 5.2 kullanıcı tarafından girilmiş olsun) Yarıcapi Giriniz: 5.2 Dairenin Alani= Dairenin Cevresi=

39 main() fonksiyonu Örnek: Tabanı (a) ve yüksekliği (h) olup virgüllü sayı olarak verilen bir üçgenin alanını hesaplayıp yazdıran main() fonk. yazınız. main() { /* Bu main fonksiyonu ücgenin alanini hesaplar*/ float a,h,alan; /* a: taban, h: yukseklik ve alan olsun */ printf ( Taban ve yuksekligi giriniz: ) ; /* kenarlari girin mesaji */ scanf ( %f,%f,&a,&h); /* a ve h klavyeden okunacak */ alan = a*h/2.0; /* alan hesaplanip alan adli degiskene aktariliyor */ printf ( Ucgenin Alani= %f,alan) ; /* cikis yaziliyor */ } 39

40 main() fonksiyonu Ekran Girişi ve çıktısı: (Üçgende a=5.5 ve h=4.6 olarak klavyeden girildi ise ) Taban ve yuksekligi giriniz: 5.5, 4.6 Ucgenin Alani= dir. 40

41 SABİTLER: C PROGRAMLAMA DİLİ (Devam) Sabitler Programın yürütülmesi sırasında değerleri değişmez. Sabitler genelde sayısal ve alfasayısal olurlar Sabitler üzerlerinde aritmetik işlem yapılarak değiştirilemezler Sayısal sabit örn : 3.45 Alfasayısal sabit örn: 34MYO Alfasayısal sabitler tırnak içerisinde verilir. Alfasayısal sabit tek karakter ise tek tırnak, birden fazla karakter ise çift tırnak içinde verilir.

42 Sabitler Sabit tanımlanırken program boyunca değişmeyeceğini belirtmek için sabit tipinin başına const ibaresi konulmalıdır. Meselâ: const int a= - 45; /* a adli ve degeri - 45 olan sabit (tam) sayi demektir, bu tanımdan sonra programda a yazılırsa (- 45) anlamına gelir */ const float b= ; /* b adli kesirli bir sabit sayi */ const char ch = A ; /* ch adli karsiligi A olan sabit karakter */

43 DEĞİŞKENLER: C PROGRAMLAMA DİLİ (Devam) Değişkenler Değişkenler hafızada saklanan ve program boyunca değeri değişebilen simgesel isimlerdir. C'de temel olarak (sabitlere benzer) Sayısal ve Alfasayısal değişken türleri bulunmaktadır. Değişkenler içlerine uygun nesneler konan farklı tipte kutular olarak düşünülebilir. Her nesne her kutuya konamaz. Mesela ondalık bir sayı, (int) tipi kutuya konmaz. Konursa veri kayıpları oluşabilir.

44 Değişken tipleri uzunluklarına göre de değişir. En yaygın olanlar: int C PROGRAMLAMA DİLİ (Devam) Değişkenler : Hafızada 2 bayt (16 bit) veya 4 bayt(32 bit) yer tutan tam sayı için kullanılır. (Derleyiciye göre farklı iki durum vardır!) short int : int tipinin yarısı uzunlukta 1 ya da 2 bayt sayı long int : int tipinin iki katı uzunlukta 4 ya da 8 bayt sayı float : Tek hassasiyetli kesirli sayı (virgülden sonra 6 basamak) double : Çift hassasiyetli kesirli sayı (virgülden sonra 12 basamak) char : Tek yada daha fazla karakter saklar. (Hafızada her karakter 1 bayt yer tutar)

45 Değişkenler Bazı değişken tanımlama örnekleri şöyle olabilir: int x=69,y,z; /* x in başlangıç degeri 69 olsun */ short int say; /* say adlı değişken 1 bayt (8 bit) */ long int sonuc; /* sonuc adlı değişken 4 bayt (32 bit) */ float pi; /* pi adlı kesirli bir değişken */ double e= ; /* e adlı çift hassasiyetli kesirli sayı değişkeni başlangıç değeri ile tanımlanmıştır */ char sehir[15] ; /* sehir adli 15 uzunluklu karakter */

46 Değişkenler tanımlanırken birden fazla olacak ise virgül ile ayrılmalıdırlar. Her ifade/deyim gibi değişken tanımının sonuna noktalı virgül konulması zorunludur. Değişkenlerin hafızada karşılıkları vardır. Bir Değişkenin hafızadaki karşılığı genellikle Tam sayı Kesirli sayı Karakter C PROGRAMLAMA DİLİ (Devam) Değişkenler olabilir

47 Değişkenler Tam sayı değişkeni tanımlamak için Örn: int a,b,c ; /* 3 tam sayı değişken tanımlanıyor */ [ Burada a,b,c ( gibi ) değerler alabilir, ama kesirli sayı olmaz)]

48 Bu değişkenlere başlangıç değeri de verilebilir. Örnek olarak kısa bir main() fonksiyonunda a isimli bir tam sayı değişkeni tanımlayalım ve program içinde bu değişkene 10 başlangıç değeri verip a nin degeri= ifadesinden sonra çıktı olarak yazdırarak bir satır atlatalım: main() { C PROGRAMLAMA DİLİ (Devam) Değişkenler } int a=10 ; printf ( a nin degeri= %d\n,a) ;

49 Değişkenler Kesirli (ondalıklı) sayı değişkeni tanımlamak için Mesela float f= ; /* Başlangic değeri verilmiş f adli ondalıklı değişken */ Float tipinde bir değişken aşağıdaki gibi değerler alabilir: E9 ( üslü sayıdır : -5, ) Bu sayıları bir int değişkenine eşitlersek sadece tam kısmını alırız. (8.7 yerine 8 alınır.)

50 Örnek olarak main() fonksiyonu içinde bir a değişkenine kesirli bir sayı değeri verelim ve bunu a nin degeri= ifadesinden sonra 2 basamak tam kısmı, 3 basamak kesirli kısmı olacak şekilde çıktı olarak yazalım. main () { C PROGRAMLAMA DİLİ (Devam) Değişkenler } float a ; a= ; printf ( a nin degeri= %2.3f,a) ; Ekran Çıktısı: a nin degeri= olacaktır.

51 Tam sayı ve Float Değişken Tiplerinin Beraber Kullanımı Bir float değişkenine int tipi değişken eşitlenirse, C otomatikman bu değeri float tipine çevirir. Mesela main() { C PROGRAMLAMA DİLİ (Devam) Değişkenler } float a ; int b=10 ; a=b ; printf ( a nin degeri= %f,a); Ekran Çıktısı a nin degeri= şeklinde elde edilir.

52 Karakter Tanımlamak için Aşağıda Ch adlı bir karakter değişkeni tanımlanmıştır char Ch ; C PROGRAMLAMA DİLİ (Devam) Değişkenler Değişken tanımlanırken de başlangıç değeri verilebilir char Ch= H /* Başlangıç değeri H olsun */ Karakter uzunluğu birden farklıysa değişken adının yanında bu değer de yazılır. char isim[28]; /* isim adlı uzunluğu 28 olan bir karakter değişkeni tanımladık */

53 Değişkenler Bu defa, a adlı bir karakter değişkenine klavyeden girilen bir harfi yerleştirerek bu değerin karakter tipinde a nin degeri= ifadesinden sonra yazdırıp bir satır atlamayı sağlayan programı main() içinde yazalım. main () { char a ; } printf ( Harfi Girin: ); scanf( %c, &a); printf ( a nin degeri= %c\n,a); Ekran Çıktısı: (Klavyeden z harfi girildiyse ) a nin degeri= z şeklinde elde edilir.

54 Bir başka tip tanımlaması da sayının işaretsiz olduğunu belirtir. Bunun için unsigned C PROGRAMLAMA DİLİ (Devam) İşaretsiz Değişkenler unsigned int sayi ; kelimesi kullanılır. Mesela; sayi adlı değişkenin tam sayı türünde olduğu, sadece pozitif sayı olacağı anlaşılır. Böylece çalışma alanı (int 16 bit kabul edilirse) sayı 0 ile aralığında olur. (2 16 = ; sıfır dahil!)

55 İşaretsiz Değişkenler unsigned int sayi ; /* sayi adlı sadece pozitif 16 bit*/ unsigned long sayi ; /* sayi adlı sadece pozitif 32 bit */ unsigned (işaretsiz) ifadesi olmasaydı çalışma aralığı olacaktı. Yani sayi işaretli olacak ve hem pozitif hem negatif değerler alabilecekti. NOT: Mikrodenetleyiciler dersindeki pozitif (+) ve negatif (-) değerler alabilen işaretli sayıları hatırlayınız.

56 Değişkenler Sık kullanılan Değişken Türlerini bir Tablo halinde Özet olarak tekrar verirsek

57 Fonksiyonlar C FONKSİYONLARI İyi tasarlanmış bir program, büyük bir programı parçalara (fonksiyonlara) böler. Fonksiyon belli bir işi yapan program parçasıdır. main() de bir fonksiyondur. Ancak daha önce belirtildiği gibi olmazsa olmazdır ve program her zaman buradan çalışmaya başlar.

58 Fonksiyonlar Fonksiyonlar değer (parametre) kullanarak ya da kullanmadan çalışırlar. Bir fonksiyon yazılıp hatalardan arındırıldıktan sonra başka programlarda da kullanılabilir. Kütüphane fonksiyonları da birer hazır fonksiyondur, daha önce yazılıp yerleştirilmişlerdir ve derleme sırasında kullanılırlar.

59 Fonksiyonlar Bir değer alıp işlem yapan ama kendisi bir değer vermeyen (üretmeyen) bir fonksiyon olarak printf("merhaba, Dunya"); örnek olarak verilebilir. Burada printf() fonksiyonuna, Merhaba, Dunya değer olarak girmekte ancak kendisi bir değer üretip başka fonksiyona göndermemektedir. printf() sadece ekrana çıktı yazmaktadır.

60 Fonksiyonlar Standart C de çok sayıda (farklı başlık dosyalarıyla kullanılan) hazır kütüphane fonksiyonları bulunmakla birlikte şimdilik birkaç örneği inceleyelim. Aşağıdaki örnek kütüphane fonksiyonu, büyük harfle yazılmış bir karakteri küçük harfe çevirmektedir.

61 tolower() Fonksiyonu Bu fonksiyona parantez içinde parametre olarak büyük harf girer ve küçük harf şeklinde bir değer üretir. Örnek: C PROGRAMLAMA DİLİ (Devam) tolower() Fonksiyonu main() fonk. içinde klavyeden girilenbüyük bir karakteri tolower() fonksiyonu kullanarak küçük karaktere dönüştürüp yazdıran bir main() fonksiyonu yazınız.

62 tolower() Fonksiyonu main() { char a,b; printf("bir buyuk harf girin:"); scanf("%c",&b); a=tolower(b); printf("%c nin Kucugu:%c",b,a); } Ekran Çıktısı: (K harfi girildiği kabul edilirse) K nin kucugu:k elde edilecektir. Not: Tersine küçük karakteri büyük karaktere dönüştürmek için benzer şekilde toupper() fonksiyonu kullanılabilir.

63 abs() Fonksiyonu abs() Fonksiyonu (Mutlak değer alır) Örnek: Klavyeden girilen bir Negatif sayının mutlak değerini main() içinde yazdırınız main() { int a,b; printf("bir negatif tam sayi Girin:"); scanf("%d",&a); b=abs(a); printf("%d sayisinin mutlak degeri:%d dir.",a,b); } Ekran Çıktısı (( -58 girilirse) sayisinin mutlak degeri:58 dir.

64 strcpy() Fonksiyonu strcpy() Fonksiyonu (Karakter katarını bir değişkene kopyalar) Örnek: 18 karakterli bir ifadeyi ch adlı değişkene aktardıktan sonra ekrana yazdıran programı main() fonksiyonu içinde yazınız main() { char ch[19]; strcpy(ch,"merhaba,nasilsiniz"); printf("%s\n",ch); } Ekran Çıktısı: MERHABA,NASILSINIZ

65 floor() Fonksiyonu floor() Fonksiyonu (Kesirli bir sayıyı bir alt tam sayıya yuvarlar) Örnek: Kesirli olarak klavyeden girilen sayıyı bir alt tam sayıya yuvarlayan main() fonksiyonunu yazınız. main() { float s; int a; scanf(" %f", &s); a=floor(s); printf("asagi Yuvarlanmıs Sayi:%d",a); }

66 Komut getchar() getche() getch() gets() putchar() puts() C PROGRAMLAMA DİLİ (Devam) Formatsız Giriş ve Çıkış Komutları İşlem Klavyeden bir karakter okur ve ENTER e basılmasını bekler Klavyeden bir karakter okur ve ENTER e basılmaksızın karakteri değişkene aktarır. Karakter ekrana yazılır. Klavyeden bir karakter okur ve ENTER e basılmaksızın karakteri değişkene aktarır.karakter ekrana yazılmaz. Klavyeden girilen karakter katarını bir değişkene aktarır. Ekrana bir karakter yazar. Bir karakter katarını ekrana yazar.

67 Formatsız Giriş ve Çıkış Komutları Örnek: Girilen bir cümleyi bir karakter değişkenine aktardıktan sonra bir tuşa basılmasını bekleyen ve ekrana yazan bir main() fonk. yazın. main() { } char str[80]; printf("bir cumle yazin:"); gets(str); printf("bir tusa basin...\n"); puts(str); getch(); //Program bir tuşa basınca sonlanır

68 Formatsız Giriş ve Çıkış Komutları Örnek: Girilen bir karakteri bir değişkene aktardıktan sonra bir satır atlayıp ekrana yazan bir main() fonk. yazın. main() { } char ch; printf("bir harf yazin:"); ch=getchar(); printf("\n"); putchar(ch);

69 Fonksiyonlar Fonksiyonlar sadece main() ya da kütüphane fonksiyonlarından ibaret değildir. Genellikle pek çok işlem programcı tarafından yazılan çeşitli fonksiyonlarca yapılır Ve ürettiği değerler main() fonksiyonuna gönderilir.

70 Fonksiyonlar Mesela programcı tarafından ismi top() olan bir toplama fonksiyonu yazılarak toplama işlemini yapılabilir ve sonuc (toplam) main() fonksiyonuna gönderilebilir. Aşağıda bir fonksiyonun genel yapısı ve çeşitli örnekler incelenecektir.

71 Fonksiyonlar Genel olarak bir Fonksiyonun Yapısı: fonksiyontipi fonksiyonadi (arguman listesi ) argumanların tip bildirimi; { fonksiyona ait (yerel) değişkenlerin bildirimi.. fonksiyon içindeki deyimler ve diğer fonksiyonlar.. } 71

72 Fonksiyonlar Yazacağımız fonksiyona yaptığı işle ilgili bir ad verilir. topla(), carp(), ara(), gibi Bu ad C dilinde kullanılan anahtar kelimeler (return, printf, scanf vb) olamaz. fonksiyontipi ise fonksiyon görevini yaptıktan sonra çağrıldığı yere göndereceği sonucun (değerin) ne tip (tam sayı [int], kesirli sayı [float] vb.) olacağını belirtir. 72

73 Fonksiyonlar Örnek: Önce a ve b tam sayı değişkenlerini toplayan top() adlı bir toplama fonksiyonu yazalım. Not 1 : Sadece fonk. içinde kullanılan (yerel) toplam değişkeni g dir. Bu değer return g deyimi ile main() fonksiyonuna geri yollanacaktır. Not 2 : top(a,b) nın başında yer alan int bu geri gönderilen g değerinin tipini belirtir.)

74 Fonksiyonlar int top(a,b) /* top(a,b) fonksiyonunun main() e gondereceği toplamın tipi int */ int a,b ; /* top() a ait arguman degiskenleri tam sayı */ { } int g ; /* Sadece bu fonk. icinde tanimli g degiskeni tam sayı */ g=a+b ; /* Toplama islemi yapiliyor, toplam g ye */ return g; /* g degiskeni top() fonksiyonunu cagiran main() deki fonksiyona geri yollaniyor */ 74

75 Fonksiyonlar Yukarıdaki örnekte iki tam sayıyı toplayan bir top() fonksiyonu yazmıştık. Ancak bu fonksiyon tek başına yani main() fonksiyonu olmadan çalışamaz. Şimdi toplama yapan bu top() fonksiyonunu kullanacak bir main() fonk. yazalım. Bu main() de iki değişkenin ortalaması alınsın ve sonuç ortalama= ifadesinden sonra ekrana yazdırsın. Not: Bu main() fonksiyonunda toplanan değişkenlerin x ve y şeklinde farklı kullanılabildiğine dikkat edelim.

76 Fonksiyonlar main() { int x,y,z; /* her üc degisken tam sayi */ float ort; /* ort degiskeni kesirli sayi */ printf ( iki sayı giriniz: ) ; /* sayiların girilmesi mesaji */ scanf( %d, %d,&x,&y) ; /* sayilar klavyeden okunuyor */ z=top(x,y) ; /* top() fonksiyonu cagriliyor */ ort = z/2.0 ; /* ortalama hesaplaniyor */ printf ( ortalama= %f dir.,ort) ; /*ort degeri yazdiriliyor*/ } 76

77 Fonksiyonlar Ekran çıktısı (Örn: x=64 ve y=65 olarak girilsin.) 64,65 ortalama= şeklinde olur. NOT: main() deki toplama değişkenleri x ve y iken top() fonksiyonunda a ve b olduğuna dikkat edelim. main() deki x yerine top() fonksiyonunda a ; y yerine b nin karşılık gelmektedir.

78 Fonksiyonlar Örnek : main() tarafından çağrılan carp() adlı bir çarpma fonksiyonunu main() fonk. ile birlikte yazalım. Bu fonksiyonun değişkenleri a ve b ise artık parametreleriyle birlikte carp(a,b) olarak da fonksiyonu ifade edebiliriz. Programda main() içinde her carp() yazdığımızda bu çarpma fonksiyonu çalışır ve çarpma gerçekleşir carp() fonksiyonundaki return deyimi ile sonuç kendisini çağıran fonksiyona geri gider. 78

79 Önce main() fonksiyonu: main() { int x,y,z ; /* her üc degisken tam sayi */ printf ( iki sayı giriniz: ) ; /* sayiların girilmesi mesaji */ scanf( %d, %d,&x,&y) ; /* sayilar klavyeden okunuyor */ z=carp(x,y) ; /* carp() fonksiyonu cagriliyor */ printf ( carpim= %f dir., z) ; } C PROGRAMLAMA DİLİ (Devam) Fonksiyonlar /* carpim= ifadesi ve z degeri ekrana yazdiriliyor.*/

80 Fonksiyonlar Şimdi main() tarafından çağrılan carp() Fonksiyonumuzu yazalım: adlı Çarpma int carp(a,b) { } /* carp() fonksiyonunun sonucunun tipi tam sayi (int), argumanları a ve b */ int a,b; /* a ve b, carp() fonk. argumanlari tam sayı */ int g; /* carpim da tam sayı olacak */ g= a*b; /* carpim yapılıyor, sonuç g değişkenine */ return g; /* bulunan g değeri çağrıldığında, çağıran fonksiyona geri gönderiliyor */ 80

81 Örnek : main() fonksiyonunu yazmadan değişkenleri a ve b olan bol() adlı bir bölme fonksiyonu yazınız. float bol(a,b) int a,b; sayı (float), a ve b değişkenleri tam sayı */ { float g; /* bölüm g kesirli sayı */ g= a/b; /* bölüm yapılıyor, sonuç g değişkenine */ return g; /* bulunan g değeri, bol() fonksiyonunun } C PROGRAMLAMA DİLİ (Devam) Fonksiyonlar /* bol() fonksiyonunun sonucunun tipi kesirli cagrildigi yere geri gönderiliyor */ 81

82 Operatörler OPERATÖRLER: Değişkenler ve sabitler üzerinde çeşitli işlemler yaparlar. 4 Grupta incelenebilirler : Aritmetik Operatörler Karşılaştırma Operatörleri Mantıksal Operatörler Bit seviyesinde işlem yapan Operatörler

83 + - * / C PROGRAMLAMA DİLİ Aritmetik Operatörler (Devam) Aritmetik Operatörler: % Toplama Çıkarma Çarpma Bölme Modulüs (kalan) Bir azaltma (tam sayı veya karakterlerde) Bir arttırma (tam sayı veya karakterlerde)

84 C PROGRAMLAMA DİLİ Aritmetik Operatörler (Devam) Temel Aritmetik Operatörleri, örneklerimizde zaten büyük oranda kullanmıştık.örnek olarak (-) yani çıkartma operatörünü hatırlamak için iki tam sayıyı çıkardıktan sonra ekrana yazan main() fonk. yazalım. main() { int a,b ; b= 3 ; a= 2-b ; printf ( a nin degeri= %d\n,a); } Ekran Çıktısı: a nin degeri= -1 elde edilir.

85 C PROGRAMLAMA DİLİ Aritmetik Operatörler (Devam) Yukarıdaki çıkarma işleminde a=2-3; ifadesinde (-) yerine (/) kullansaydık, yani çıkarma yerine bölme yapmak isteseydik, a=2/3; yazacaktık. Bu durumda Ekran Çıktısı: a nin degeri= 0 şeklinde olurdu! Bunun sebebi a değişkeninin int a,b ; ile tam sayı olarak tanımlanmasıdır. Bu yüzden ekranda, olan asıl neticenin tam kısmı olan 0 görülmektedir.

86 C PROGRAMLAMA DİLİ Aritmetik Operatörler (Devam) Modulüs Operatörü : Aritmetik Operatörlerden bir diğeri de modulüs işlemi için kullanılan % operatörüdür. Bölme işlemi sonrası kalanı gösteren bir operatördür. Mesela, aşağıda 5%2 işlemi ile 5 sayısı 2 ye bölünmekte ve kalan 1 olarak elde edilmektedir.

87 C PROGRAMLAMA DİLİ Aritmetik Operatörler (Devam) main() { int a; a= 5%2 ; printf ( a nin degeri= %d\n,a); } Ekran Çıktısı : a nin degeri= 1 elde edilir.

88 C PROGRAMLAMA DİLİ Aritmetik Operatörler (Devam) Arttırma Operatörü: Aritmetik Operatörlerden bir diğeri de ++ (bir arttırma ) operatörüdür. Mesela main() { int m=7, j=12 ; /* tam sayılar, Baslangic degerleri */ m ++ ; /* m=m+1, m değeri 1 artti */ ++ j ; /* j=j+1 üstteki deyimle ayni anlamda */ printf ( %d,%d,m,j) ; } Ekrana çıktı olarak 8,13 değerleri yazılır. Not: Benzer şekilde m-- veya --j ile bir eksiltme işlemi yapılabilir.

89 C PROGRAMLAMA DİLİ Aritmetik Operatörler (Devam) Aşağıdaki örnekte değişken aktarımı olduğundan dikkatli olunmalıdır. main() { int m=7, j=12,k,z ; k=m++ ; /* once m=m+1 sonra k=m anlamında */ z= ++j ; /* once z=j dir, sonra j=j+1 */ printf ( k=%d,z=%d,k,z) ; } Ekran Çıktısı olarak k=8 z=12 yazılır.

90 C PROGRAMLAMA DİLİ Karşılaştırma Operatörleri Karşılaştırma Operatörleri: Sayı değerlerini ve karakterleri karşılaştırmak için kullanılırlar. Ancak karakter katarlarını karşılaştırmazlar. Bunlar; > büyük mü? >= büyük veya eşit mi? < küçük mü? <= küçük veya eşit mi? == eşit mi?! = farklı mı?

91 C PROGRAMLAMA DİLİ Karşılaştırma Operatörleri (Devam) Bu operatörler Karşılaştırma ve Döngülerde şartın test edilmesi için kullanılırlar. 3 farklı yapıda incelenebilirler: 1) if yapısı 2) if-else yapısı 3) switch-case yapısı

92 C PROGRAMLAMA DİLİ Karşılaştırma Operatörleri (Devam) 1) if yapısı : Bir veya birden fazla şartın gerçekleşmesine bağlı olarak bir komut ya da komutlar bloğunun çalışması sağlar. Şarta bağlı olarak tek bir komut çalışacaksa, komut if deyiminin altına (ya da sonra) yazılabilir. Eğer şart sağlandığında komutlar bloğunun çalışması isteniyorsa o zaman bu komutlar küme parantezine {} alınmalıdır

93 Örnek olarak aşağıdaki program parçasında ekrana MERHABA yazdırmak için m değişkeninin 30 dan büyük olması gerekir.. if (m > 30). C PROGRAMLAMA DİLİ Karşılaştırma Operatörleri (Devam) printf( MERHABA ) ;

94 C PROGRAMLAMA DİLİ Karşılaştırma Operatörleri (Devam) Parantez içine sadece değişken yazılırsa ve bu değişken sıfırdan farklıysa işlem yapılır. Örn;. if (k) printf( SIFIRDAN FARKLI ) ;. k değişkeni sıfırdan farklı ise ekrana SIFIRDAN FARKLI yazılacaktır.

95 C PROGRAMLAMA DİLİ Karşılaştırma Operatörleri (Devam) Aşağıdaki örnekte girilen sayıların birincisi 41 den büyük ve ikincisi 51 den küçük ise ifadeyi çıktıya yazar ve satır atlar. main() { int t,k; printf ( iki sayi giriniz : ) ; scanf ( %d,%d, &t,&k) ; if ( t>41) if ( k < 51) printf ( Sayilar 42 ile 50 arasinda\n ) ; }

96 C PROGRAMLAMA DİLİ Karşılaştırma Operatörleri (Devam) 2) if-else yapısı: if deyimine benzer şekilde if parantezi içinde verilen şart sağlanıyorsa (şart doğru ise) if den sonraki komut ya da komutlar çalışır. Eğer if parantezi içindeki şart sağlanmıyorsa (şart yanlış ise) else kelimesinden sonraki komut veya komutlar çalıştırılır. else den sonra şayet birden fazla komut çalıştırılmak isteniyorsa bu komutlar yine küme parantezine {} alınmalıdır.

97 C PROGRAMLAMA DİLİ Karşılaştırma Operatörleri (Devam) Örnek : Program çalıştığında klavyeden bir karakter girilmesi istenecek bu karakterin küçük ya da büyük olduğu ekrana yazılacaktır. main() { char ch; printf( Bir harf giriniz : ); ch=getche(); printf( \n ); if ( A <=ch && ch<= Z ) printf( Buyuk harf girdiniz : ; else printf( Kucuk harf girdiniz : ; }

98 C PROGRAMLAMA DİLİ Karşılaştırma Operatörleri (Devam) 3) switch-case Yapısı: Bu yapıda bir değişken ya da ifade birkaç ayrı değerle karşılaştırılır ve eşitlik durumuna göre program akışı değişir Yapısı: switch (değişken veya ifade) { case 1: Komut Komut break; case 2: Komut Komut break; case 3: Komut Komut break; }

99 C PROGRAMLAMA DİLİ Karşılaştırma Operatörleri (Devam) Örnek: Klavyeden girilen 1 veya 2 veya 3 sayılarına göre ekranda hangi sayının girildiğini yazdıran bir main() fonksiyonu yazınız. main() { int a; printf ( Bir sayi giriniz (1/2/3) : ) ; scanf ( %d, &a) ; switch(a) { case 1: printf( BIR sayisi girdiniz \n ); break; case 2: printf( IKI sayisi girdiniz \n ); break; case 3: printf( UC sayisi girdiniz \n ); break; } }

100 Mantıksal Operatörler: Yukardaki örnekteki gibi birden fazla şart varsa bunlar birleştirilip tek bir şart olarak yazılabilir. Böyle durumlarda mantıksal operatörler kullanılır. Bunlar: C PROGRAMLAMA DİLİ Mantıksal Operatörler && (VE işlemi için) (VEYA işlemi için)! (DEĞİL işlemi için)

101 Yukardaki örneği mantıksal operatör kullanarak tekrar yazalım; main() { } C PROGRAMLAMA DİLİ Mantıksal Operatörler (Devam) int t,k ; printf ( iki sayi giriniz : ) ; scanf ( %d,%d, &t,&k) ; if ( t>41 && k < 51 ) printf ( Sayilar 42 ile 50 arasinda\n ) ;

102 C PROGRAMLAMA DİLİ Mantıksal Operatörler (Devam) Aşağıdaki örnekte klavyeden girilen sayının tek ya da çift olduğu çıktıda yazılmaktadır: main() { int sayi,t ; printf ( sayiyi giriniz : ) ; scanf ( %d, &sayi) ; t= sayi % 2 ; if (t) printf ( Tek Sayi ) ; else printf ( Cift Sayi ) ; }

103 C PROGRAMLAMA DİLİ Bit Seviyesi Operatörleri Bit seviyesinde işlem yapan Operatörler Bir tam sayı ya da karakter değişkeninin bitleri üzerinde test, değiştirme ve öteleme gibi işlemleri yapan operatörlerdir. Bu suretle assembly dili seviyesinde çalışmak mümkün olur.

104 C PROGRAMLAMA DİLİ Bit Seviyesi Operatörleri (Devam) Bu operatörler 6 tanedir: & Bit seviyesinde VE işlemi Bit seviyesinde VEYA işlemi ^ Bit seviyesinde özel VEYA işlemi ~ 1 e tümleme << Sola Öteleme >> Sağa Öteleme

105 C PROGRAMLAMA DİLİ Bit Seviyesi Operatörleri (Devam) & operatörü istenen bit/bitleri sıfırlamak için kullanılabilir. Bunun için örnek olarak ikili sayısı yani (06) sayısı ile bir a değişkeninin bit seviyesinde VE işlemine tabi tutulmasını ele alalım a değişkeninin önce desimal 12 (heksadesimal 0C) değerinde olduğu durum için

106 C PROGRAMLAMA DİLİ Bit Seviyesi Operatörleri (Devam) Önce a = d 12 = h 0C olsun. a = a & 6 ifadesi (komutu) yazılırsa a değişkeninin 1. ve 2. bitleri dışındakiler sıfırlanmış olur. Bu komuttan sonra a = 4 olur. Benzer şekilde diğer operatörlerle de belirtilen işlemler yapılabilir. Bit No a değişkeni : (d 12 ) = h 0C nın binary ifadesi a & 6 nın değeri : (04)

107 C PROGRAMLAMA DİLİ Program Akışı Kontrol Deyimleri C Dilinde Program Akışı Kontrol Deyimleri oldukça güçlü olduğundan çoğu zaman GOTO türü bir deyim kullanma ihtiyacı olmaz. Bu deyimler 2 grupta incelenebilir: Karşılaştırma Deyimleri Döngü Deyimleri Not: 1. Grupta yer alan deyimler Karşılaştırma Operatörleri incelenirken kısmen incelenmiştir.

108 C PROGRAMLAMA DİLİ Program Akışı Kontrol Deyimleri (Devam) C Dilinde Program Akışı Kontrol Deyimleri oldukça güçlü olduğundan çoğu zaman GOTO türü bir deyim kullanma ihtiyacı olmaz. Akışı Kontrol Deyimleri 2 grupta incelenebilir: Karşılaştırma Deyimleri (Daha önce if deyimi ile kısmen incelenmişti) Döngü Deyimleri

109 C PROGRAMLAMA DİLİ Program Akışı Kontrol Deyimleri (Devam) Döngü Deyimleri: Bu tip deyimler kümenin (belli komutlar grubunun) belirli bir şart altında tekrarlanması amacıyla kullanılırlar. 3 tip Döngü deyimi vardır: 1. while 2. do while 3. for Not: 1 ve 3. grupta şart döngünün başında test edilir. 2. grupta döngünün başında sonunda test edilir.

110 C PROGRAMLAMA DİLİ Program Akışı Kontrol Deyimleri (Devam) 1. while : Şart olumlu olduğu sürece döngü tekrarlanır. Aşağıda sayac değişkeni 0.49 olarak ekranda yazılıyor. main() { int sayac=0; while(sayac<50) { printf( %d,sayac); sayac++; } }

111 C PROGRAMLAMA DİLİ Program Akışı Kontrol Deyimleri (Devam) 2. do.while: while deyiminden farklı olarak şart döngü sonunda tekrarlanır. Döngü enaz 1 kere tekrarlanır. Aşağıda girilen sayının karesi hesaplanarak yazdırılmaktadır. main() { } int sayi; do { printf( BIR SAYI GIRIN: ); scanf( %d,&sayi); printf( KARESI=%d\n,sayi*sayi); } while(sayi>0);

112 C PROGRAMLAMA DİLİ Program Akışı Kontrol Deyimleri (Devam) 3. for : Diğer döngü deyimleri gibi bir grup deyimi belli sayıda tekrarlamak için kullanılır. Şart önceden test edilir. Aşağıda 10 dan başlayarak 5 er arttırımla 50 ye kadar olan sayıların karesi hesaplanıp yazdırılıyor. main() { int a; for (a=10;a<=50;a=a+5) { printf( a nin karesi=%d\n,a*a); } printf( Dongu sona erdi!\n ); }

113 C PROGRAMLAMA DİLİ Faydalanılan Kaynaklar ALGORITHMS AND FLOWCHARTS, faraday.ee.emu.edu.tr/ web sitesi ALGORİTMA VE PROGRAMLAMA Ders Notları, Öğr. Gör. Dr. Umut Engin AYTEN C Programlama Dili Programlama 3, Kemal YARCI C Programlama Ders Notları, İnönü Üniversitesi, The C Programming Language, W Kernighan ve Dennis Ritchie den tercüme C Programlama Dili, Dr Rıfat ÇÖLKESEN, Papatya Yayınları Kolay C Programlama, Editör: Gürcan BANGER, Bilim Teknik Yayınevi C Programming Tutorial by Examples, Dr. Kalim Qureshi 113

ALGORİTMA VE PROGRAMLAMA (Bölüm 3)

ALGORİTMA VE PROGRAMLAMA (Bölüm 3) ALGORİTMA VE PROGRAMLAMA (Bölüm 3) 1 C PROGRAMLAMA DİLİ C Nasıl Bir Programlama Dilidir? C orta düzey bir programlama dili olarak son derece esnek kullanımlı bir dildir. C, bir Assembly dili derleyicisinin

Detaylı

ALGORİTMA VE PROGRAMLAMA (Bölüm 3)

ALGORİTMA VE PROGRAMLAMA (Bölüm 3) ALGORİTMA VE PROGRAMLAMA (Bölüm 3) 1 C PROGRAMLAMA DİLİ C Nasıl Bir Programlama Dilidir? C orta düzey bir programlama dili olarak son derece esnek kullanımlı bir dildir. C, bir Assembly dili derleyicisinin

Detaylı

ALGORİTMA VE PROGRAMLAMA (Bölüm 1)

ALGORİTMA VE PROGRAMLAMA (Bölüm 1) PROBLEM ÇÖZME ve ALGORİTMALAR ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi - 2017-2018 Güz (Bölüm 1 2) Bir problemi çözmek için yapılacak işlemler en genel şekilde

Detaylı

ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz (Bölüm 1 2)

ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz (Bölüm 1 2) ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi - 2017-2018 Güz (Bölüm 1 2) 1 PROBLEM ÇÖZME ve ALGORİTMALAR Bir problemi çözmek için yapılacak işlemler en genel şekilde

Detaylı

ALGORĠTMA VE PROGRAMLAMA (Bölüm 2-3)

ALGORĠTMA VE PROGRAMLAMA (Bölüm 2-3) ALGORĠTMA VE PROGRAMLAMA (Bölüm 2-3) 1 BĠLGĠSAYARDA ĠġLEMLER Algoritma (Psedo Kod ve AkıĢ Diyagramı) konusuna daha fazla devam etmeden önce Bilgisayar programları ile gerçekleģtirilen iģlemlere genel olarak

Detaylı

Temel Giriş/Çıkış Fonksiyonları

Temel Giriş/Çıkış Fonksiyonları Temel Giriş/Çıkış Fonksiyonları Temel giriş/çıkış fonksiyonları, bütün programla dillerinde mevcuttur. Bu tür fonksiyonlar, kullanıcıya ekrana veya yazıcıya bilgi yazdırmasına, ve bilgisayara klavyeden

Detaylı

ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz (VİZEDE SORUMLU OLUNAN KONULARINI KAPSAR)

ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi Güz (VİZEDE SORUMLU OLUNAN KONULARINI KAPSAR) ALGORİTMA VE PROGRAMLAMA (Bölüm 1) Prof. Dr. Hakan Ündil - Elektronik Teknolojisi - 2015-2016 Güz (VİZEDE SORUMLU OLUNAN KONULARINI KAPSAR) 1 PROBLEM ÇÖZME ve ALGORİTMALAR Bir problemi çözmek için yapılacak

Detaylı

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN ESM-361 Mikroişlemciler 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN Bit operatörleri Bit operatörleri bit düzeyinde işlem yapan operatörlerdir; yani sayıları bir bütün olarak değil, bit bit

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

C Konsol Giriş Çıkış Fonksiyonları

C Konsol Giriş Çıkış Fonksiyonları C Konsol Giriş Çıkış Fonksiyonları Öğr. Gör. M. Ozan AKI Rev 1.0 Stringlerde Özel Karakterler \n : Bir sonraki satırın ilk sütununa git \b : Backspace (önceki karakteri sil) \a : Bip sesi \\ : Ters bölü

Detaylı

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI C programlama dilinde, diğer programlama dillerinde olduğu gibi, işlemler, ilk satırdan başlamak üzere sırayla çalışır. Program kontrol yapıları ise, programın

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri BLM-111 PROGRAMLAMA DİLLERİ I Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Temel Veri Tipleri C dilinde

Detaylı

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA 6. HAFTA EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA Öğr. Gör. S. M. Fatih APAYDIN apaydin@beun.edu.tr EMYO Bülent Ecevit Üniversitesi Kdz. Ereğli Meslek Yüksekokulu ALGORİTMA ÖRNEK1: İki sayının toplamı

Detaylı

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

Detaylı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.

Detaylı

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Algoritma ve Programlama: Karar Yapıları ve Döngüler Algoritma ve Programlama: Karar Yapıları ve Döngüler Bir algoritma, herhangi bir programlama dili (C, C++, Pascal, Visual Basic, Java gibi) ile kodlandığında program haline gelir. Algoritmada yer alan

Detaylı

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar Bölüm 5 Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar İçindekiler 5.1 Formatlı Yazdırma............................ 34 5.2 Döngü Deyimleri............................. 34 5.2.1

Detaylı

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri 49 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B02) Çalıştırılabilir C ifadeleri ya bir işlem gerçekleştirir ( girilen verilerin toplanması

Detaylı

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ Prof. Dr. Necmettin Kaya C PROGRAMLAMA DİLİ ÖZELLİKLERİ C programlama dili, 1972 yılında Bell Labortuvarı nda Dennis Ritchie tarafından geliştirilmiştir.

Detaylı

Giris {\} /\ Suhap SAHIN Onur GÖK

Giris {\} /\ Suhap SAHIN Onur GÖK Giris 0 \ /\ Suhap SAHIN Onur GÖK Fonksiyon C: Ana Fonksiyon(main) main() main() C: Ana Fonksiyon(main) main() main() C: Ana Fonksiyon(main) Giris? main() Çıkıs main() C: Ana Fonksiyon(main) void main()

Detaylı

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

Detaylı

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf Giriş GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI printf Fonksiyonu scanf Fonksiyonu Verilerin kaybolmaması için hafızada değişkenler içine yerleştirilmeleri gerekir. Bu veriler iki şekilde yerleştirilebilir. Değişkene

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

Eln 1001 Bilgisayar Programlama I

Eln 1001 Bilgisayar Programlama I Eln 1001 Bilgisayar Programlama I GiriŞ / ǹk¹Ş Fonksiyonlar¹ Ne ÖĆreneceĆiz? Temel Giriş/Çıkış Yapısı Giriş Fonksiyonları Karakterler için giriş fonksiyonları Scanf fonksiyonu Formatlı giriş Çıkış Fonksiyonları

Detaylı

Bölüm 2 - C ile Programlamaya Giriş

Bölüm 2 - C ile Programlamaya Giriş 1 Bölüm 2 - C ile Programlamaya Giriş Başlıklar 2.1 Giriş 2.2 Basit C Programları: Bir Metni Yazdırmak 2.3 Basit C Programları: İki Tam Sayıyı Toplamak 2.4 Hafıza Konuları 2.5 C de Aritmetik 2.6 Karar

Detaylı

BLM 111 ALGORİTMA VE PROGRAMLAMA I

BLM 111 ALGORİTMA VE PROGRAMLAMA I 1 BLM 111 ALGORİTMA VE PROGRAMLAMA I KONTROL YAPILARI TEKRARLAMA DEYİMLERİ = DÖNGÜLER (while, for, do-while) Şimdiye kadar, sıralı deyimleri ve seçim deyimlerini gördük. Ama, geldiğimiz aşamada, aşağıdaki

Detaylı

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak. Selçuk Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü ra Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :13.04.2017 60 dak. Dikkat!!! Soru kitapçığında ve cevap

Detaylı

Sınav tarihi : Süre : 60 dak.

Sınav tarihi : Süre : 60 dak. Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Final Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 31.05.2016 Süre : 60 dak. 1. Ekranda ne görüntülenir? int i =

Detaylı

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"

Detaylı

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C DİLİNDE FONKSİYONLAR C DİLİNDE FONKSİYONLAR C programlama dili fonksiyon olarak adlandırılan alt programların

Detaylı

Genel Programlama II

Genel Programlama II Genel Programlama II 15.02.2011 1 Genel Programlama Tekrar Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Önceki bölümde bir problemin çözümü ile

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)

Detaylı

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Bitirme Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 01.06.2017 Süre : 60 dak. 1. t değişkeni hakkında aşağıdakilerden

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI

BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI Bu bölümde, C programlama dilinde kullanılan temel giriş ve çıkış fonksiyonları ele alınacaktır. C programlama dilinde default (varsayılan) giriş cihazı klavye

Detaylı

Ders 4: Temel Giriş/Çıkış Fonksiyonları

Ders 4: Temel Giriş/Çıkış Fonksiyonları Ders 4: Temel Giriş/Çıkış Fonksiyonları Giriş Temel giriş/çıkış fonksiyonları, bütün programla dillerinde mevcuttur. Bu tür fonksiyonlar, kullanıcıya ekrana veya yazıcıya bilgi yazdırmasına, ve bilgisayara

Detaylı

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır stringh floath Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır 32 Sorgulama İfadesi - if Deyimi (5 Hafta) Bu deyim sorgulamanın tek basamakta yapılacağı yerlerde

Detaylı

Hafta 12 Karakter Tutan Diziler

Hafta 12 Karakter Tutan Diziler BLM111 Programlama Dilleri I Hafta 12 Karakter Tutan Diziler Yrd. Doç. Dr. Caner ÖZCAN Katar (String) Tanımlama Dizileri ve çok boyutlu dizileri gördük. Katar dediğimiz şey de aslında bir dizidir. Değişken

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Koşul Karşılaştırma Operatörleri Mantıksal

Detaylı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

BÖLÜM 7: DÖNGÜ KONTROL YAPILARI

BÖLÜM 7: DÖNGÜ KONTROL YAPILARI I. for DÖNGÜSÜ BÖLÜM 7: DÖNGÜ KONTROL YAPILARI for döngüsü, diğer programlama dillerinde olduğu gibi C programlama dilinde de yaygın bir şekilde kullanılır. Bir veya bir grup işlemin belirli bir sayıda

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ C Programlama Dilinin Temelleri C Programlama Dili'ni popüler kılan önemli nedenler aşağıda listelenmiştir: C, güçlü ve esnek bir dildir. C ile işletim sistemi veya derleyici yazabilir,

Detaylı

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu. Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html

Detaylı

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler Veri Tanımları ve Mantıksal Đşlemler Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Kullanılacak bütün değişkenlerin kullanılmadan önce C derleyicisine bildirilmeleri gerekir.

Detaylı

C Programlama printf() Fonksiyonu

C Programlama printf() Fonksiyonu C Programlama printf() Fonksiyonu Standart C kütüphanesinin bir parçası olan printf() C Programlama Dili'nin genel amaçlı çıktı alma fonksiyonudur. Girdi ve çıktı deyimleri gerçekte C dilinin bir parçası

Detaylı

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 6. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Veri Tipleri Yük. Müh. Köksal Gündoğdu 2 Veri Tipleri Tam sayı ve Ondalık sayı veri tipleri Veri Tipi Alt Sınıf Üst Sınıf Duyarlı

Detaylı

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları Döngüler Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut for Komutu do-while Komutu İçiçe Döngüler break ve continue Komutları while Komutu Döngü komutları komutların bir çok kez yeniden yürülmesini

Detaylı

PROGRAMLAMA DİLLERİ I

PROGRAMLAMA DİLLERİ I PROGRAMLAMA DİLLERİ I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Öğr. Gör. M. Mutlu YAPICI Hafta 1. Hafta 2. Hafta 3. Hafta 4. Hafta 5. Hafta 6. Hafta 7. Hafta

Detaylı

Döngü komutları komutların bir çok kez yeniden yürülmesini. sağlayan, programlamada kullandığımız önemli yapılardan biridir.

Döngü komutları komutların bir çok kez yeniden yürülmesini. sağlayan, programlamada kullandığımız önemli yapılardan biridir. Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut for Komutu do-while Komutu İçiçe Döngüler break ve continue Komutları while Komutu Döngü komutları komutların bir çok kez yeniden yürülmesini

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.

Detaylı

Akış Kontrol Mekanizmaları

Akış Kontrol Mekanizmaları Akış Kontrol Mekanizmaları 1 Akış Kontrol Mekanizmaları if else switch for döngüsü for döngüsünün çalışma prensibi for döngüsüyle ilgili örnekler for döngüsüyle ilgili kurallar while döngüsü while döngüsünün

Detaylı

ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING)

ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING) ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING) 1. HAFTA KARAKTER Karakterler, programlarda kullanılan temel simgelerdir. Her karakterin ASCII kod tablosunda bir tamsayı değer karşılığı vardır ve C programlama

Detaylı

Diziler (Arrays) Çok Boyutlu Diziler

Diziler (Arrays) Çok Boyutlu Diziler Diziler (Arrays) Çok Boyutlu Diziler ÇOK BOYUTLU DİZİLER Birden fazla indis numarası ile elemanlarına ulaşılan dizilere çok boyutlu diziler denir. Bunlardan en sık kullanılanı çift boyutlu dizilerdir.

Detaylı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

C PROGRAMLAMA DİLİNE GİRİŞ

C PROGRAMLAMA DİLİNE GİRİŞ C PROGRAMLAMA DİLİNE GİRİŞ C Dilinin Tarihçesi 1972 de Dennis Ritchie tarafından AT&T Bell Laboratuarlarında B dilinden geliştirildi. C dili konusundaki ilk kitap 1978 de Dennis Ritchie ve Brain Kernighan

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-11 Karakter Diziler Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Karakter ve String Karakter Karakter bir sabit tek tırnak

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki

Detaylı

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde

Detaylı

Döngüler - Loops 4/13/2011. ENF-102 Jeoloji Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

Döngüler - Loops 4/13/2011. ENF-102 Jeoloji Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler. Giriş Döngüler - Loops Bir ifade kümesinin tekrarlanması, yani birden fazla çalıştırılması işlemine döngü (loop) dendiği programlamaya giriş kısmında belirtilmişti. Bu derste döngülerin C programlama dilinde

Detaylı

C++ Operatörler (Operators)

C++ Operatörler (Operators) C++ Operatörler (Operators) Konular Operatörler o Aritmetiksel (Matematiksel) Operatörler o Karşılaştırma Operatörleri o Mantıksal Operatörler o Atama Operatörleri o Bit Düzeyinde Operatörler o Özel Amaçlı

Detaylı

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler. Giriş Döngüler - Loops Bir ifade kümesinin tekrarlanması, yani birden fazla çalıştırılması işlemine döngü (loop) dendiğiğ programlamaya giriş ş kısmında belirtilmişti. Bu derste döngülerin C programlama

Detaylı

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak. Selçuk Üniversitesi Mühendislik-Mimarlık Fakültesi Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :26.11.2012, 60 dak. Dikkat!!! Soru kitapçığında

Detaylı

BÖLÜM 2 C PROGRAMLAMADA AKIŞ KONTROLÜ. GOTO: C programında programın herhangi bir yerinden bir yerine şartsız olarak atlanmasını sağlayan komuttur.

BÖLÜM 2 C PROGRAMLAMADA AKIŞ KONTROLÜ. GOTO: C programında programın herhangi bir yerinden bir yerine şartsız olarak atlanmasını sağlayan komuttur. BÖLÜM 2 C PROGRAMLAMADA AKIŞ KONTROLÜ GOTO: C programında programın herhangi bir yerinden bir yerine şartsız olarak atlanmasını sağlayan komuttur. #include main () { int a=5 ; dal1: printf (

Detaylı

C#(Sharp) Programlama Dili

C#(Sharp) Programlama Dili Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin

Detaylı

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Programlamaya Giriş Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Programın Yazımında İzleyeceğimiz Adımlar Problemi anla. İhtiyaçları belirle. Problemin

Detaylı

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C Program Akış Kontrol Yapıları Kontrol Komutları Normal şartlarda C dilinde bir programın çalışması, komutların

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

Hafta 8 C Dilinde Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Hafta 8 C Dilinde Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri BLM111 Programlama Dilleri I Hafta 8 C Dilinde Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri Yrd. Doç. Dr. Caner ÖZCAN C Dilinde Temel Veri Tipleri C dilinde kullanılacak değişkenler ve veri tipleri

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

Ders 6: Karşılaştırma Deyimleri

Ders 6: Karşılaştırma Deyimleri Ders 6: Karşılaştırma Deyimleri Giriş Program içerisinde bazen iki veya daha fazla değerin karşılaştırılması gerekebilir Bunun için, bütün programlama dillerinde karşılaştırma deyimleri mevcuttur C dili,

Detaylı

BİL1001 Bilgisayar Bilimlerine Giriş 1

BİL1001 Bilgisayar Bilimlerine Giriş 1 DEÜ Bilgisayar Bilimleri Bölümü BİL1001 Bilgisayar Bilimlerine Giriş 1 Öğr. Gör. Dr. Alper VAHAPLAR 2017 Yaz Okulu Bilgisayar Bilimlerine Giriş 1 Programlama Dillerine (Programming Languages) Giriş Dil

Detaylı

Program Çözümleme. Aşağıdaki örneklerde printf() ve scanf() fonksiyonlarının işlevleri gösterilmektedir. Liste 1.1. Çözümleme:

Program Çözümleme. Aşağıdaki örneklerde printf() ve scanf() fonksiyonlarının işlevleri gösterilmektedir. Liste 1.1. Çözümleme: 1 Program Çözümleme Bir bilgisayar programını çözümleme eylemini, onun her satırının (deyiminin) yaptığı işi açıklamak olarak anlayacağız. Bazı kaynaklarda bu eyleme analiz der. Daha ileri düzeyde "trace"

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 (Değerler, Değişkenler, İşleçler, Tip Dönüşümleri, Mantıksal Operatörler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler

Detaylı

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak. Selçuk Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü Final Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :09.01.2013, 60 dak. Dikkat!!! Soru kitapçığında ve

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-7 C Programlama Diline Giriş

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-7 C Programlama Diline Giriş BLM-111 PROGRAMLAMA DİLLERİ I Ders-7 C Programlama Diline Giriş Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ C Programlama Dili Tarihçesi C programlama dili 1972

Detaylı

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları. Turbo C ++ 3.0 ALGORİTMALAR http://vaibhavweb.tripod.com/others/tc3.zip http://www.top4download.com/turbo-c- /aklqwuba.html 1 2 Bilgisayarda Problem Çözme Adımları Bilgisayarda Problem Çözme Adımları 1-Problemi

Detaylı

C dilinde if-else yapısı

C dilinde if-else yapısı C dilinde if- yapısı Merhaba arkadaşlar, bu başlık altında sizlere koşullu ifadelerden bahsedeceğim. Peki nedir bu koşullu ifadeler(if, if, )? Bunu bir koşulun gerçekleşmesine bağlı olarak gerçekleşen

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8 BTP 27 İNTERNET PROGRAMCILIĞI I Ders 8 Değişkenler 2 Tamsayı Değerler (Integer) Tamsayılar, tabanlı (decimal), 8 tabanlı (octal) veya 6 tabanlı (hexadecimal) olabilir. 8 tabanındaki sayıları belirtmek

Detaylı

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım Nisan 2009 9031150 - Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım Referans: Bugün: 1. Ders Notları. Ders #4.1 Tekrar Dowhile ve for döngüleri Diziler Göstergeler 1. Tekrar for döngüleri Genel yazılımı

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 3 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) Yrd. Doç. Dr. İbrahim Küçükkoç Web: ikucukkoc.baun.edu.tr

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ Operatörler Aritmetik Operatörler Atama Operatörleri Karşılaştırma Operatörleri ve Mantıksal Operatörler Aritmetik Operatörler Değişken veya sabitler üzerinde temel aritmetik işlemleri

Detaylı

Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım

Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım Nisan 2009 9031150 - Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım Referans: Bugün: 1. Ders Notları. Ders #3 Tekrar Do while ve for döngüleri 1. Tekrar Geçen ders while döngüsü ve seçme kontrol teknikleri

Detaylı

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2; Dosya İşlemleri Nedir? Programlarınızı girdi (input) olarak aldığı verileri bir text dosyasında yada word dosyasında vb. saklamasıdır. Artık C programınızın yaratıp içine veriler koyacağı text dosyasını

Detaylı

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları 4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları Şart yapıları bir bilgisayar programının olmazsa olmazlarındandır. Şart yapıları günlük hayatımızda da çok fazla karşılaştığımız belirli

Detaylı

Ders 7: Döngüler. Giriş. 7.1 while Döngüsü

Ders 7: Döngüler. Giriş. 7.1 while Döngüsü Ders 7: Döngüler Giriş Döngü (loop) deyimleri, bir kümenin belli bir koşul altında tekrar edilmesi için kullanılır. C programlama dilinde, while, dowhile ve for olmak üzere üç tip döngü deyimi vardır.

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi

Detaylı

Temel Bilgisayar Programlama

Temel Bilgisayar Programlama Temel Bilgisayar Programlama C Programlamaya Giriş Yrd. Doç. Dr. Tahir Emre Kalaycı 2012 Yrd. Doç. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 1 / 29 İçerik 1 Temel Kavramlar Algoritmanın

Detaylı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları Kocaeli Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü ra Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : 11.04.2018, 50 dak. Dikkat!!! Soru kitapçığında ve cevap

Detaylı

İnternet Programcılığı Dersi 2.Dönem Ders Notu

İnternet Programcılığı Dersi 2.Dönem Ders Notu İnternet Programcılığı Dersi 2.Dönem Ders Notu DEĞİŞKEN TİPLERİ TAM SAYI (İNTEGER) VERİ TİPİ Negatif veya pozitif ondalık kısmı bulunmayan sayılardır. Örnek: $i=65; $x=345; ONDALIK(REAL)VERİ TİPİ Ondalıklı

Detaylı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

C Programlama Dilinde Değişkenler

C Programlama Dilinde Değişkenler C Programlama Dilinde Değişkenler Değişkenler bir programlama dilinin en önemli bileşenlerindendir. En basit bir aritmetik işlemin bile kullanıcının girdiği değerleri saklamak için çeşitlik bellek alanlarına

Detaylı

Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan

Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan 2 C Programlarının Yapısı Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan yapıtaşlarıdır. Bir C programının,

Detaylı