Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de...
Transcript of Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de...
![Page 1: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/1.jpg)
BLM111 Programlama Dilleri I
Dr. Öğr. Üyesi Caner ÖZCAN
Hafta 7 C Programlama Diline Giriş ve C
Derleyicisi
![Page 2: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/2.jpg)
C Programlama Dili Tarihçesi
►C programlama dili 1972 yılında Bell Laboratuarlarında Dennis Ritchie tarafından geliştirilmiştir (Dennis Ritchie daha önce Ken Thompson ile birlikte UNIX işletim sistemi ve B programlama dili üzerinde de çalışmıştır).
►Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan ve Dennis M. Ritchie tarafından 1978’de yayımlanan "C Programlama Dili" kitabından sonra olmuştur.
![Page 3: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/3.jpg)
C Programlama Tarihçesi
►İşletim sistemleri, gömülü sistemler, sürücü yazılımı ve hız gereken her türlü işlemde kullanılan bir dildir.
►70’li ve 80’li yıllarda birçok farklı uyarlaması geliştirildikten sonra, 1989’da ANSI tarafından standart bir C dili tanımlanmıştır (ANSI C).
![Page 4: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/4.jpg)
C Programlama Diline Giriş
►Tam ve makineden bağımsız C tanımlaması 1989 yılında bir standart olarak kabul edildi.
►Bu standart 1999 yılında güncellendi.
►C99, C dilinin güncellenmiş bir standardıdır.
►Popüler C derleyicilerinin bazıları C99 desteğini sunmamaktadır.
![Page 5: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/5.jpg)
C Standart Kütüphanesi
► C programları fonksiyon denilen modüllerden oluşur. ► Bir programcı kendi fonksiyonlarını tanımlayabilir.
– Avantaj: Programcının fonksiyonun nasıl çalıştığını tam olarak bilmesi.
– Dezavantaj: zaman kaybı
► Programcılar çoğunlukla C kütüphane fonksiyonlarını kullanırlar. – Bu fonksiyonlar programı inşa etmek için kullanılır.
► Amerika’yı tekrar keşfetmeyin – Eğer daha önceden oluşturulmuş hazır fonksiyonlar var ise aynı
işi yapan fonksiyonu tekrar yazmak yerine var olanı kullanmak en iyisidir.
– Kütüphane fonksiyonları çok dikkatli bir biçimde yazılır ve ihtiyaçlarınız doğrultusunda uyumlu bir şekilde kullanılabilir.
![Page 6: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/6.jpg)
Tipik C Programı Geliştirme Ortamı
![Page 7: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/7.jpg)
Tipik C Programı Geliştirme Ortamı
Programlar her zaman ilk seferde çalışmayabilir.
►Örneğin, çalıştırılan program sıfıra bölme işlemi gerçekleştirmeye çalışabilir. – Sıfıra bölme gibi hatalar programın çalışması sırasında
ortaya çıkar, böylece bu hatalara çalışma zamanı hataları denir.
►Çoğu C programı veri giriş /çıkış işlemi yapar – standard input stream(stdin)
– standard outputstream(stdout)
– standard error stream (stderr)
![Page 8: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/8.jpg)
C Programlama Diline Giriş
![Page 9: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/9.jpg)
C Programlama Diline Giriş
![Page 10: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/10.jpg)
C Programlama Diline Giriş
![Page 11: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/11.jpg)
C Programlama Diline Giriş
![Page 12: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/12.jpg)
BAŞLA
DUR
Merhaba Dunya !
C Dilinde İlk Program (Merhaba Dünya)
![Page 13: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/13.jpg)
BAŞLA
DUR
Merhaba Dunya !
C Dilinde İlk Program (Merhaba Dünya)
![Page 14: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/14.jpg)
►Programlarınızda yukarıdaki yazım biçimlerinden istediğinizi kullanabilirsiniz.
C Dilinde Ana Fonksiyon (main) Yazım Biçimleri
![Page 15: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/15.jpg)
BAŞLA
DUR
Merhaba Dunya !
(Önceki örneğin farklı biçimde yazılmış hali)
C Dilinde İlk Program (Merhaba Dünya)
![Page 16: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/16.jpg)
BAŞLA
DUR
Bir sayı giriniz :
Girilen sayi : sayi
sayi
Örnek: Sayıyı Okuma ve Yazma
![Page 17: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/17.jpg)
BAŞLA
DUR
Bir sayı giriniz :
Girilen sayi : sayi
sayi
Örnek: Sayıyı Okuma ve Yazma
![Page 18: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/18.jpg)
taban
BAŞLA
DUR
Taban uzunlugu(cm) :
alan (cm kare) : alan
Alan=(taban*yukseklik)/2
Yukseklik(cm) :
yukseklik
Örnek: Üçgenin Alan Hesabı
![Page 19: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/19.jpg)
taban
BAŞLA
DUR
Taban uzunlugu(cm) :
alan (cm kare) : alan
Alan=(taban*yukseklik)/2
Yukseklik(cm) :
yukseklik
Örnek: Üçgenin Alan Hesabı
![Page 20: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/20.jpg)
C dilinin Genel Yazım Kuralları
►Tekli ve Çoklu Yorum Satırı
►// Tek satırda yorum yapılacağı zaman kullanılır.
►/* Çoklu yorum satırı
* bir satırla açıklama yapamayacağımız zaman
* kullandığımız bir yöntemdir.
*/
![Page 21: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/21.jpg)
Örnek
►Girilen sayı 5’ten küçükse “evet” değilse “hayır” yazan program.
![Page 22: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/22.jpg)
Örnek
►Girilen sayı 5’ten küçükse “evet” değilse “hayır” yazan program.
![Page 23: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/23.jpg)
Örnek
►Girilen sayı 2’den büyük ve 5’ten küçükse (5 > sayi > 2) “evet” değilse “hayır” yazan program.
![Page 24: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/24.jpg)
Örnek
►Girilen sayı 2’den büyük ve 5’ten küçükse (5 > sayi > 2) “evet” değilse “hayır” yazan program.
![Page 25: Hafta 7canerozcan.net/files/BLM111/BLM111_Hafta7.pdf · programlama dili üzerinde de çalışmıştır). Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian W. Kernighan](https://reader034.fdocument.pub/reader034/viewer/2022050716/5e299c492f441577850343f8/html5/thumbnails/25.jpg)
25
Kaynaklar
►Doç. Dr. Fahri Vatansever, “Algoritma Geliştirme ve Programlamaya Giriş”, Seçkin Yayıncılık, 12. Baskı, 2015.
►J. G. Brookshear, “Computer Science: An Overview 10th Ed.”, Addison Wisley, 2009.
►Kaan Aslan, “A’dan Z’ye C Klavuzu 8. Basım”, Pusula Yayıncılık, 2002.
►Paul J. Deitel, “C How to Program”, Harvey Deitel.
►Bayram AKGÜL, C Programlama Ders notları