You are on page 1of 13

Bu www.elektroarge.

com

benzetim ( simulation )

anlamak.

5.3 M

( )
( HEADER ) DOSYALAR

5.11 DEPOLAMA SINIFLARI

:
EME ve TEKRAR

amlar

zaptet (divide&conquer uygulama,

143
Bu www.elektroarge.com

fonksiyon denir.

art

yazmak yerine ANSI C

printf ,scanf ,pow

fonksiyonlar er
fonksiyonlardan gizlenirler.
Fonksiyonlar,

bilgileri (
( ), ( )
da ken
printf
printf
ve rapor verir.

main
ve e

main

144
Bu www.elektroarge.com

iyonlardan da

900.0

sqrt 900.0
900.0 sqrt fonksiyonunun
30.00 sqrt fonksiyonu, double tipte
double
double

#include
<math.h> ( header

c1=13.0
d=3.0 ve f=4.0

printf ( ( c1+d*f ) );

ifadesi, 13.0 + 3.0 * 4.0 = 25.0 Hesaplama


sonucu 5.00
x ve y, double veri tipindedir.

TANIM
sqrt(x)

145
Bu www.elektroarge.com

exp(x) ex

log(x)
ini verir
log10(x)

fabs(x)

x<0 ise
ceil(x)
ceil(-9.8) 9
floor(x)
floor(-9.8)
y
pow(x) x p

fmod(x,y)
bulur
sin(x)
radyan)
cos(x) cos(0.0
(x radyan)
tan(x)
radyan)

Bir fo
bildirildikleri

iyonun parametreleri de yerel

main fonksiyonu

( divide and
conquer

Fonksiyona iyi isim verilir ve fonksiyon iyi

( abstraction printf, scanf


ve pow

146
Bu www.elektroarge.com

main

kare fonksiyonunu kullanan bir program


inceleyelim. ( )

1
2 fonksiyonu */
3 #include <stdio.h>
4
5 int kare( int ); /* fonksiyonun ilk hali(prototipi) */
6
7 int main( )
8 {
9 int x;
10
11 for ( x = 1; x <= 10; x++ )
12 printf( "%d ", kare( x ) );
13
14 printf( "\n" );
15
16 return 0;
17 }
18
19
20 int kare( int y )
21 {
22 return y * y;
23 }

147
Bu www.elektroarge.com

1 4 9 16 25 36 49 64 81 100

kare fonksiyonu, main printf ifadesi ( 12

kare fonksiyonu, x y y * y
main printf printf sonucu
for 10

kare in bir y
int anahtar kelimesi, bize kare
. kare return

int kare ( int );

int , derleyiciye kare


int ise
derleyiciye, kare
kare
,
ve
ol

( parametre listesi )
{
bildirimler
ifadeler
}

void

her zaman int

int

belirtilmemesi beklenmeyen

148
Bu www.elektroarge.com

void olarak .

int olarak belirlese de her zaman geri


main

Parametre listesi, fonksiyo bildirimlerini

parametre listesi void int


int

double x, double y yerine double x , y olarak bildirmek.


double x, y bildirmek y parametresinin tipinin int
belirtilmeyen parametre tipi otomatik olarak int

Genel programla

belirtilmeyenler otomatik olarak int tipinde

bildirimler
Bir blok en basit anlamda,
bildirimler bildirilebilir
ve bloklar yuvalanabilirler.

149
Bu www.elektroarge.com

Bir fonksiyon genellikle bir sayfadan daha uzun ol

kolay

1-

2-) return;

3-

return deyim;

maksimum 3
scanf
maksimum
maksimum fonksiyonun return ifadesi ile main eri
printf

1
2
3 #include <stdio.h>
4
5 int maksimum( int, int, int ); /*fonksiyon prototipi*/
6
7 int main( )
8 {
9 int a, b, c;
10
11 printf
12 scanf( "%d%d%d", &a, &b, &c );
13 printf( "Maksimum : %d dir.\n", maksimum( a, b, c ) );
14
15 return 0;
16 }

150
Bu www.elektroarge.com
17
18
19 int maksimum( int x, int y, int z )
20 {
21 int maks = x;
22
23 if ( y > maks )
24 maks = y;
25
26 if ( z > maks )
27 maks = z;
28
29 return maks;
30 }

Maksimum : 85 dir.

Maksimum : 85 dir.

Maksimum : 85 dir.

maksimum fonksiyonu.

n prototipleridir)
Bir fonksiyon

llerini ( prototiplerini
Bu sebepten, derleyici

ANSI C ,bu

151
Bu www.elektroarge.com

n
programa dahil
( prototiplerini #include

de #include

maksimum fonksiyonunun prototipi

int maksimum ( int, int, int );

Bu fonksiyon prototipi, maksimum fonksiyonunun int


olarak int t
maksimum (x, y ve z)

Parametre isimleri, belge Derleyici, bu


isimleri ihmal eder.

void maksimum (int,int,int) ;

int ile
void

sqrt matematik fonksiyonunun


math.h double

printf \ t ( 4 ) );

ifadesi, sqrt ( 4 ) 2.000


4 sqrt
double 4.0 olarak, fonksiyon prototipi

olabilir.
sqrt int,
otomatik olarak double double tipte bir veri int tipine

152
Bu www.elektroarge.com
double tipind
,

- k tipten en
printf ve scanf

printf scanf

long double %Lf %Lf


double %f %lf
float %f %f
unsigned long int %lu %lu
long int %ld %ld
unsigned int %u %u
int %d %d
short %hd %hd
char %c %c

rametresi kullanan kare fonksiyonu (


( float int tipine
ve square square ( 4.5 ), 20.25 yerine 16
rini verecekti.

ilk kez
Fonksiyonun ilk
Derleyici, otomatik olarak
int

edemez..

153
Bu www.elektroarge.com

int

( HEADER ) DOSYALAR

<assert.h>

<ctype.h>
prototiplerini tutar
<errno.h>
<float.h>
<limits.h> sistemin integral limitlerini tutar
<locale.h>

zaman, para birimleri ve

<math.h>
<setjmp.h>
ototiplerini tutar
<signal.h>

<stdarg.h>

<stddef.h>
<stdio.h>

<stdlib.h>

<string.h>
<time.h>

154
Bu www.elektroarge.com

dosyalar da .h
programlara #include square.h

5.8

ayarlam

7.

bir miktar

rand fonksiyonu sayesinde uygulanabilir.

i = rand( );

rand fonksiyonu 0 ile RAND_MAX (<stdlib.h>


bir sembolik sabit)
RAND_MAX, iki byte

155

You might also like