2 Fonksiyonlar -Genel Test- A 1. C dilinde fonksiyon bildirimi için hangisi gereklidir? (a) Fonksiyonun döndüreceği veri tipi (b) Fonksionun adı (c) Fonksiyon parantezi ( ) (d) Hepsi 2. C dilinde fonksion başlığı (prototype) nedir? (a) Fonksiyon türlerinden birisidir. (b) Bir başlık (heder) dosyasıdır. (c) fonksiyonu main()’e tanıtan deyimdir. (d) main() fonksiyonudur 3. Aşağıdaki programın çıktısı nedir? 1 v o i d main ( ) { i n t x = 1 0 ; p r i n t f ( " x = %d , y = %d " , x , x∗2 −4) ; } (a) X = 10, y= 10 (b) X = 10, y= 9 (c) X = 10, y= 11 (d) X = 10, y= 16 4. C dilinde module nedir? 16 BÖLÜM 2. FONKSIYONLAR -GENEL TEST- A (a) Önceden yazılıp kütüphaneye konulan fonksiyonlardan oluşan bir topluluktur. (b) Veri tipidir. (c) Değişkendir. (d) C dilinde module yoktur. 5. Fonksiyon kullanmak için mutlaka gerekli olan hangisidir? (a) prototype (b) Fonksiyon tanımı (c) fonksiyon çağrısı (d) Fonksiyon tanımını deneme 6. C dilinde giriş/çıkış işlemlerini yapan fonksiyonlar nerededir? (a) stdlib.h başlık dosyasındadır. (b) io.h başlık dosyasındadır. (c) stdio.h başlık dosyasındadır. (d) inputOutput.h başlık dosyası içindedir. 7. Protptype nereye yazılır? (a) main()’den sonra (b) Önişlemci olarak programın başına (c) Prototype gerekmez (d) main()’den önce 8. Aşağıdaki programın çıktısı nedir? #i n c l u d e <s t d i o . h> #i n c l u d e <math . h> 4 i n t main ( ) { f l o a t a = 9 . 0 ; f l o a t b = 6 . 0 ; f l o a t c= 3 . 0 ; p r i n t f ( " %.2 f " , ceil (a + b ∗ c) ) ; return 0; } deyiminin çıktısı nedir? (a) 26 (b) 26.0 (c) 27.0 17 (d) 27 9. tekrar kullanılabilme - reusability ne demektir? (a) Yazılan fonksiyonun başka programlara taşınabilmesidir. (b) Yazılan programın her istendiğinde tekrar koşturulmasıdır. (c) Bir işletim sistemi için yazılan fonksiyonun başka bir işletim sisteminde çalışmasıdır. (d) Hepsi 10. Hangisi bir fonksiyon başlığı (prototype) değildir? (a) int funct(char x, char y); (b) double funct(char x) (c) void funct(); (d) char x(); 11. parametre (arguments nedir? (a) main() ’in { } bloku içine yazılan değişkendir. (b) Fonksiyonun { } bloku içine yazılan değişkendir. (c) Fonksiyon adını izleyen ( ) parantezi içine yazılan değişkendir (d) önişlemci olarak tanımlanan sembolik sabittir. 12. global değişken nedir? (a) Yalnızca main() ’in erişebildiği değişkendir. (b) Hiçbir blok içinde olmayan değişkendir (c) Programın asıl değişkenidir. (d) önişlemci olarak tanımlanan sembolik sabittir. 13. Hangisi fonksiyon tanımıdır? (a) int kareBul(int x){return x*x;} (b) int kare Bul(int x){return x * x;} (c) int kareBul(int x){ Return x*x;} (d) int kare_Bul(int x){return x2 ;} 14. "int func(char x, float v, double t);" için prototype tipi hangisidir? (a) char 18 BÖLÜM 2. FONKSIYONLAR -GENEL TEST- A (b) int (c) float (d) double 15. float f(int x){ ...} fonksiyonu tanımlanmış iken, hangisi onu çağırır? (a) float f(int 7); (b) float f(float 7.2); (c) f(float 7.2); (d) f(7); 16. Parametre bildiriminde hangisi doğrudur? (a) float f(double x, double y){ ...}; (b) float f(double * 2){ ...}; (c) double f(x,y){ ...}; (d) float f(double x, y){ ...}; 17. float f(double x, double y){ ...} fonksiyonu için başlık bildiriminde (prototype) hangisi doğrudur? (a) float f(2 * double){ ...}; (b) double f(x,y){ ...}; (c) float f(double, double){ ...}; (d) float f(double x, y){ ...}; 18. double kentler(int x){printf("Ad : Ankara");} fonksiyonunun adı nedir? (a) Ankara (b) Ad (c) double (d) kentler 19. math.h başlık fonksiyonundan çağrılan sqrt(double x) fonksiyonu için hangisi doğrudur? (a) printf("%.3f" , sqrt(4)); (b) printf("%.3f" , sqrt(4.0)); (c) printf("%.4f" , sqrt(4)); 19 (d) Hepsi 20. Hangisi tam bir fonksiyon tanımıdır?? (a) int funct(); (b) int funct(int x) {return x=x+1;} (c) void funct(x) printf( "Merhaba" ); (d) void funct(int) {printf( "Merhaba" );} 21. Aşağıdaki programın çıktısı nedir? 2 7 #i n c l u d e <s t d i o . h> i n t main ( ) { int i = 5; p r i n t f ( "%d %d %d " , i ++, i ++, i ++) ; return 0; } (a) derleyiciye bağlı olarak değişir (b) 5 6 7 (c) 7 7 7 (d) 7 6 5 22. Fonksiyon çağrısı kaç türlü çağrılabilir? (a) 3; (b) 2 (c) 1 (d) Çok 23. Aşağıdaki programın çıktısı nedir? i n c l u d e i n t main ( ) { i n t a =6; i n t b ; b=a ∗7/3 −4∗2; p r i n t f ( " a=%d , b=%d\n " , a , b ) ; r e t u r n 0 ; } (a) A = 6, b=20 (b) A = 6, b = 12 (c) A = 6, b = 16 (d) A = 6, b = 6 24. yerel değişken nedir? 20 BÖLÜM 2. FONKSIYONLAR -GENEL TEST- A (a) Yalnızca main() ’in erişebildiği değişkendir. (b) Bir blok içinde tanımlanan değişkendir (c) Programın asıl değişkenidir. (d) önişlemci olarak tanımlanan sembolik sabittir. 25. int toplamBul(int x, y) { int toplam; toplam= x + y;} bildiriminde varsa yanlış ifadeyi düzeltiniz (a) Parametre bildirimi : (int x, int y) olmalıdır. (b) return deyimi eklenmelidir. (c) Fonksiyonun döndürdüğü int tipi öndeğer (default) olduğu için kaldırılmalıdır. (d) int toplam; bildirimi gereksizdir; çünkü x ile y onun tipini belirliyor. 26. böl ve yönet - (divide and conquer) ne demektir? (a) Programı eşit sayıda satırlardan oluşan alt gruplara ayırmaktır. (b) Programdaki her işin farklı bir fonksiyona yaptırılmasıdır. (c) Programı eşit sayıda deyimlerden oluşan alt gruplara ayırmaktır. (d) Politik bir terimdir; bilgisayar bilimlerinde yeri yoktur. 27. C dilinde fonksiyon parametrelerine atamalar asıl olarak? (a) referansla yapılır (passed by reference) (b) formülle yapılır (c) gerçek değerle yapılır (passed by value) (d) Hiçbiri 28. Aşağıdaki programın çıktısı nedir? #i n c l u d e <s t d i o . h> 4 9 14 i n t main ( ) { char c = ’a ’ ; putchar ( c ) ; p u t c h a r (F( c ) ) ; putchar ( c ) ; return 0; } char F ( char c ) { c = ’f ’; return (c) ; } 21 (a) c (b) cf (c) ff (d) afa 29. Aşağıdaki programın çıktısı nedir? 1 6 #i n c l u d e <s t d i o . h> i n t main ( ) { i n t a =5; float b; p r i n t f ( "%d " , s i z e o f (++a+b ) ) ; p r i n t f ( " %d " , a ) ; return 0; } (a) derleme hatası (b) 4 6 (c) 2 5 (d) 4 5 (e) Hiçbiri 30. Aşağıdaki programın çıktısı nedir? #i n c l u d e <s t d i o . h> 2 7 12 v o i d yaz ( i n t , i n t , i n t ) ; i n t main ( ) { i n t a =10; yaz ( a , a++,++a ) ; return 0; } v o i d yaz ( i n t x , i n t y , i n t z ) { p r i n t f ( "%d %d %d " , x , y , z ) ; } (a) 10 11 11 (b) 10 10 12 (c) 12 12 12 (d) 12 11 12 (e) Derleme hatası 31. Aşağıdaki programın çıktısı nedir? 22 BÖLÜM 2. FONKSIYONLAR -GENEL TEST- A #i n c l u d e <s t d i o . h> 3 i n t main ( ) { i n t x=5 ,y=10 , z =15; p r i n t f ( "%d %d %d " , z , y , y−x ) ; return 0; } (a) çöp çöp çöp (b) 15 10 5 (c) derleme hatası 5 (d) 5 10 15 (e) Derleme hatası 32. Aşağıdaki programın çıktısı nedir? #i n c l u d e <s t d i o . h> 3 8 i n t main ( ) { register int i ,x; s c a n f ( "%d " ,& i ) ; x=++i + ++i + ++i ; p r i n t f ( "%d " , x ) ; return 0; } (a) 3p Error address of register variable ’i’ requested (b) 4 (c) 5 (d) Hiçbiri 33. Aşağıdaki programın çıktısı nedir? 1 6 #i n c l u d e <s t d i o . h> i n t main ( ) { f l o a t f =7.4 e39 ; p r i n t f ( "%f " , f ) ; return 0; } (a) 7.4e39 (b) #INF00 (c) 7.40000... 23 (d) derlemem hatası (compiler error) (e) Koşma hatası (run time error) 34. Aşağıdaki programın çıktısı nedir? #i n c l u d e <s t d i o . h> 3 8 i n t main ( ) { enum c o l o r { MASA, SIRA=−5,KALEM,DEFTER }; enum c o l o r x ; x=DEFTER; p r i n t f ( "%d " , x ) ; return 0; } (a) -10 (b) -4 (c) -3 (d) derleme hatası (compiler error) (e) DEFTER 35. Aşağıdaki programın çıktısı nedir? #i n c l u d e <s t d i o . h> 4 9 i n t main ( ) { enum xxx { a , b , c =32767 ,d , e }; p r i n t f ( "%d " , b ) ; return 0; } (a) 32766 (b) 1 (c) -4 (d) 0 (e) derleme hatası 36. Aşağıdaki programın çıktısı nedir? 1 #i n c l u d e <s t d i o . h> i n t main ( ) { i n t a =15 ,b=10 , c =5; 24 BÖLÜM 2. FONKSIYONLAR -GENEL TEST- A i f ( a>b>c ) p r i n t f ( " True " ) ; else p r i n t f ( " False " ) ; return 0; 6 } (a) True (b) false (c) true (d) False (e) Hiçbiri 37. Aşağıdaki programın çıktısı nedir? #i n c l u d e <s t d i o . h> 5 10 i n t main ( ) { s i g n e d i n t a=−1; u n s i g n e d i n t b=−1; i f ( a==b ) p r i n t f ( "%d %d " , a , b ) ; else printf ( " Eşit değil " ) ; return 0; } (a) -1 32767 (b) -1 -1 (c) -1 -32768 (d) Eşit değil 38. Aşağıdaki programın çıktısı nedir? #i n c l u d e <s t d i o . h> 4 9 i n t main ( ) { f l o a t f =5.5 f ; float x; x=f %2; p r i n t f ( "%f " , x ) ; return 0; } Error invalid operands to binary % (have ’float’ and ’int’) (a) 1.5 25 (b) 2.000000 (c) -1.000000 (d) Hiçbiri 39. Aşağıdaki programın çıktısı nedir? 1 6 #i n c l u d e <s t d i o . h> i n t main ( ) { i n t a=−20; i n t b=−3; p r i n t f ( "%d " , a%b ) ; return 0; } (a) -2 (b) 2 (c) 17 (d) -17 (e) Hiçbiri 40. int tipe 32 bit ayıran sistemde, aşağıdaki programın çıktısı nedir? 1 6 #i n c l u d e <s t d i o . h> i n t main ( ) { c h a r c= ’ 0 ’ ; p r i n t f ( "%d %d " , s i z e o f ( c ) , s i z e o f ( ’ 0 ’ ) ) ; return 0; } (a) 1 4 (b) 1 2 (c) 2 2 (d) 2 0 (e) Hiçbiri 41. Aşağıdaki programın çıktısı nedir? #i n c l u d e <s t d i o . h> 3 8 i n t main ( ) { i n t x=2 ,y =3; i f ( x+y<=5) p r i n t f ( " True " ) ; else p r i n t f ( " False " ) ; } 26 BÖLÜM 2. FONKSIYONLAR -GENEL TEST- A (a) False (b) true (c) false (d) True (e) Hiçbiri 42. C dilinde bir fonksiyon içinde başka bir fonksiyon tanımlanabilir mi? (a) Evet (b) Hayır 43. C dilinde return tipi belirtilmeyen bir fonksiyon için derleyici ne yapar? (a) int tipinden sayar (b) derleme hatası verir (c) Koşma hatası doğar (d) veri tipinin girilmesini ister (e) Hiçbiri 44. C dilinde bir fonksiyon iki ayrı kütüphaneden alınabilir mi? (a) Evet (b) Hayır 45. C dilinde bir fonksiyon birden çok değer verebilir mi? (a) Evet (b) Hayır 46. C dilinde bir fonksiyonun birden çok return olabilir mi? (a) Evet (b) Hayır 47. Aşağıdaki programın çıktısı nedir? 1 6 #i n c l u d e <s t d i o . h> int incr ( int i ) { s t a t i c i n t count = 0 ; count = count + i ; r e t u r n ( count ) ; } 27 11 main ( ) { int i , j ; f o r ( i = 0 ; i <=4; i ++) j = incr ( i ) ; p r i n t f ( "%d " ,j); } (a) 10 (b) 7 (c) 6 (d) 4 (e) 0 48. Aşağıdaki programın çıktısı nedir? #i n c l u d e <s t d i o . h> 2 7 v o i d f o o ( i n t n , i n t sum ) { int k = 0 , j = 0; i f ( n == 0 ) r e t u r n ; k = n % 10; j = n / 10; sum = sum + k ; f o o ( j , sum ) ; p r i n t f ( "%d , " , k ) ; } 12 i n t main ( ) { i n t a = 2 0 4 8 , sum = 0 ; f o o ( a , sum ) ; p r i n t f ( "%d\n " , sum ) ; 17 getchar () ; } (a) 2 (b) 0 (c) 4 (d) 0 (e) 2,0,4,8,0 49. Aşağıdaki programın çıktısı nedir? 1 #i n c l u d e <s t d i o . h> #i n c l u d e <s t d a r g . h> i n t fun ( i n t n , . . . ) { i n t i , j = 1 , val = 0; 28 BÖLÜM 2. FONKSIYONLAR -GENEL TEST- A 6 11 16 va_list p ; va_start (p , n) ; f o r ( ; j < n ; ++j ) { i = va_arg ( p , i n t ) ; v a l += i ; } va_end ( p ) ; return val ; } i n t main ( ) { p r i n t f ( "%d\n " , f u n ( 4 , 1 , 2 , 3 ) ) ; return 0; } (a) 3 (b) 4 (c) 5 (d) 6 (e) 10 50. Aşağıdaki fonksiyon için hangisi doğrudur? 2 v o i d neYapar ( ) { /∗ . . . . ∗/ } (a) Fonksiyon ancak parametresiz çağrılabilir (b) Fonksiyon ancak bir parametre ile çağrılabilir (c) Fonksiyon ancak bir tek int parametre ile çağrılabilir (d) Fonksiyon her sayıda int parametre ile çağrılabilir (e) Fonksiyon her sayıda parametre ile çağrılabilir