Her Yönüyle C
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Her Yönüyle C

Hepsi Burada
 
AnasayfaAnasayfa  PortalliPortalli  GaleriGaleri  AramaArama  Latest imagesLatest images  Kayıt OlKayıt Ol  Giriş yapGiriş yap  

 

 TEMEL KUTUPHANE FONKSYONLARI

Aşağa gitmek 
YazarMesaj
Admin
Admin
Admin


Erkek
Mesaj Sayısı : 804
Yaş : 35
Location : KoCaElİ
Kayıt tarihi : 29/10/07

Character sheet
Field:
TEMEL KUTUPHANE FONKSYONLARI Left_bar_bleue100/100TEMEL KUTUPHANE FONKSYONLARI Empty_bar_bleue  (100/100)

TEMEL KUTUPHANE FONKSYONLARI Empty
MesajKonu: TEMEL KUTUPHANE FONKSYONLARI   TEMEL KUTUPHANE FONKSYONLARI Icon_minitimePtsi Kas. 12, 2007 2:49 am

GirişBu kısımda C Programlama Dili'nde sıkça kullanılan kütüphane fonksiyonlarının bazıları liste halinde sunulmuştur. Kütüphane fonksiyonu C dilinde önceden tanımlanmış hazır fonksiyonlarıdır. C dilinde birçok iş bu fonksiyonlarla yapılabilmektedir. Aslında her iş için bir fonksiyon bulmak olası. Bütün kütüphane fonksiyonlarının tamamı buradakilerden çok daha fazladır.






NOT
Her kütüphane fonksiyonu bir başlık dosyasında tanımlanmıştır. Bu yüzden bir kütüphane fonksiyonunu kullanmadan önce, onun hangi başlık dosyası ile kullanılması gerektiğini bilmelisiniz.

Matematiksel Fonksiyonlar (math.h)Matematiksel fonksiyonların tipleri double dır. Bu fonksiyonlardan biri program içinde kullanılacaksa math.h başlık dosyası program içine eklenmelidir. En çok kullanılan matematiksel fonksiyonlar Tablo 5.1'de listelenmiştir.

Tablo 5.1: math.h kütüphanesinde tanımlı bazı fonksiyonlar



Fonksiyon Bildirimi
Açıklama
Örnek
Sonuç

int abs(int x);
x tamsayısının mutlak değerini hesaplar
abs(-4)
4

double fabs(double x);
x gerçel sayısının mutlak değerini hesaplar
fabs(-4.0)
4.000000

double floor(double x);
x'e (x'den büyük) en yakın tamsayıyı gönderir
abs(-2.7)
3.000000

double ceil(double x);
x'e (x'den küçük) en yakın tamsayıyı gönderir
abs(5.6)
5.000000

double sqrt(double x);
pozitif x sayısının karekökünü hesaplar
sqrt(4.0)
2.000000

double pow(double x, double y);
x^y (xy) değerini hesaplar
pow(2.0,3.0)
8.000000

double log(double x);
pozitif x sayısının doğal logaritmasını hesaplar, ln(x)
log(4.0)
1.386294

double log10(double x);
pozitif x sayısının 10 tabanındaki logaritmasını hesaplar
log10(4.0)
0.602060

double sin(double x);
radyan cinsinden girilien x sayısının sinüs değerini hesaplar
sin(3.14)
0.001593

double cos(double x);
radyan cinsinden girilien x sayısının kosinüs değerini hesaplar
cos(3.14)
-0.999999

double tan(double x);
radyan cinsinden girilien x sayısının tanjant değerini hesaplar
tan(3.14)
-0.001593

double asin(double x);
sinüs değeri x olan açıyı gönderir. Açı -pi/2 ile pi/2 arasındadır.
asin(0.5)
0.523599

double acos(double x);
cosinüs değeri x olan açıyı gönderir. Açı -pi/2 ile pi/2 arasındadır.
acos(0.5)
1.047198

double atan(double x);
tanjant değeri x olan açıyı gönderir. Açı -pi/2 ile pi/2 arasındadır.
atan(0.5)
0.463648





NOT
Bir programda math.h kütüphanesi kullanılacakca, GCC derleyicisi -lm seçeneği ile birlikte kullanılmalıdır.
Örneğin test.c içinde math.h'i kullanıyorsa derleme:
gcc -lm test.c -o test şeklinde yapılmalıdır. Aksi halde bir hata mesajı ile karşılaşılır.

Trigonometrik (sin, cos, tan) fonksiyonlar kendisine parametre olarak gelen değeri radyan olarak kabul eder ve sonucu hesaplar. Eğer açılar derece cinsinden hesaplanması gerekiyorsa şu dönüşüm kullanılmalıdır: radyan = (3.141593/180.0)*derece;
Program 5.1: sin(), cos(), and tan() fonksiyonlarının kullanımı




[color=gray] 1:
/* 05prg01.c: 30 dercelik bir açının sinüs, kosinüs ve tanjant değerleri */
2:
3: #include <stdio>
4: #include <math>
5:
6: #define PI 3.141593
7: #define CARPAN PI/180.0
8:
9: void main()
10: {
11: double x;
12:
13: x = 30.0; /* 30 derece ! */
14: x *= CARPAN; /* radyana çevir */
15:
16: printf("30 derecenin sinusu : %f\n", sin(x));
17: printf("30 derecenin kosinusu : %f\n", cos(x));
18: printf("30 derecenin tanjanti : %f\n", tan(x));
[color:9f87=gray:9f87]19: }

