Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
C PROGRAMLAMA DİLİNE GİRİŞ
2
C Dili'nin Tarihçesi C kendinden önceki programlama dilleri olan B ve BCPL 'nin gelişmişidir. 1967 1970 1972 BCPL B C
3
C Dili'nin Tarihçesi C dili konusundaki ilk kitap, 1978'de Brian Kernighan ve Dennis Ritchie tarafından yazılmıştır.
4
C Dili'nin Tarihçesi 1983 yılında C programlama dilini standardize etmek amacıyla toplanan bir komite ANSI C (American National Standart Institute) standardını tanımlamıştır. C başlangıçta birçok kişi tarafından UNIX işletim sistemini geliştiren dil olarak biliniyordu. Günümüzde hemen hemen bütün büyük işletim sistemleri C ya da C++ ile yazılmıştır.
5
C’nin özellikleri C donanımdan bağımsız (machine independent) ve taşınabilirdir (portable). Taşınabilirlik, aynı programın farklı donanımlarda ve farklı işletim sistemlerinde işletilebilirliğini ifade eder.
6
C’nin özellikleri Bir dilin verimliliği (productivity), hızlı fakat fazla yer kaplamayan yazılımlar geliştirmeye olanak sağlaması ile ölçülür. C programlama dili verimli, basit, fakat güçlü yapısından ve bu dilde geliştirilen uygulamaların taşınabilir olmasından dolayı yaygın olarak kullanılmaktadır.
7
C Programlarının Temel Yapısı
8
C Programlarının Temel Yapısı
Bir C programı iki temel bölümden oluşur: Önişlemci Direktifleri (Preprocessor Directives) ve Ana Fonksiyon (main function).
9
Önişlemci Direktifleri
Önişlemci direktifleri # işareti ile başlar ve program derlenmeden önce C önişlemcisi tarafından işletilir. Her bir önişlemci direktifinin farklı bir görevi vardır. En çok kullanılan iki direktif #include ve #define dır.
10
Önişlemci Direktifleri
C programlama dilinde belirli işleri gerçekleştiren program parçaları C’ nin temel yapısı içinde yer almaz. Bu nedenle program içinde kullanılan fonksiyonların kendilerinin ya da başlıklarının yer aldığı dosyalar #include direktifi kullanılarak ana programa dahil edilir.
11
Önişlemci Direktifleri
Örneğin printf fonksiyonunun özet bilgisi stdio.h isimli dosyanın içinde yeri almaktadır. Bir programda printf fonksiyonu kullanılacaksa, programın başında stdio.h (Standart Input Output) dosyasının #include direktifi ile programa dahil edilmesi gerekir. Aksi halde printf fonksiyonu kullanılamaz. Bu dosya programa #include <stdio.h> direktifi ile dahil edilir. C dilinde .h uzantılı bu dosyalar başlık (Header) dosyaları adı verilir.
12
C’deki bazı kütüphaneler
İçeriği stdio.h Standart giriş-çıkış komutları conio.h DOS destekli giriş-çıkış komutları math.h Matematiksel fonksiyonlar stdlib.h Dönüşüm, sıralama, arama vb. komutları graphics.h Grafik ortam komutları dos.h DOS fonksiyonları ctype.h Karakter dönüşüm ve sınıflandırma komutları string.h Alfasayısal ve bazı bellek yönetim komutları
13
Main Fonksiyonu Hemen hemen bütün C programları birden fazla fonksiyondan oluşur. main () bütün C programlarında bulunması gereken programın ana gövdesidir. İlk çalıştırılacak olan fonksiyon main () yani ana fonksiyondur.
14
Main Fonksiyonu Çalıştırılacak ifadeler, (statements) main () fonksiyonu içerisine { } işaretleri arasına yazılır. Açılan her { işareti mutlaka } ile kapatılmalıdır. Bu iki işaret arasında kalan kısımlara blok (block) ismi verilir.
15
Main Fonksiyonu En dıştaki { } işaretleri arasında kalan blok programın asıl kısmıdır. Bu kısım, bildiriler (declarations) ve işletilebilir ifadeler (executable statements) olmak üzere iki bölümden oluşur. Bildiriler, bir program içerisinde kullanılacak değişkenlerin adlarını belirlemek amacı ile yazılırlar. İşletilebilir ifadeler de yapılacak işlemleri yerine getirecek komutlardır.
16
Basit Bir C Programı Önişlemci direktifi Açıklama satırları
Başlık dosyası Ana fonksiyon başlığı Blok başlangıcı ve bitişi
17
C Dili'nin Yazım Kuralları (Syntax)
C Dili birden fazla satırdan oluşan açıklama satırlarına izin verir. Bu satırlar /* işaretleri ile başlar ve */ işaretleri ile biter ve açıklama (comment) adını alırlar. Programın adı, ne iş yaptığı gibi açıklayıcı bilgi içerirler. Programcı tekrar kendi yazdığı programa dönüp baktığında hatırlayamayacağı önemli yerlere de açıklama yazabilir.
18
C Dili'nin Yazım Kuralları (Syntax)
Açıklama satırları programın derlenmesi sırasında derleyici tarafından göz ardı edilir, yani dikkate alınmazlar. Bu satırlar sadece programın okunabilirliğini (readability) arttırır ve program üzerinde daha sonra yapılacak çalışmaları kolaylaştırır. İyi programcılık alışkanlıkları açısından programcı açıklama satırları yazmaya özen göstermelidir.
19
C Dili'nin Yazım Kuralları (Syntax)
C'de her işletilebilir ifade ; ile sonlandırılır. Bir satıra birden fazla ifade yazılabilir. Ancak önişlemci direktifleri, mutlaka her satırda yalnızca bir tane olacak şekilde yazılmalıdır.
20
C Dili'nin Yazım Kuralları (Syntax)
C programlama dilinde bütün anahtar kelimeler ve komutlar küçük harfle yazılır. (# define direktifi hariç ) C büyük-küçük harfe duyarlıdır (case sensitive). Yani "TOPLAM" , "toplam" ve "tOpLaM" kelimelerinin hepsi C derleyicisi tarafından farklı algılanırlar.
21
C Dili'nin Yazım Kuralları (Syntax)
Program yazım kuralları içerisinde olmasa dahi programlarımızı yazarken okunabilirliliği arttırmak için ana ifadeleri sola dayalı bloklar içerisine yazılan ifadeleri ise 3 boşluk girinti (indent) verilerek içerden yazmaya özen gösterilmelidir.
22
C Dili'nin Yazım Kuralları (Syntax)
Bir C programında birden fazla blok kullanılacaktır. Blok içindeki ifadelerin 3 boşluk girinti verilerek içeriden yazılması program stilinin düzgün olmasını sağlayacak bu da anlaşılabilirlik ve okunabilirliği arttıracaktır.
23
Kötü Program Stili İyi Bir Program Stili
24
İşleçler (Operatör)
25
İşleçler (Operatör) İşleç (operatör), matematiksel, mantıksal ve atama işlemlerini gerçekleştirmek için kullanılan simgelerdir. Bu işleçler ile işleme giren değerlere de işlenen (operand) adı verilir. Operatörler birden fazla operand alabilirler.
26
Matematiksel İşleçler
Matematikteki C dilindeki işlem . X veya hiçbirşey * Çarpma Mod % Modüler bölüm / ÷ / Bölme + 1 ++ 1 Artırma (unary increment) -1 -- 1 Eksiltme (unary decrement) + Toplama - Çıkartma
27
Unary operatörlerin ifadenin sağında ya da solunda olması ile anlam değişik olur
A++ (postincrement) Önce A'yı kullan, sonra içindeki değeri 1 artır. ++A(preincrement) Önce A'yı 1 artır, sonra bu arttırılmış değeri kullan. A--(postdecrement) Önce A'yı kullan, sonra içindeki değeri 1 eksilt. --A (predecrement) Önce A'yı 1 eksilt, sonra bu eksiltilmiş değeri kullan.
28
a=4 ve b=5 olsun…
29
Programcı, Arttırma ve eksiltme operatörlerini kullanırken ifadeleri yoruma mahal bırakmayacak şekilde anlaşılır ve açık bir şekilde yazmalıdır.
30
Örneğin; c=a+++b; ifadesinde ++, a değişkenine mi aittir yoksa b değişkenine mi aittir? Derleyiciler de burada takılacakları için hangisine aitse ona göre bir boşluk bırakılmalıdır. Farklı derleyiciler farklı şekilde yorumlayabilir.
31
Yani; ya c=a++ +b ya da c=a+ ++b şeklinde yazmak daha doğru olacaktır.
32
Mantıksal işleçler Matematikteki C dilindeki işlem > Büyük <
Küçük ≥ >= Büyük veya eşit ≤ <= Küçük veya eşit = == Eşit (Karşılaştırma) ≠ ! = Eşit değil && Ve (And) V II Veya (Or) ‘ ! Olumsuz (not-invert)
33
Ve (&&) A B İşlem Sonuç Hayır A && B Evet
34
Veya (||) A B İşlem Sonuç Hayır II Evet
35
Atama (Assign) İşleçleri
= Atama += Toplayarak atama -= Eksilterek atama *= Çarparak atama /= Bölerek atama %= Mod alarak atama
36
İşleçlerde Öncelik (Precedence) Sırası
38
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. Derleyiciye değişkenleri bildirme işine, değişken tanımlamak (variable definition) denir. Değişken tanımlamak, değişken için bir isim seçmek ve içerisinde ne tür bir veri saklayacağını söylemekle yapılır.
39
Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type)
Her değişkenin ismi, veri türü ve değeri (value) vardır. Değişken ismi değişkeni saklamak için ayrılmış hafıza hücresine verilecek isim; veri türü saklanan bilginin türü (ondalık sayı, tamsayi...), değer ise değişken içinde saklanan bilginin kendisidir.
40
Değişken İsimlendirme
Program içinde kullanılacak değişken isimleri programcı tarafından verilir. Değişkenlere isim verirken aşağıdaki kurallara uyulması zorunludur.
41
Kural 1 Her programlama dilinin kendine ayırdığı (reserve) ve komutları için seçtiği sözcükler vardır. Bunlara anahtar sözcük (keyword) denir. C dili içerisindeki anahtar sözcükler, komut veya fonksiyon adları değişken ismi olarak kullanılamaz.
42
C’de ayrılmış sözcükler
Asm auto break case cdecl Char const continue default do double else enum extern far float for goto huge if int interrupt long near pascal register return short signed sizeof static struct switch typedef union unsigned void volatile while fortran _CS _BP _DI _SI _SP _DS _AX _BX _CX _DX _ES _AH _BH _CH _DH _AL _BL _CL _DL
43
Kural 2 Değişken isimleri içerisinde a-z ve A-Z arası İngiliz harfleri, 0-9 arası rakamlar ve özel karakter olarak yalnızca "_" (alt çizgi) kullanılabilir. Özel karakterler (+, -, ! vs.) ve Türkçe karakterler (ÜüÇçĞğİıÖöŞş) kullanılamaz.
44
Kural 3 Değişken ismi rakam ile başlayamaz, fakat daha sonra rakam kullanılabilir. 1.vize adında değişken olamaz ama vize1 olabilir.
45
Kural 4 Değişken isimleri istenilen uzunlukta olabilir.
Ama C derleyicisi için ilk 32 karakter belirleyicidir. Yani, iki değişken isminin ilk 31 karakteri aynı ise sonrakiler farklı bile olsa derleyici tarafından aynı algılanır.
46
Ayrıca Her değişkene içerisinde tuttuğu değeri hatırlatacak şekilde isimler verilmelidir. Değişkenlerin isimlerinin çok fazla uzun olmamasına dikkat edilir. İki kelimeden oluşan değişken isimleri arasına ya altçizgi ( _ ) ya da ikinci kelimenin baş harfi büyük yazılarak okunması kolaylaştırılmalıdır.
47
Veri Türleri
48
Veri Türleri Program içerisinde kullanılacak değerlerin türünü belirlerler. C dili içerisindeki temel veri türleri char, int, float ve double'dır.
49
char Bir harf, bir rakam veya özel bir simgeyi saklayabilirler.
char tipindeki her değer tek tırnak ‘ ‘ karakteri arasında yazılmalıdır.
50
Örnek: ‘A’ ‘z’ ‘2’ ‘*’ ‘:’ ‘ ’
Yalnız aktarılan karakterler hafızada karakter olarak değil, ASCII tablosundaki sayısal karşılıkları ile tutulurlar.
51
int ile arasındaki tamsayı değerleri saklamak için kullanılır. C'de işaretsiz yazılmış bir sayı pozitif olarak algılanacaktır.
52
float Ondalıklı olarak verilen sayıları ifade etmek için kullanılan değerleri tanımlamak için kullanılır.
53
double Ondalıklı olarak verilen çok küçük ve çok büyük sayıları ifade etmek için kullanılan değerleri tanımlamak için kullanılır. float türünden iki kat daha fazla duyarlılığa sahiptir.
54
Tanımlama yerleri, şekilleri ve ilk değer verilmesi
(Initialization)
55
Tanımlama Standart C de üç ayrı yerde değişken tanımlanabilir.
Main fonksiyonundan önce, Bloklar başlar başlamaz yani { ve } işaretleri arasında ve Fonksiyonlarda parametre olarak tanımlanabilirler. Bu üç tanımlama yerinin kendine göre farklılıkları vardır.
56
Genel kullanımı: DeğişkenTürü değişkenAdı ; ÖRNEK: long int maas ;
57
Eğer istenirse… Değişken isminden sonra atama işareti olan = kullanılarak ilk değer ataması da yapılabilir. İçerisinde ilk değer olmayan değişkenlerin içerisindeki değerler tanımlanma yerine göre değişir.
58
ÖRNEK: int a; a=1; yerine int a=1; aynı ifadelerdir.
59
ÖRNEK: int a, b, c; /*aynı satırda aynı türde olan değişkenler tanımlanabilir. Okunabilirlik açısından her virgülden sonra bir boşluk bırakılır*/ char m='k'; double n=5.05;
60
…:Dikkat:… main fonksiyonunun üstünde tanımlanan değişkenlerin ilk değerleri verilmemişse otomatik olarak sayısal olanlar 0 diğerleri boş olarak belirlenirler. Fakat fonksiyon içerisinde tanımlanan değişkenlerin ilk değerleri verilmediğinde hafızada tanımlandıkları yerdeki bulunan rasgele değerler olacaktır. Bu konuya çok dikkat edilmesi gerekir. GENEL GİRİŞ-ÇIKIŞ FONKSİYONLARI
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.