Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 14.04.2015 Süre : 60 dak. 1. Tür dönüşümleri... olmak üzere iki şekilde gerçekleştirilir. a) basit ve bileşik b) otomatik ve yarı otomatik c) ayrık ve bütünleşik d) otalik ve kompakt e) otomatik ve açık tür dönüşümleri 2. Hangisi isimlendirme kurallarından bir değildir? a) İngiliz alfabesi büyük ve küçük harfleri, rakamlar ve alttire olmak üzere toplam 63 karakter kullanılır. b) Değişken isimleri en çok 16 karakterden oluşabilir. c) C nin 32 anahtar sözcüğü isimlendirme amacı ile kullanılamaz. d) C büyük/küçük harf duyarlıdır. e) İsimler rakamla başlayamaz. 3. Bir program parçasının yinelemeli olarak çalıştırılmasını sağlayan... denir. a) deyimlere geri dönüş deyimleri b) deyimlere iteratif deyimler c) deyimlere bildirim deyimleri d) kontrol deyimlerine döngü deyimleri 4. Ekranda ne görüntülenir? int g; void func() g = 10; g = 20; func(); printf("g = %d\n", g); a) g=20 b) Hatalı, derlenmez c) 20 d) g=10 e) 10 5. Aşağıdaki fonksiyonda i değişkeninin değeri 5 ise fonksiyon geri dönüş değeri nedir? int fonk1(int i) return (i > 0) - (i < 0); a) -1 c) 5 d) 0 e) void 6. Kod derlenmemektedir. Neden? int x=9,y; y=2*x; int t; t=++y; a) Burada bir hata yoktur. b) Değişkenler fonksiyonların en başında tanımlanmamıştır. c) En başta #include<stdio.h> yazılmamıştır. d) Geri dönüş değerine gerek olmadığından son satırdaki kaldırılmalıdır. e) Son satırın sonunda ; eksiktir. 7. Hangi değişken tanımlaması geçersizdir? a) lambda b) fı c) zt d) Pi e) X0 8. Hangi işlev bildirimi geçersizdir? a) char isupper(int); b) float calculate(float a, float b); c) double fonk1(double, double, int); d) double kare(double double); e) int multiply(int number1, int number2); 9. if deyiminin doğru kısmı, bir...(i) deyim olabileceği gibi, bir... (II) deyim, bir...(iii) deyim ya da başka bir... (IV) deyimi de olabilir. a) I: tam II: boş III: işlevsel IV: bileşik b) Hiçbiri c) I: yalın II: boş III: bileşik IV: kontrol d) I: boş II: blok III: bütünleşik IV: parametre e) I: yalın II: statik III: otomatik IV: kontrol 10. break deyimi ile... 11. a) program sona erdirilir. b) bir döngüden çıkış sağlanır. c) işlev sona erdirilir. d) çalışma zamanı hataları engellenir. İşlev bildirimleri... a) değişkenlere ilk değer vermek için kullanılır. b) tüm blokların dışında yapılmış ise tanımlandığı yerden aşağıya doğru geçerlidir. c) yapılırken değişken isimleri kullanılamaz. d) nerede yapılırsa yapılsın geçerlidir. 1 Prof.Dr.İ.Ö. Bildirici
12. Tür dönüştürme işleci... a) sonek konumunda bulunan tek terimli bir işleçtir. b) ilişkisel işleçler arasında yer alır. c) araek konumunda bulunan iki terimli bir işleçtir. d) üç terimli bir işleçtir. e) önek konumunda bulunan tek terimli bir işleçtir. 13. Aşağıda kod derlenmekte, ancak ekranda tek bir değer görüntülenmektedir. Döngü neden oluşmamaktadır? for(i=0;i<10;i++); printf("%dn",i); a) İkinci satırdan önce ve sonra küme parantezleri ve olmadığından b) İlk satır for(i=0;i<10;++i); olarak düzeltilirse döngü çalışır. c) İlk satırın sonundaki ; nedeniyle d) İlk satır for(i==0;i<10;i++); olarak düzeltilirse döngü çalışır. e) Kod sorunsuzdur. Döngü oluşur. 14. Bir ifadenin sonlandırıcı atom ile sonlandırılması ile oluşan deyimlere ne denir? a) Kontrol deyimi b) Bileşik deyim c) Yalın deyim d) Boş deyim 15. Aşağıdaki işlemi yapabilmek için hangi başlık dosyası gereklidir? sqrt(pow(x1,2)+pow(y1,2)); a) math.h b) stdio.h c) stdlib.h d) ctype.h e) string.h 16. Bir döngünün gövdesi içinde continue deyimin kullanılması ile... a) gövde içinde geriye kalan deyimler atlanarak bir sonraki tura geçilir. b) gövde içinde geriye kalan deyimler yapılarak bir sonraki tura geçilir. c) gövde içinde geriye kalan deyimler yapılarak, döngüden çıkılır. d) programın başına geri dönülür. e) döngüden çıkılır. 17. Deyim... a) virgülle ayrılmış atomların oluşturduğu kod parçası b) ifade ve işleçlerden oluşan atom grubudur. c) ifade ve sonlandırıcıdan oluşan atom grubudur. d) yalnızca işlev çağrılarından oluşur. 18. Hangi değişmez yazımı geçersizdir? a) 35.267e9 c) 3.75u d) 25L 19. int a=2, b=3;a*=b; işlemi sonunda a=? a) 0 c) 6 d) 5 e) Kod hatalı 20. C de işlevlerin geri dönüş değer hakkında hangisi yanlıştır? a) Bazı işlevlerin geri dönüş değerleri yaptıkları işin başarısı hakkında bilgi verir. b) İşlev çağrılarında geri dönüş değerinin kullanımı zorunlu değildir. c) Geri dönüş değeri üretilmesi zorunludur. d) Geri dönüş değerinin türü belirtilmezse int varsayılır. e) C dilinde işlevlerin geri dönüş değerleri return deyimi ile oluşturulur. 21. Hangi işleç terimi olan nesnelerin değerini değiştirir? a) ++ b) / c) + d) % e) & 22. Bir işlev en az bir... içermelidir. 23. a) değişken b) bildirim c) blok d) parametre e) deyim İşleçlerin işleme soktukları nesne veya değişmezlere... denir. a) blok b) deyim c) terim d) simgesel değişmez e) atom 24. Koşul işleci C dilinin... a) üç terimli tek işlecidir. b) tek terimli önek işleçlerindendir. c) iki terimli işleçlerinden biridir. d) öncelik seviyesi en yüksek işlecidir. e) aritmetik işleçlerinin bütünleştirilmesiyle oluşturulmuştur. 2 Prof.Dr.İ.Ö. Bildirici
25. İşlemcilerin aritmetik bir işlemi gerçekleştirmesi için işleme sokulan terimlerin... a) tamsayı türlerine dönüştürülmesi gerekir. b) sayısal olması gerekmez. c) uzunluklarının aynı olması gerekmez. d) kanonik olması gerekir. e) uzunluklarının aynı olması gerekir. 26. k=!9; işlemi sonunda k değişkeni hangi değeri alır? a) 9 c) -1 d) -9 e) 0 27. Aşağıdaki kod derlenmemektedir. Nasıl düzeltilebilir? if (x > 5); printf("dogru!\n"); else printf("yanlis\n"); a) İlk satırın sonundaki ; kaldırılmalı b) İlk satır If ile başlamalı. c) Burada hata yoktur. d) Üçünci satırın sonuna ; eklenmeli. 28. if deyiminin doğru ve/veya yanlış kısmı birden fazla deyimden... 29. a) oluşuyorsa bildirim yapılmalıdır. b) oluşuyorsa onun yerine switch kullanılmalıdır. c) oluşuyorsa bloklama yapılmalıdır. d) oluşmamalıdır. e) İşlevler...(I) çağrılabilir....(ii) işlev çağrıları geçersizdir. a) I: blokların dışından II: Tanımlanmış işlevlerin içinden b) I: program kodunun her yerinden II: Tanımlanmamış c) I: tanımlanmış işlevlerin içinden II: Blokların dışından d) I: kolaylıkla II: Global e) I: yerel II: Kontrol deyimleri içinde 30. Aşağıdaki kod ne amaçla yazılmıştır? #include <ctype.h> int i; if(isalpha(i=getchar())) printf("ok"); a) Bir karakterin harf olup olmadığını sınamak için. b) Bir karakterin büyük harf olup olmadığını sınamak için. c) Bir karakterin küçük olup olmadığını sınamak için. d) Bu kodun özel bir amacı yoktur. e) Bir karakterin yunan alfabesi harfi olup olmadığını sınamak için. 31. Aşağıdaki kodun çalışması sonucu ekranda ne görünür? double x=5.,y=3.,z; z=x*y; printf("%lf\n",z); a) 1 b) 0 c) %lfn d) Kod derlenmez e) 15 32. Aşağıdaki kod hatalı mıdır? #include<stdio.h> double kare(double x); int main() double x,y=3; x=kare(y)+2.; double kare(double a) return a*a; a) İşlev bildirimi hatalıdır. b) Hata yoktur. c) x=kare(y)+2.; yerine x=pow(y,2)+2.; yazılırsa derlenir. d) İşlev içinde işlev tanımlanamaz. Bu nedenle derlenmez. e) Kod derlenir ancak çalışmaz. 33. Programın çalışması sonucu ekranda ne görülür? #include<stdio.h> int i; for(i=0;i<5;i++) printf("%d",2*i); a) 1 den 9 a kadar alt alta tek sayılar b) 0 dan 8 e kadar alt alta çift sayılar c) 02468 d) 13579 e) Hiçbiri 34. p = (x == 5)? 10 : 20; x değeri 6 ise p değeri? a) 20 c) 0 d) Hiçbiri e) 10 3 Prof.Dr.İ.Ö. Bildirici
35. Aşağıdaki fonksiyon ne hesaplar? int f1(int i) int f=1; while (i) f*=i--; return f; a) 1 den n e kadar sayıların toplamı b) faktöriyel c) 1 den n e kadar sayıların ortalaması d) standart sapma e) Kod hatalıdır. 36. Gerçek sayı değişmezleri... a) işaretsiz olarak da tanımlanabilir. b) f soneki ile üstel olarak yazılabilir. c) yalnızca onluk sayı sisteminde yazılır. d) onluk onaltılık ve sekizlik sayı sistemlerinde yazılabilir. 37. Aşağıdaki işlev bildirimi için hangisi doğrudur? double foo(); a) Parametre almayan bir işlevdir. b) Parametreler boş bırakıldığından yalnızca int türünde parametreler alabilir. c) İşlev bildirimlerinde sonlandırıcı kullanılmaması gerektiğinden bildirim hatalıdır. d) Parametrelerin boş olması parametre almayacağı anlamına gelmez. 38. Ekranda ne görünür? int i = 5; while (--i > 0); printf("%d", i); a) 5 b) 0 c) 43210 d) 54321 e) 4321 39. Ekranda ne görüntülenir? int main () char ch = A ; while (ch <= E ) putchar(ch++); a) ABCDE b) 6566676869 c) A,B,C,D,E, d) abcde e) A B C D E 40. Aşağıdaki fonksiyon için hangisi doğrudur? int fonk(int a, int b) if(a>b) return a; return b; a) Kod derlenir ancak çalışma sırasında hata verir. b) Verilen iki tam sayıdan büyük olanı geri döndürür. c) İki kez return kullanıldığından kod hatalıdır. d) İşlev ismi isimlendirme kurallarına uymamaktadır. e) İki sayının birbirine eşit olup olmadığını sınamak için yazılmıştır. 4 Prof.Dr.İ.Ö. Bildirici
Cevap Anahtarı 1. (e) 2. (b) 3. (d) 4. (d) 5. (b) 6. (b) 7. (b) 8. (d) 9. (c) 10. (b) 11. (b) 12. (e) 13. (c) 14. (c) 15. (a) 16. (a) 17. (c) 18. (c) 19. (c) 20. (c) 21. (a) 22. (c) 23. (c) 24. (a) 25. (e) 26. (e) 27. (a) 28. (c) 29. (c) 30. (a) 31. (d) 32. (d) 33. (c) 34. (a) 35. (b) 36. (c) 37. (d) 38. (b) 39. (a) 40. (b) 1 Prof.Dr.İ.Ö. Bildirici