DERLEME ve ÇALIŞTIRMA



Turbo C (MS DOS)
GCC (Linux)

C:\TC> tcc 05prg01.c
C:\TC> 05prg01
$ gcc -lm 06prg01.c -o 05prg01
$ ./05prg01

ÇIKTI




30 derecenin sinusu : 0.500000
30 derecenin kosinusu : 0.866025
30 derecenin tanjanti : 0.577350

Standart Fonksiyonlar (stdlib.h)
Tablo 5.2: stdlib.h kütüphanesinde tanımlı bazı fonksiyonlar



Fonksiyon Bildirimi
Açıklama
Örnek
Sonuç

int atoi(const char *s);
Bir katarı tamsayıya çevirir
atof("-12345")
-12345

long atol(const char *s);
Bir katarı uzun tamsayıya çevirir
atof("1234567890")
1234567890

double atof(const char *s);
Bir katarı reel sayıya çevirir
atof("-123.546")
-123.456

void exit(int durum);
Programı sonlandırarak kontrolü işletim sistemine geri verir.
exit(0)
-

int rand(void);
0 ile RAND_MAX arasında rastgele sayı üretir.
RAND_MAX, stdlib.h içinde tanımlanmış bir sembolik sabittir
rand()
504851

max(a,b)
stdlib.h'de tanımlanmış iki sayıdan en büyüğünü bulan makro fonksiyon
max(5,9)
9

min(a,b)
stdlib.h'de tanımlanmış iki sayıdan en küçüğünü bulan makro fonksiyon
min(5,9)
5

void *malloc(unsigned boyut);
Bellekte boyut ile belirtilen sayıda bayt kadar yer tahsis eder
p=malloc(sizeof(int)*5)
?

void free(void *ptr);
malloc ile ayrılan bellek bölgesini boşaltır
free(p)
-
Program 5.2: rand() fonksiyonuun kullanımı




[color=gray] 1:
/* 05prg02.c:
[color=gray] 2:
(a) 0-100 arasında 10 tane rasgele sayı üretir
[color:9f87=gray:9f87] 3: (b) 0-1 arasında 10 tane rasgele sayı üretir */
4:
5: #include <stdio>
6: #include <stdlib>
7:
8: void main()
9: {
10: int i,ri;
11: float rf;
12:
13: /* randomize(); Turbo C için */
14:
15: for(i=0;i<10> tcc 05prg02.c
C:\TC> 05prg02
$ gcc 05prg02.c -o 05prg02
$ ./05prg02

ÇIKTI




57 0.928434
10 0.204596
36 0.638691
18 0.682974
90 0.790521
73 0.090518
16 0.118015
46 0.250557
4 0.593158
36 0.437132

20 tane rasgele sayı ürettim...

Karakter Üzerinde İşlem Yapan Fonksiyonlar (ctype.h)
Tablo 5.3: ctype.h Kütüphanesinde tanımlı fonksiyonlar



Fonksiyon Bildirimi
Açıklama
Örnek
Sonuç

isalpha(c)
c bir harf ise 0 dan farklı, değilse 0 gönderir
isalpha('a')
8

isalnum(c)
c A-Z, a-z veya 0-9 arasında ise 0 dan farklı, değilse 0 gönderir
isalnum('a')
1

isascii(c)
c bir ASCII karakter ise 0 dan farklı, değilse 0 gönderir
isascii('a')
1

isdigit(c)
c bir rakam ise 0 dan farklı, değilse 0 gönderir
isdigit('4')
2

islower(c)
c a-z arasında ise 0 dan farklı, değilse 0 gönderir
islower('P')
0

isupper(c)
c A-Z arasında ise 0 dan farklı, değilse 0 gönderir
islower('P')
4

toascii(c)
c sayısı ile verilen ASCII koda sahip karakteri elde eden makro
toascii(65)
A

tolower(c)
c karakterini küçük harfe çevirir
tolower('D')
d

toupper(c)
c karakterini büyük harfe çevirir
toupper('b')
B
Program 5.3: ctype.h kütüphansinde bulunan bazı makroların kullanımı




[color=gray] 1:
/* 05prg03.c:
[color=gray] 2:
ASCII kodaları 32-127 arasında olan karakterler üzerinde
[color:9f87=gray:9f87] 3: ctype.h kütüphanesinde tanımlı bazı makroların kullanımı */
4:
5: #include <stdio>
6: #include <ctype>
7:
8: void main(void)
9: {
10: int i;
11: char c;
12:
13: for(i=32;i<127> tcc 05prg02.c
C:\TC> 05prg02
$ gcc 05prg02.c -o 05prg02
$ ./05prg02

ÇIKTI




32 0 0
33 ! ! 0 0
34 " " 0 0
35 # # 0 0
36 $ $ 0 0
37 % % 0 0
...
47 / / 0 0
48 0 0 0 2
49 1 1 0 2
50 2 2 0 2
...
65 A a 4 0
66 B b 4 0
...
97 a a 8 0
98 b b 8 0
...
122 z z 8 0
123 { { 0 0
124 | | 0 0
125 } } 0 0
126 ~ ~ 0 0
Sayfa başına dön Aşağa gitmek
https://cprogramlama.yetkin-forum.com
 
TEMEL KUTUPHANE FONKSYONLARI
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» E-kutuphane
» temel counter strike oynarsa

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Her Yönüyle C :: C Programlama :: C Konu Anlatımları-
Buraya geçin: