1 printf (): Fonksiyonu Sayısal ve alfanümerik değerleri ekrana (çıkış elemanı olarak tanımlı ise) göndermek için kullanılan formatlı çıkış fonksiyonudur. Bu fonksiyon stdio.h başlık dosyası altında tanımlıdır. Dolayısıyla fonksiyonunu kullanımı için stdio.h başlık dosyasının programa eklenmesi gerekir. Kullanım biçimi: int printf (const char *format [, argument,...]); const char: A-Z (a-b) sıradan karakterler veya kelime /ler doğrudan yazılırlar. Örnek: printf( Merhaba Arkadaşlar ); format: Değişkenlerin değerlerinin ekran yazdırılması için kullanılır. argument: Ekrana yazdırılacak değişken adları verilir. printf( a =10 ); Ekrana a=10 ifadesini yazar. a değişkenin içeriği değişse bile ekrana a=10 yazılmaya devam edilir. a nın program içerisinde aldığı değerin yazdırılması için format tanımlayıcı ile beraber kullanılması gerekir. int k=12; k değişkeni görüldüğü gibi int tanımlıdır. int değişkenler için format tanımlayıcı %d dir. Yani: printf(" sonuc = %d", k); %d olan yere k int sayısının sayısal değeri yazdırılacaktı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ı:
2 Veri Türü Printf Scanf char %c %c int %d %d unsigned int %u %u short int %hd %hd unsigned short int %lu %lu long int %ld %ld unsigned long int %lu %lu float %f %f double %lf %lf long double %lf,%le %lf float/double(bilimsel) %e %e string (kelime) %s %s pointer %x %x Yazı format değişkenleri \n : Yeni satır, \a : zil sesi \t : tab kadar boşluk bırakılır. \r : İmleci satır başına konumlandırır \b : İmleci bir karakter geri götürür. Örnekler: program parçası ekranda görünen / imleçin konumu i = 5 ; printf("%d",i); 5 printf("'i=%d",i) ; i=5 printf("i=") ; i= printf("i=\n") ; i= printf("%d",i) ; 5 alt satıra geçer printf('i=%d\n",i) ; i=5 alt satıra geçer
3 printf("%d - %d",i, 5*i); 5-25 s = "ABCDEF" printf("%10s ",s);.... A B C D E F printf("%10.3s ",s);....... A B C x = 128.503 ; printf("%7.2f",x) ; 128.50 x = 85.47 ; printf("%6.3f",x) ; 85.470 printf("%6.1f",x) ; ## 85.5 Örnek : En fazla dört basamak olabilen sayının basamak değerlerini yazdır. % ve / işlemlerinin kullanımı. Örnek: #include <stdio.h> 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;
4 } printf(" %d\n",y); i = 1928; printf("%d ",i / 1000); printf("%d ",(i / 100) % 10); printf("%d ",(i / 10) % 10); printf("%d\n",i % 10); scanf () Fonksiyonu Klavyeden veri okumak için kullanılır. Yapı olarak printf () fonksiyonu aynıdır. Kullanım biçimi: int scanf (const char *format [, address,...]); Girilen karakterler format ile belirtilen şekle göre değişkenlere aktarılır. Değişkenler işaretçi tipinde olmalıdır. Yani parametre olarak değişkenin adresi gönderilmelidir. scanf("%f %f %f ", &a, &b, &c); scanf işlevinin değeri =0 ise hiçbir değişkene değer atanmamış >0 ise başarılı bir şekilde değer atanan değişken sayısı int a,b,c; float m,n; scanf("%d", &a); Klavyeden tamsayı okur. Girilen değer a değişkenine aktarılır. scanf("%d %d",&a,&b); Klavyeden girilen ilk değer a değişkenine, ikinci değer b değişkenine aktarılır. scanf("%f %d", &m, &a); Klavyeden 1. float, ikincisi tamsayı olmak üzere iki değer okur.
5 İkinci dereceden denklem çözümünün yapıldığı örnekte katsayıları klavyeden okutmak istersek scanf("%f %f %f ", &a, &b, &c); printf( Katsayıları sırasıyla giriniz (a b c) : ); scanf("%f %f %f ", &a, &b, &c); printf( a katsayısını giriniz : ); scanf( %f, &a); printf( b katsayısını giriniz : ); scanf( %f, &b); printf( c katsayısını giriniz : ); scanf( %f, &c); Örnek: Üç sayının ortalamasının bulunması #include stdio.h void main() { float a,b,c,orta; printf( a sayısını giriniz ); scanf( %f, &a); printf( b sayısını giriniz ); scanf( %f, &b); printf( c sayısını giriniz ); scanf( %f, &c); ort = (a+b+c)/3.0; printf( Ortalaması = &f\n, ort); }? Karşılaştırma Operatörü if else deyiminin yaptığı işi sınırlı olarak yapan bir operatördür. Genel Yazımı. k=(mantıksal_sınama)? deyim1: deyim2; Şayet mantıksal ifade doğru ise k=deyim1 değil ise k=deyim2 y çağrı (eşitleme) yapılır. a=100 ve b=50 olsun k=a>b?1:0; ifadesinde koşul doğru olduğundan k=1 olur. a<b?f1():f2(); ifadesinde koşul yanlış olduğundan f2 fonksiyonu çağrılır.
6 KAYNAKLAR Şevki DEMİRBAŞ, Oğuz ÜSTÜN ve Nihat ÖZTÜRK, Beltek kursu ders notları, Gazi Üniversitesi Çölkesen R., C Programlama Dili, Papatya Yayıncılık, 1999. Pektaş H., C Dili Kullanarak Bilgisayar Programlama, KOU EHM, Ders Notları.