Merhaba, C dilini öğrenirken, C’nin standart fonsksiyonlarını öğrenmeden olmaz. Çünkü ekrana girdi ve çıktı yapıtığımız printf(),scanf()
dahi
C standart fonksiyon kütüphanesi stdio.h
‘a aittir. Bildiğimiz gibi fonksiyonlar yazılımları daha da kolaylaştıran yapılardır. Standart C dili fonksiyonları programlama yapmamızı kolaylaştırmakta ve işleri daha da hızlandırmaktadır. Tabi sizde C dili standart fonksiyonlarına ek olarak kendi kütüphanenizi yazabilirsiniz. Oluşturmuş olduğunuz kütüphanleri projelerinize dahil edebilirsin. Bu C standart fonksiyon kütüphanlerini projemize aşağıdaki gibi dahil edebiliriz.
1 2 3 4 5 6 7 | #include <stdio.h> #include <ctype.h> #include <string.h> #include <conio.h> #include <graphics.h> #include <stdlib.h> #include <math.h> |
Standart C dili kütüphanleri ve özellikleri aşağıdaki tabloda belirtilmiştir. Bu tablodaki kütüphanelere sıra ile bakalım.
Kütüphane Adı | Kütüphane Özelliği |
---|---|
string.h | Metin İşlemleri |
ctype.h | Karakter İşlemleri |
conio.h | Yazı İşlemleri |
math.h | Matematiksel İşlemler |
stdio.h | Girdi / Çıktı İşlemleri |
stdlib.h | Muhtelif İşler |
graphics.h | Grafiksel İşlemler |
C String (string.h) Kütüphanesi Fonksiyonları
C’de string işmeleri yapabilmemiz için oluşturulmuş kütüphanedir. Kütüphanede yeralan fonksiyonlar ve özellikleri aşağıdaki tabloda listelenmiştir.
Fonksiyon | Özelliği |
---|---|
strlen(‘metin’) | Dizideki eleman sayısını verir. |
strcpy(metin_1,metin_2) | Metin_2’yi metin_1’e kopyalar. |
strncpy(metin_1,metin_2,n) | metin_2 değişkenin baştan n. karakterini metin_1 değişkenine kopyalar |
strcat(metin_1,metin_2) | metin_1 sonuna metin_2’yi ekler |
strncat(metin_1,metin_2) | metin_1’in sonuna metin_2’nin n. karaterine kadarını ekler. |
strcmp(metin_1,metin_2) | İki metini karater olarak karşılaştırır. Aynı ise 0 metin_1 karakteri fazla ise pozitif, metin_2 karakteri fazlaysa negatif değer dönderir.Hesaplamayı ASCI kodlarına göre yapar |
strstr(metin_1,metin_2) | Metin_1 içerisinde metin_2’yi ara bulursa metin_1’de aranan değerin ilk başladığı karakterini göstericisini dönderir. Eğer bulamazsa ‘\0’ null değerini dönderir |
Yukarıda belirtmiş olduğumuz fonksiyonları aşağıdaki uygulamada örenekleri yapılmıştır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #include <stdio.h>//girdi-çıktı kütüphanesi #include <string.h> //string kütüphanesi int main(){ char metin_1[]="Kalkın ey Fellah-ı Vatan dediler, kalktık;"; char metin_2[]="Herkes oturdu biz ayakta kaldık."; int uzunluk; uzunluk=strlen(metin_1); // metinin uzunluğunu bulur. printf("\nmetin_1'in uzunlugu : %d",uzunluk); //metin_1'in uzunlugu : 42 char cpy[50]; strcpy(cpy,metin_1);//metin_1 cpy değişkenine kopyalar. printf("\nmetin_1, cpy degiskenine kopyalandi : %s",cpy); //metin_1, cpy degiskenine kopyalandi : Kalk²n ey Fellah-² Vatan dediler, kalkt²k; char cpy_2[50]; strncpy(cpy_2,metin_2,6); printf("\nmetin_2, cpy degiskenine 6. karaterine kadar kopyalandi : %s",cpy_2); //metin_2, cpy degiskenine 6. karaterine kadar kopyalandi : Herkes char birlestir[100]; strcat(birlestir,metin_1); strcat(birlestir,metin_2); printf("\nmetin_1 ve metin_2'yi birlestir degiskeni ile birleştirdi : %s",birlestir); //metin_1 ve metin_2'yi birlestir degiskeni ile birle¦tirdi : Kalk²n ey Fellah-² Vatan dediler, kalkt²k;Herkes oturdu biz ayakta kald²k. char nKadarBirlestir[50]="Birlestir "; strncat(nKadarBirlestir,metin_2,6); printf("\nnKadarBirlestir degiskenine metin_1'den n kadar alarak birlestirdi : %s",nKadarBirlestir); //nKadarBirlestir degiskenine metin_1'den n kadar alarak birlestirdi : Birlestir Herkes char aranan[]="ey"; char *ilkGosterici=strstr(metin_1,aranan); printf("\nmetin_1'in icinde ey aradi, buldu ilk harf olan e'nin referans numarasini veridi. Referans : %X",ilkGosterici); getchar(); //Consolun kapanmasını engellemek için bir karatere basılmasını bekliyoruz. return 0; // programın sorusuz çalıştığını işletim sistemine bildiriyoruz. } |
C Math.h Kütüphane Fonksiyonları
C dilinde matematiksel işlemleri yapmak için kullandığımız sınıftır. Math.h kütüphesini kullanmak için #include <math.h>
sayfanın başında çağırmamız gerekli. Aşağıdaki tabloda fonksyion ve özellikleri verilmiştir.
Fonksiyon | Özellik |
---|---|
sqrt(x) | x’in karekökünü alır. |
pow(x,y) | x’in y’inci kuvvetini alır. |
fabs(x) | x’in mutlak değgeri |
floor(x) | x’i en yakın küçük tam sayıya yuvarlar |
ceil(x) | x’i en yakın büyük sayıya yuvarlar. |
sin(x) | x radyan açısının sinüsü |
cos(x) | x radyan açısının kosinüsü |
log(x) | e tabanına göre x’in logaritması |
exp(x) | e(2.718…) sabitinin x’inci kuvveti |
fmod(x,y) | x’in y’ye bölümünden kalan |
int rand() | rasgele sayı |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <stdio.h>//girdi-çıktı kütüphanesi #include <math.h> //matematik kütüphanesi. #define pi 3.141595 int main(){ //anafonksiyon double sayi_1=5; printf("sayi_1'in karekoku %lf",sqrt(sayi_1)); //sayi_1'in karekoku 2.236068 printf("\nsayi_1'in 3. kuvveti : %3.0lf",pow(sayi_1,3)); //%3.0lf = 3 kareter uzunluğunda notandan sonra almayacak. //sayi_1'in 3. kuvveti : 125 printf("\nrasgele sayi uretimi : %d - %d - %d",rand(),rand(),rand()); //rasgele sayi uretimi : 6334 - 18467 - 41 double d=90,r; r=d*pi/180; printf("\naci : %.1lf sinus : %.1lf cosinus : %.1lf",d,sin(r),cos(r)); //aci : 90.0 sinus : 1.0 cosinus : -0.0 getchar(); //Consolun kapanmasını engellemek için bir karatere basılmasını bekliyoruz. return 0; // programın sorusuz çalıştığını işletim sistemine bildiriyoruz. } |
C Karakter (ctype.h) Kütüphanesi Fonksiyonları
C’de karater işlemleri yapmamızı sağlar. Örneğin harf-sayi sorgulamsı, büyük-küçük metin yazdırımı vb. Bu kütüphaneyi kullanabilmeniz için
#include <ctype.h>
kütüphanesini sayfa başında çağırmanız gerekmektedir. Bu kütüphane kullanılan fonksiyonlar ve özellikleri aşağıdaki tabloda listelenmiştir.
Fonksiyon Adı | Özelliği |
---|---|
isalnum(n) | n’in alfanümerik (harf veya sayı) olup olmadığını sorgular. Alfanümerik ise true(Sıfırdan Farklı) değilse false(Sıfır) değer dönderir. |
isalpha(n) | n harf ise true , harf değilse false değer dönderir. |
digit(n) | n rakamsa true(1) değilse false(0) değerini dönderir. |
islower(n) | n harfi küçükse true(1) değilse false(0) değeri dönderir. |
isupper(n) | n harfi büyükse true(1) değilse false(0) değerini dönderir. |
isspace(n) | n boşluk veya tab ise true(1) değilse false(0) değerini dönderir. |
tolower(n) | n harfini küçük harf yapar. |
toupper(n) | n harfini büyük harf yapar. |
Aşağıda C dili ctype.h kütüphanesi fonksiyonları ile iligili uygulama bulunamaktadır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include <stdio.h>//girdi-çıktı kütüphanesi #include <ctype.h> //karakter kütüphanesi. int main(){ //anafonksiyon char n='x'; if(isalnum(n)) printf("n degiskeni bir alphanumerik deger.");//alfanümerik kontrolünü yaptık. else printf("n degiskeni alfanumerik bir deger degil."); printf("\n"); if(isalpha(n)) printf("n degiskeni hraf"); //harf olup olmadığını kontrol ettik. else printf("n degiskeni harf degil."); printf("\n"); if(isdigit(n)) printf("n degiskeni rakam");//rakam olup olmadğını kontrol ettik else printf("n degiskeni rakam degil."); printf("\n"); if(islower(n)) printf("n degiskeni kucuk harf"); //Küçük harf olup olmadığını kontrol ettik else printf("n degiskeni kucuk harf degil."); /* Ekran Çıktısı: n degiskeni bir alphanumerik deger. n degiskeni hraf n degiskeni rakam degil. n degiskeni kucuk harf */ getchar(); //Consolun kapanmasını engellemek için bir karatere basılmasını bekliyoruz. return 0; // programın sorusuz çalıştığını işletim sistemine bildiriyoruz. } |