BÖLÜM 4: DEĞİŞKENLER, SABİTLER VE OPERATÖRLER

Benzer belgeler
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

PROGRAMLAMAYA GİRİŞ DERS 2

C Programlama. Öğr. Grv. Mustafa AKSOĞAN. Akçadağ MYO

Fonksiyonlar (Altprogram)

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

C Programlama Dilininin Basit Yapıları

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

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

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

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

Ders 2: Veri Tipleri, Değişkenler ve Sabitler

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

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

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

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

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

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

C PROGRAMLAMA D İ L İ

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

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

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

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

C Programlama Dilinde Değişkenler

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

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

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

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

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

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

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

C++ Operatörler (Operators)

ELN1001 BİLGİSAYAR PROGRAMLAMA I

Genel Programlama II

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

Temel Giriş/Çıkış Fonksiyonları

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Dr. Fatih AY Tel: fatihay@fatihay.net

PASCAL PROGRAMLAMA DİLİ YAPISI

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

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

C Konsol Giriş Çıkış Fonksiyonları

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

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

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

Veri Tanımları ve Mantıksal İşlemler

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

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

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

Eln 1001 Bilgisayar Programlama I

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

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

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

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

STRİNG DİZİLER(KATARLAR)

Bigisayar Programlama

8. İŞARETCİLER (POINTERS)

Temel Bilgisayar Programlama

Dr. Fatih AY Tel:

YZM 2105 Nesneye Yönelik Programlama

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

Fonksiyonlar -Genel Test- A

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

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

Ders 5: Temel Kütüphane Fonksiyonlar

BÖLÜM 11: YAPISAL VERİ TİPLERİ

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

C PROGRAMLAMA D İ L İ

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur.

C derleyicisinin içeriği

C PROGRAMLAMA DİLİ. Hedefler

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

HSancak Nesne Tabanlı Programlama I Ders Notları

Bölüm 4 C de Program Kontrolü

BİLG Dr. Mustafa T. Babagil 1

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

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI

10/17/2007 Nesneye Yonelik Programlama 3.1

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

Programlama Dilleri 1. Ders 4: Diziler

BMT 106 Algoritma ve Programlama II Bahar Dönemi

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

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

Giriş. ENF102 Jeoloji

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

ELN1001 BİLGİSAYAR PROGRAMLAMA I

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

