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,
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
#include
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