Hüseyin Pektaş
Program içinde istenen değerleri çıktı birimlerine göndermek için kullanılır. Normal kullanımında çıktı birimi olarak ekran kabul edilir. Kullanım biçimi:


prinf( kontrol, )
ile belirtilen bilgiye göre parametreleri yazar. Kontrol metini iki kısımdan oluşur.


o sıradan karakterler: doğrudan yazılırlar.
o dönüşüm/biçim belirleyici karakterler: Değerlerin nasıl yazılacağı bildirilir.


printf(” sonuç = %d”, k);
— integer değer yazılacaktır
——— ekrana aynen aktarılır


Dönüşüm belirlemek için önce % karakteri ve ardından dönüşümün nasıl
olacağını belirten karakter verilir. Bu karakterlerden bazıları:


d yada i : decimal (integer)
u : unsigned decimal
c : char (tek karakter)
s : string
e : float/double sayıyı bilimsel gösterimde yaz
f : float/double sayıyı [-] mmm.nnnnn biçiminde yaz
ld : long integer
lu : unsigned long integer
Le,Lf : long double


ESC dizileri :
: satır başı, a : zil , : tab,  : bir karakter geri



program parçası ekranda görünen / imleçin konumu
i = 5 ;
printf(“%d”,i) ; 5
printf(“‘i=%d”,i) ; i=5
printf(“i=”) ;
printf(“%d”,i) ; i=5 -


printf(“i=
“) ; i=
printf(“%d”,i) ; 5 alt satıra geçer

printf(‘i=%d
“,i) ; i=5 alt satıra geçer


printf(“%d - %d”,i, 5*i); 5 - 25



Biçimli yazdırma


% karakteri ile dönüşüm karakteri arasına aşağıdaki karakterler de kullanılabilir.


- : sola dayalı yaz
m : yazılacak değer için ayırılan alan
n : değerin kaç karekteri yazılacağı


s = “ABCDEF”
printf(“%10s “,s); . . . . A B C D E F

printf(“%10.3s “,s); . . . . . . . A B C


x = 128.5 ;
printf(“%7.2f”,x) ; # 128.50

x = 85.47 ;
printf(“%6.3f”,x) ; 85.470


printf(“%6.1f”,x) ; ## 85.5


Örnek 2.8.1 : Yarıçapı belli dairenin alanını hesaplayan programı yazınız. (ilk yazılan program)
#include
main()
{
const float PI=3.14;
float r, alan;
r = 7;
alan := PI*r*r;
printf((‘Alan = %f’, alan);
}


Örnek 2.8.2 : En fazla dört basamak olabilen sayının basamak değerlerini yazdır. % ve / işlemlerinin kullanımı.

#include
main()
{
int i,y;

y=1985;
i= y / 1000;
printf(“%d”,i);
y= y-i*1000;
i= y / 100;
printf(” %d”,i);
y = y-i*100;
i= y / 10;
printf(” %d”,i);
y = y-i*10;
printf(” %d
“,y);
i = 1985;
printf(“%d “,i / 1000);
printf(“%d “,(i / 100) % 10);
printf(“%d “,(i / 10) % 10);
printf(“%d
“,i % 10);
}


Örnek 2.8.3: ax2+bx+c=0 tipi bir denklemin köklerini veren programı yazınız.
Girdi : a, b ve c katsayıları
Çıktı : denklemim kökleri
Algoritma :
1. a, b ve c katsayılarını oku.
2. Delta= değerini hesapla.
3. x1 ve x2 değerlerini hesapla.
4. Kökleri yaz.


Programın kodlanması:

#include /* printf işlevi için */
#include
/* sqrt işlevi için */
main()
{
float a, b, c;
float x1, x2;
float d;


a = 1;
b = -3;
c = 2;
d = b * b – 4 * a * c;
x1 = (-b + sqrt(d)) / (2 * a);
x2 = (-b – sqrt(d)) / (2 * a);


printf(“Kökler = %f , %f”,x1, x2);
}


C dilinde karekök almak için bir deyim yoktur. Örnekte bunu yerine getiren C diline eklenmiş olan sqrt() fonksiyonu kullanılmştır. Aşağıda buna benzer artık C derleyecilerinde standart olmuş bazı fonksiyonlar verilmiştir. Bu işlevler math.h başlık dosyasında tanımlıdır.


Fonksiyon x ,y Sonuç


abs(x) int int x’in mutlak değeri
fabs(x) double double x’in mutlak değeri
pow(x, y) double double xy
sqrt(x) double double x’in karekökü
exp(x) double double ex değeri
log(x) double double ln(x) değeri
log10(x) double double log10(x) değeri
ceil(x) double double x ten büyük ilk tamsayı
floor(x) double double x ten küçük ilk tamsayı



Örnekler:
ceil(5) 5
ceil(5.2) 6
ceil(-5.2) -5
floor(5) 5
floor(5.2) 5
floor(-5.2) -6


belgesi-381
Doğu Akdeniz Ünv.