/*int sayi1, sayi2,toplam=0;

Hafta 13 Fonksiyonlar

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

JAVA DEĞİŞKEN VE OPERATÖRLER. M.İLKUÇAR - 1

Temel Giriş/Çıkış Fonksiyonları (Devam) Örnek :

Nesne Yönelimli Programlama

Adım Adım C-II. Eksik kalmış konular

3. VERİ GİRİŞ-ÇIKIŞI (4ncü hafta)

Nesne Tabanlı Programlama

Transkript:

BÖLÜM 4: DEĞİŞKENLER, SABİTLER VE OPERATÖRLER C programlama dilinde, değişken, sabit, etiket ve fonksiyon isimleri programcı tarafından tanımlanır. İsimler, İngiliz alfabesini oluşturan 26 harf kullanılarak bir karakterden veya birden fazla karakterden oluşabilir. İsmin ilk karakteri, mutlaka bir alfabetik karakter olmalıdır. İsim birden fazla karakterden oluşuyorsa karakterlerin arasında boşluk bulunmamalıdır. İlk karakter dışındakiler nümerik olabilir. İsimlerde, ayraç karakteri olarak sadece alt çizgi (_) kullanılabilir. Aşağıda doğru ve yanlış isimler görülmektedir. Yanlış Doğru 1.Vize Vize1 (isim, nümerik karakter ile başlayamaz) test 5 test5 (isimde boşluk olamaz) ad-soyad ad_soyad (ayraç karakteri olarak yalnız alt çizgi (_)kullanılabilir) C programlama dilinde, isimlerin ilk 32 karakteri belirleyicidir. Yani iki ismin ilk 32 karakteri aynı ise, daha sonraki karakterler farklı bile olsa, derleyici bu iki ismi aynı olarak kabul eder. Bu durumda program yanlış olacaktır. Ancak, isimlerin 32 veya daha fazla karakterden oluşması, pek rastlanan bir durum değildir. C programlama dilindeki anahtar sözcükler (keywords); değişken, sabit, etiket veya fonksiyon ismi olarak kullanılamazlar. I. DEĞİŞKEN TİPLERİ C programlama dilinde, programda kullanılan değişkenler (variables), programın başında kullanılmadan önce tanımlanmalıdır. C programlama dilinde 4 temel veri tipi vardır. Bunlar: karakter (character) tipi, tamsayı (integer) tipi, kayan noktalı (floating point) sayı tipi ve büyük kayan noktalı (double floating point) sayı tipidir. Yukarıda sıralanan temel veri tipleri sırasıyla char, int, float ve double sözcükleriyle tanımlanırlar. char tipi değişkenler, ASCII tipi, örneğin A, B ve C gibi karakterleri tutmakta kullanılır. int tipi değişkenler, tamsayı tipi ve belirli sınırlar arasında büyüklüğe sahip sayıları tutar. float ve double tipi değişkenler, kesirli ve/veya tamsayı tipinden daha geniş sınırlar arasındaki sayıları tutmakta kullanılırlar. float ile double tipi değişkenler arasındaki fark, tuttukları sayıların değişik büyüklükte olmasıdır. double tipi değişkenler, float tipi değişkenlerin tuttuğu sayıların yaklaşık 10 katı büyüklüğündeki sayıları tutabilir. Aşağıdaki tabloda, C de kullanılan temel değişken tipleri, sınırları ve bellekte bit olarak kapladıkları alanlar görülmektedir. Tip Sınırlar Bellekte kapladığı alan char -128... +127 8 bit int -32768... +32767 veya 16 bit veya -2147483648... +2147483647 32 bit float ±3.4E-38 ±3.4E+38 32 bit double ±1.7E-308... ±1.7E+308 64 bit 23

1. Tip Değiştiriciler (Type Modifiers) Yukarıda sıraladığımız temel değişken tiplerine bir ön ek ekleyerek tuttukları sayıların özelliklerini ve sınırlarını değiştirmek mümkündür. Temel değişken tiplerinin önlerine eklenen ve bunların özellikleriyle sınırlarını değiştiren sözcüklere tip değiştirici (type modifier) denir. Aşağıda, tip değiştirici sözcükler görülüyor: signed unsigned long short Yukarıdaki tip değiştiricilerin hepsi, char ve int tipi değişkenlere uygulanabilir. double tipi değişkenler ise ancak long tip düzenleyici ile yeni sınırlarla tanımlanabilir. Aşağıdaki tabloda, tip düzenleyiciler de kullanılarak, C programlama dilindeki bütün veri tipleri gösterilmiştir. Tip Sınırlar Bellekte alanı char -128... +127 8 bit unsigned char 0... +255 8 bit signed char -128... +127 8 bit int -32768... +32767 veya 16 bit veya -2147483648... +2147483647 32 bit unsigned int 0... +65535 veya 16 bit veya 0... +4294967294 32 bit signed int -32768... +32767 veya 16 bit veya -2147483648... +2147483647 32 bit short int -32768... +32767 16 bit unsigned short int 0... +65535 16 bit signed short int -32768... +32767 16 bit long int -2147483648... +2147483647 32 bit signed long int -2147483648... +2147483647 32 bit unsigned long int 0... +4294967294 32 bit float ±3.4E-38... ±3.4E+38 32 bit double ±1.7E-308... ±1.7E+308 64 bit long double ±1.7E-308... ±1.7E+308 64 bit veya ±3.4E-4932... ±1.1E+4932 80 bit Kullanılmasına izin verilmiş olmasına rağmen, integer tipi sayılarda signed tip değiştiricinin kullanılması gereksizdir. Çünkü int şeklindeki deklarasyon, default (varsayılan) olarak signed (işaretli) kabul edilir. C de, unsigned, short ve long tip düzenleyicilerle tanımlanacak olan integer sayılar, kısaca unsigned, short ve long sözcükleriyle de tanımlanabilir. Buna göre aşağıdaki iki tanım şekli birbirine eşittir. unsigned x; unsigned int y; x ve y değişkenlerinin her ikisi de unsigned integer sayı olarak tanımlanmıştır. 24

char tipi değişkenler, ASCII karakter setindeki karakterlerin dışında -128... +127 arasındaki tamsayıları da tutabilir. Daha yüksek tam sayıların kullanımını gerektirmeyen durumlarda, char tipi değişkenler kullanılabilir. 1. Değişkenlerin Tanımlanması Programda kullanılan değişkenler, aşağıdaki genel formatla tanımlanır. tip değişken/ler; Tip, C de tanımlı olan değişken tiplerinden biri olmalıdır. Aynı tipte tanımlanan değişkenler birden fazla ise, birbirlerinden virgül (,) ile ayrılırlar. Aşağıda, bazı değişken tanımlamaları görülmektedir. int x, y, z; short int t; double j; Değişkenlerin, programların hangi bölümlerinde tanımlanacağı, ilerleyen konularda daha ayrıntılı olarak anlatılacaktır. Ancak burada da kısaca değineceğiz. Değişkenler, programın 3 değişik yerinde tanımlanabilir. İlk olarak, programın başında main() fonksiyondan önce tanımlanabilir. Burada tanımlanan değişkenler GLOBAL değişken olarak adlandırılırlar ve programda yer alan, main() fonksiyonu ve diğer fonksiyonlarda da kullanılabilirler. main() fonksiyonu ve diğer fonksiyonlar içersinde tanımlanan değişkenler ise LOKAL değişkenler olarak adlandırılır ve sadece tanımlandığı fonksiyon içersinde kullanılabilir. 2. static Tipi Değişkenler Herhangi bir değişken static tip değiştirici sözcüğü kullanılarak tanımlanırsa, içinde tanımlandığı fonksiyon ana program tarafından birden fazla çağrıldığında, her çağrılışında daha önce tuttuğu değeri korur. static int x; Yukarıdaki satırda x, static int bir değişken olarak tanımlanmıştır. İleride, fonksiyonlar konusu incelenirken static tip değiştirici sözcüğü kullanılarak yapılan programlara da yer verilecektir. 3. register Tipi Değişkenler Diğer bir önemli tip değiştirici register olarak adlandırılır ve bu sözcük sadece int ve char tipi değişkenlere uygulanır. Bir değişken register tipinde tanımlanırsa bu değişken, RAM bellekte değil, mikroişlemcinin registerinde yer alır. Bu nedenle register tipinde tanımlanmış değişkenlerin kullanıldığı programlar diğer programlara göre daha hızlı çalışır. Çünkü registerde bulunan değişkenlere, bellekte bulunan değişkenlerden daha hızlı ulaşılır. register int x; Yukarıdaki satırda x değişkeni register integer tipinde tanımlanmıştır. İleride, 25

döngüler konusu işlenirken register tipinde tanımlanmış değişkenlerin kullanıldığı programlara yer verilecektir. II. SABİTLER Sabit bildirimi, başlangıç değeri verilen değişken bildirimi gibi yapılır. Ancak; veri tipinin önüne const anahtar sözcüğü eklenmelidir. Örneğin: const float PI = 3.142857; const int x = 25; const char sifre[] = pamukkale ; const char harf = a ; gibi sabit bildirimleri geçerli olup bunların içerikleri program boyunca kesinlikle değiştirilemezler, yalnızca kullanılabilirler. Genellikle, sabit olarak bildirilen değişken isimleri büyük harflerle, diğer değişken isimlerinin ise küçük harflerle yazılması (gösterilmesi) C programcıları tarafından geleneksel hale gelmiştir. Birçok C programında sabitlerin #define önişlemci fonksiyonu ile de tanımlandığını görebilirsiniz. Bu şekildeki sabit bildirimi ile bir program parçasına makro fonksiyon tanımlaması yapılabilir. Bir program geliştirilirken simgesel sabitlerin kullanılması programın okunurluğunu arttırır ve bazen gerekli de olabilir. Aşağıda verilen simgesel sabit bildirimleri geçerlidir. #define TRUE 1 #define FALSE 0 #define MAX 20 #define HATA Giriş çıkış birimlerinde hata var #define HARF a #define ORAN (10 / 3) 1. Backslash (Ters Bölü-\) Sabitler C programlama dilinde, backslash (\) kullanılarak bazı işlemlerin program içerisinde tanımlanabilmesi mümkündür. Aşağıdaki listede, backslash (\) kullanılarak yapılabilen işlemler sıralanmıştır. Karakter Anlamı \a Ses üretir (alert) \b İmleci (cursor) bir sola kaydır (backspace) \f Sayfa atla. Bir sonraki sayfanın başına geç (formfeed) \n Bir alt satıra geç (newline) \r Satır başı yap (carriage return) \t Yatay TAB (horizontal TAB) \v Dikey TAB(vertical TAB) \" Çift tırnak karakterini yaz \' Tek tırnak karakterini yaz \\ \ karakterini yaz %% % karakterini yaz 26

III. ARİMETİKSEL OPERATÖRLER Aşağıda, C programlama dilinde kullanılan aritmetiksel operatörler görülmektedir. Operator Açıklama Örnek Anlamı + toplama x+y x ve y nin toplamı - çıkarma x-y x ve y nin farkı * çarpma x*y x ve y nin çarpımı / bölme x/y x ve y nin oranı % artık bölme x%y x/y den kalan sayı Toplama, çıkarma, çarpma ve bölme işlemleri, aynen diğer programlama dillerinde olduğu gibidir. Ancak int tipi iki sayı / operatörü kullanılarak bölündüğünde, sonucun kesirli kısmı üretilmez. float tipi iki sayı / operatörü kullanılarak bölündüğünde ise sonuç tam olarak (hem tamsayı hem de kesirli kısmı) üretilir. % operatörü float veya double tipi değişkenlerle kullanılamaz. 1. Atama Operatörleri Bu operatörler bir değişkene, bir değer aktarmak için kullanılır. Birleşik atama: bazı ifadelerde işlem operatörü ile atama operatörü birlikte kullanılarak, ifadeler daha kısa yazılabilir. Eğer ifade; değişken = değişken [operatör] ifade; şeklinde ise, daha kısa bir biçimde; değişken [operatör]= ifade; olarak ta yazılabilir. Atama operatörleri aşağıda listelenmiştir. Operatör Açıklama Örnek Anlamı = atama x=7; x=7; += ekleyerek atama x+=3; x=x+3; -= eksilterek atama x-=5; x=x-5; *= çarparak atama x*=4; x=x*4; /= bölerek atama x/=2; x=x/2; %= bölüp, kalanını atama x%=9; x=x%9; ++ (unary) bir arttırma x++; veya ++x; x=x+1; -- (unary) bir azaltma x--; veya --x; x=x-1; C programlama dilinde, C ailesi dışındaki dillerde bulunmayan, unary operatörler de tanımlanmıştır. İki adet unary operatör vardır: ++ ve --. ++ operatörü, değişkenin tuttuğu sayıya 1 ekler, -- operatörü ise, değişkenin tuttuğu sayıyı bir eksiltir. x++ ile ++x ifadeleri arasında fark vardır. x++ ifadesinde x değişkeni önce işleme tabi tutulur ve daha sonra değeri bir artırılır. ++x ifadesinde ise önce x değişkeninin değeri bir artırılır ve x yeni değeri kullanılarak işleme tabi tutulur. 27

2. İlişkisel ve Mantıksal Operatörler İlişkisel operatörler, iki değer arasında büyüklük, küçüklük ve eşitlik gibi karşılaştırma kontrolü yaparlar. Mantıksal operatörler ise, birden fazla koşul cümlesinin birbirlerine bağlanması işlemlerinde kullanılırlar. Aşağıda, C programlama dilinde kullanılan karşılaştırma ve mantıksal operatörlerin listesi verilmiştir. Op. Açıklama Örnek Anlamı > büyüktür x>y x, y den büyükse < küçüktür x<y x, y den küçükse == eşittir x==y x, y ye eşitse >= büyük-eşittir x>=y x, y den büyük yada eşitse <= küçük-eşittir x<=y x, y den küçük yada eşitse!= eşit değil x!=y x, y den farklıysa && mantıksal VE x>2 && x<y x 2 den büyük VE y den küçükse mantıksal VEYA x>2 x<y x 2 den büyük VEYA y den küçükse! mantıksal DEĞİL!(x>y) x, y den büyük değilse İlişkisel operatörler ile kurulan koşul cümlesi doğru ise 1 (TRUE), yanlış ise 0 (FALSE) değeri üretilir. int a = 5; int b = 1; if (a > b) printf ( a, b den büyüktür.. ); Yukarıdaki örnekte a=5, b=1 olarak atanmıştır. Koşul cümlesinde (a>b) doğru olacağı için 1 üretilir ve koşul cümlesini takip eden fonksiyon işlem görür. Büyüklük küçüklük ilişkisi, alfabetik karakterler için de geçerlidir. Bu nedenle aşağıdaki yazım da doğrudur. char ch1 = A ; char ch2 = B ; if (ch1 < ch2) printf ( A, B den küçüktür.. ); C programlama dilinde VE, VEYA ve DEGIL mantıksal operatörleri kullanılır. Aşağıdaki doğruluk tablosunda, mantıksal operatörlerin kullanılması sonucu elde edilen değerler görülmektedir. x y x && y x y x!x 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 1 1 0 0 1 28

3. Bit Düzeyinde İşlem Yapan Operatörler Sayısal veya karakter değişkenlerin üzerinde bit düzeyinde mantıksal işlem yapan operatörler de vardır. Bunlar aşağıda listelenmiştir. Operatör Açıklama Örnek Sonuç & ve 10 & 25 (00001010 & 00011001) 8 (00001000) veya 10 25 (00001010 00011001) 27 (00011011) ^ özel veya 10 ^ 25 (00001010 ^ 00011001) 19 (00010011) ~ değil ~10 (00001010) 245 (11110101) >> sağa kaydırma 12 >> 3 (00001100 >> 3) 1 (00000001) << sola kaydırma 12 << 3 (00001100 << 3) 96 (01100000) IV. C DE KULLANILAN ANAHTAR SÖZCÜKLER Bütün programlama dillerinde olduğu gibi, C programlama dilinde de anahtar sözcükler (keywords) vardır. Anahtar sözcükler, bir programlama dilinin temel yapısını oluştururlar. C programlama dilindeki anahtar sözcükler ANSI standardı olarak tanımlanmıştır. Aşağıdaki listede C deki anahtar sözcükler görülmektedir. auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while C dilinde bütün anahtar sözcükler ve işlem fonksiyonları küçük harflerle yazılır. Bu kuralın birkaç istisnası vardır. Örneğin, #define direktifi kullanılarak sabit tanımlamasında sabit ismi büyük harfle yazılır. Yine dosya değişkeni tanımlarken FILE yazısı büyük harfle yazılır. Bunun dışında, programı kullanan kişiye bir açıklama yapılırken çift tırnak içinde yazılan yazılarda büyük ya da küçük harf kullanmak serbesttir. C deki anahtar sözcük, fonksiyon ve fonksiyon adları, başka bir amaçla kullanılamaz. Örneğin, herhangi bir fonksiyon adı, değişken adı olarak kullanılamaz. V. BAŞLIK (HEADER) DOSYALARI C programlama dilinde, fonksiyonları yerine getiren program parçacıkları C nin temel yapısı içinde yer almazlar. Bu nedenle programda kullanılan fonksiyonların tanımlandığı program parçaları, #include direktifi kullanılarak, ana programa dahil edilirler. #include direktifi, programın en başında yer alır ve programın derlenmesi aşamasında kullanılan fonksiyonların bulunduğu program parçacıklarını, ana programa dahil eder. Örneğin, sin() fonksiyonu, argüman olarak verilen radyan cinsinden bir açının sinüsünü hesaplar. sin() fonksiyonu, math.h isimli bir 29

dosyanın içersinde tanımlanmaktadır. Bir programda sin() fonksiyonu kullanılacaksa, programın en başında math.h dosyasının programa dahil edilmesi gerekir, aksi takdirde program çalışmaz. math.h dosyası, programa iki şekilde dahil edilebilir: #include <math.h> veya #include math.h Birinci ve ikinci gösterimler arasında, pratikte herhangi bir fark bulunmamaktadır. Yukarıda #include edilen dosyalara örnek olarak math.h dosyasını gösterdik. Eğer bir programda kullanılan fonksiyonlar değişik başlık dosyalarında bulunuyorsa, bütün ilgili header dosyaları programa teker teker dahil edilmelidir. C dilinde,.h uzantılı bu çeşit dosyalara HEADER dosyalar adı verilir. Hangi fonksiyonun hangi header dosyanın içinde bulunduğu, Language Reference adı verilen ve bir programlama dilindeki bütün fonksiyonları tek tek inceleyen kitaplarda bulunmaktadır. ANSI C deki standart başlık dosyaları: assert.h locale.h stddef.h ctype.h math.h stdio.h errno.h setjmp.h stdlib.h float.h signal.h string.h limits.h stdarg.h time.h Birçok C derleyicisinde yukarıdakilere ek olarak tanımlanmış başlık dosyaları da vardır. Bunlar derleyicinin yardım kısmından veya derleyicinin kullanım kılavuzundan öğrenilebilir. Programlarda yaygın olarak kullanılan fonksiyonların hangi header dosyalarda bulunduğunu sırası geldikçe açıklayacağız. Önce, C programlama dilinde sık kullanılan bazı header dosyalarını irdeleyelim. ctype.h: Bu header dosyasında, karakterlerle ilgili fonksiyonları çalıştıran rutinler yer alır. Örneğin isalpha() fonksiyonu, bir karakterin alfabetik olup olmadığını bulur. Bu nedenle, eğer programımızda isalpha() fonksiyonunu kullanacaksak, o programın başında #include <ctype.h> direktifiyle, ctype.h dosyasını programa dahil etmemiz gerekir. Aynı şekilde örneğin islower() fonksiyonu da (bu fonksiyon ise herhangi bir harfin küçük harf olup olmadığını bulur), ctype.h dosyasındadır. Aşağıda, ctype.h header dosyasının içinde bulunan diğer bazı fonksiyonlar görülüyor. isalnum() isdigit() iscntrl() isgraph() islower() isprint() ispunct() isupper() tolower() toupper() 30

stdio.h: Bu header dosyasında temel giriş ve çıkış fonksiyonları yer alır. Bu fonksiyonlardan bazıları aşağıdaki gibidir. printf() scanf() getchar() putchar() gets() puts() conio.h: Bu header dosyada programlarda konsol ile ilgili çok yaygın olarak kullanılan getch() ve getche() fonksiyonları bulunmaktadır. string.h: Bu header dosyasında stringlerle (katar) ilgili işlem yapan aşağıdaki fonksiyonlar bulunur. strcat() strchr() strcmp() strlen() strstr() strlok() math.h: Matematiksel fonksiyonlar ile ilgili bütün fonksiyonlar bu dosyada tanımlanır. Yaygın olarak kullanılan bazı matematiksel fonksiyonlar aşağıdadır. sin() cos() exp() log() log10() pow() sqrt() tan() time.h: Zaman ve tarih ile ilgili fonksiyonları içerir. Bazıları: clock() ctime() gmtime() localtime() time() graphics.h: Turbo C derleyicilerinde grafikle ilgili fonksiyonların tanımlandığı dosyadır. ANSI C standardında bu header dosyası bulunmamaktadır. Fonksiyonlardan bazıları: line() rectangle() putpixel() circle() elipse() 31