Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Final Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 31.05.2016 Süre : 60 dak. 1. Ekranda ne görüntülenir? int i = -1; if(i) printf("ok"); a) Görüntü oluşmaz. b) ok c) 0 d) -1 e) Derlenmez. 5. Kullanıcının C programlama yazması durumunda ekranda ne görünür? #define SIZE 100 char name[size]; printf("bir cumle yazin:"); gets(name); printf("%c",name[5]); a) C programlama b) r c) g d) o 2. Ekranda ne görüntülenir? double x[10]; printf("%d", sizeof(x)); a) 10 b) 80 c) double d) 8 e) 40 3. printf("%x", 10); deyimi ile ekranda oluşan görüntü nedir? a) F b) %10 c) A d) X e) 10 6. Ekranda ne görüntülenir? double t = 0.4; if (t > 1.5); printf("%lf",t); a) 0.4 b) Görüntü oluşmaz. c) %lf d) 1.5 7. Aşağıdaki kod hangi amaçla yazılmıştır? int a,i,deger=1; printf("bir sayi girin:"); scanf("%d",&a); for (i=a;i>0;i--) deger*=i; printf("%d",deger); a) Verilen bir sayının bir eksiğini ekrana yazar b) Verilen bir sayının faktöriyelini bulur. d) Ekranda görüntü oluşmaz 4. Ekranda ne görüntülenir? char st[] = "Konya"; printf("%d", sizeof(st));} a) Kod hatalı b) 0 c) 5 d) 6 e) 1 8. Ekran görüntüsü? char ch = D ; while (ch > A ) putchar(ch--); a) DCBA b) DCB c) CBA d) CB 1 Prof.Dr.İ.Ö. Bildirici
9. Hangisi gösterici işleci değildir? a) () b) & c) [] d) 10. Program ne amaçla yazılmıştır? int main (){ int i,j,a; printf("lutfen bir sayi girin"); scanf("%d",&a); for(i=1;i<=a;i++){ for(j=1;j<=a;j++) printf("%4d",i*j); printf("\n");} a) 1 den belirlenen bir sayıya kadar çarpım tablosu b) Görüntü oluşmaz d) 1 den belirlenen bir sayıya kadar faktöriyel 11. Aşağıdaki işlev hakkında hangisi doğrudur? int f1(int a, int b){ return a > b? a : b;} a) Argümanlardan küçük olanın değerini geri döndürür. b) Hatalı yazılmıştır, derlenmez. c) a b den büyük ise 1 değilse 0 değerini döndürür. d) Argümanlardan büyük olanın değerini geri döndürür. 12. Hangisi türü adres bilgisi olan bir değişken tanımıdır? a) double *x b) double &x c) double x d) double x* 13. Hangileri doğru? Nesnelerin adresleri, I: değişkenlerde saklanır. II: işlevlere gönderilir, III: işlev çağrılarıyla işlevlerden geri dönüş değeri olarak elde edilir. a) Hepsi doğru c) I ve III e) I ve II 14. strstr standart işlevi ne amaçla kullanılır? a) Böyle bir standart işlev yoktur. b) Bir karakter dizisi içinde bir başka karakter dizisinin olup olmadığını belirlemek için. c) Bir karakter dizisi içinde bir karakterin olup olmadığını belirlemek için. d) Karakter dizilerinde geçerli karakter sayısını bulmak için. 15. Hangileri doğru? Nesnelerin adresleri, I: derleyici ve programı yükleyen işletim sistemi tarafından ortaklaşa belirlenir; II: program yüklenmeden önce kesin olarak bilinemez; III: programın çalışması sırasında öğrenilebilir. a) II ve III b) I ve II d) I ve III 16. Kaçıncı satırda hata vardır? //1 int main() //2 { //3 int i=3; //4 int a[i]={3,1,2} //5 for(i=0;i<3;i++) //6 printf("%d ", a[i]);//7 //8 a) 7 b) 5 c) 4 d) 6 17. Hangi deyim hatalıdır? a) continue; b) int val; c) breek; d) return 0; 18. Ekranda görüntüsü? double t = 0.5; if (t > 1.0); printf("%lf",t); a) Derlenmez. b) Görüntü oluşmaz. c) 0.5 d) 1.0 19. Ekranda ne görüntülenir? double a=1.2,b=3.8; printf("%lf",topla(a,b)); double topla (double a,double b){ return(a+b);} a) 5 b) derlenmez c) 0 d) 4 20. Hangi deyim hatalıdır? a) short x[20]; b) double x[10]={0}; c) int x[5]={5,4,3,2,1,0}; d) char s[]="aaaa"; 2 Prof.Dr.İ.Ö. Bildirici
21. Hangisi bir ön işlemci komutu değildir? a) #include"jeod.h" b) #include<time.h> c) #include<math.h> d) #Include<stdlib.h> 22. Ekran görüntüsü? int i = 0; while (i < 6){ printf("%d ", i); ++i;} a) Görüntü oluşmaz. b) 1 2 3 4 5 6 c) 0 1 2 3 4 5 d) 0 1 2 3 4 5 6 e) 5 4 3 2 1 0 23. Hangileri doğru? gets işlevi, I: Karakter dizilerine ekrandan değer aktarmak için kullanılır. II: Parametresi dizinin ilk elemanının adresidir. III: Standart işlev değildir. a) II ve III b) I ve III d) I ve II 24. Ekranda ne görüntülenir? #define pi 3.1415 double a=0.0; if (a<pi) pi=3; else pi=2; printf("%lf",pi); a) 3 b) 0.0 c) derlenmez d) 3.1415 25. Hangileri doğru? I: Koşul işlecinin ürettiği değer ile bir işlev çağrılabilir. II: Bir işlev koşul işlecinin ürettiği değer ile geri dönebilir. III: Koşul işlecinin ürettiği değer bir nesneye atanabilir. a) I II ve III c) II ve III d) I ve II 26. z değişkeninin değeri? double z; z = 7/4; a) Derlenmez. b) 3 c) 1 d) 1.75 27. Hangileri doğru? Dizi isimleri, I: adres bilgisine dönüştürülür, II: doğrudan kullanılamaz, III: dizinin ilk elemanının adres bilgisini tutar. a) I ve II c) I ve III e) Hepsi doğru 28. Hangisi geçerli bir işlev bildirimidir? a) #double hipo(double, double); b) #define hesap 3.12 c) double hesapla(float, float) d) e) double calculate(double, double); 29. Program ne için yazılmıştır? void main(int argc, char *argv[]){ FILE *elma; elma=fopen(argv[1],"w"); fprintf(elma,"%s","elma");} a) Ekrana elma yazar b) Kod derlenmez. c) İsmi komut satırından belirlenen bir dosya içine elma yazar d) elma isimli bir dosya açar 30. Aşağıdakilerden hangisi dosyadan okuma yapan işlevlerden biri değildir? a) fopen b) fscanf c) fgets d) fgetc 31. t değişkeninin değeri? double a[5][5]; int t; t=sizeof(a); a) 100 b) 25 c) 200 d) 80 3 Prof.Dr.İ.Ö. Bildirici
32. Program kodu ne için yazılmıştır? #include <stdlib.h> #include <time.h> int k; srand(time(0)); for (k = 0; k < 10; ++k) printf("%15.12lf\n", ((double)rand()-rand_max)/rand_max); a) Kod derlenmez b) -1 ile 0 arasında 10 tane rastgele sayı üretmek c) 0 ile 1 arasında 10 tane rastgele sayı üretmek d) 0 ile RAND MAX aralığında 10 tane rastgele sayı üretmek 33. Programlamada kaynak dosya... bir programda (...) yazılır. a) Görsel, visual environment b) Derleyici, compiler c) Bağlayıcı, linker d) Metin düzenleyici, metin editörü 34. Hangileri doğru? I: Karakter sınama işlevleri karakterler hakkında bilgi edinilmesini sağlarlar. II: Bu işlevler cytpe.h başlık dosyası ile kullanılır. III: Bu işlevler Türkçe karakterler için de güvenle kullanılabilir. a) I ve II b) I ve III e) Hepsi yanlış 35. printf işlevi ile kullanılan %d format karakteri ne amaçla kullanılır? a) Böyle bir format karakteri yoktur. b) Reel sayı görüntülemek için c) Bir ifadeyi unsigned int türünden yorumlayarak onluk sistemde görüntüleme yapmak için d) Bir ifadeyi int türünden yorumlayarak onluk sistemde görüntüleme yapmak için e) Gerçek sayıları üstel biçimde yazmak için 36. Hangi ifade 1-6 arasında rastgele bir tamsayı üretir? a) rand()/rand_max b) rnd()%6+1 c) rand()%6 d) rand()%6+1 37. Ekranda ne görünür? char ch= + ; if (ch >= a && ch <= z ) printf("%c kucuk harf!\n", ch); else printf("%c kucuk harf degil!\n", ch); a) + kucuk harf! b) + kucuk harf degil!. d) Ekranda görüntü oluşmaz. 38. Ekranda ne görünür? int a=3; switch (a){ case 1: printf("bir\n"); break; case 3: printf("%d",a/3); break; default:printf("bilemedim\n");} a) 3 b) 1 c) bilemedim d) 2 39. Ekran görüntüsü? int i = 0,j=0; while (i < 5) { j += i; ++i;} printf("%d", j); a) 0 b) 10 c) 15 d) Derlenmez. 40. Ekranda ne görünür? int elma (double z){ double deger; int i; for (i=1;i<=z;i++) deger+=i; return(deger);} printf("%d",elma(5));} a) 5 b) 15 d) 120 4 Prof.Dr.İ.Ö. Bildirici
Cevap Anahtarı 1. (b) 2. (b) 3. (c) 4. (d) 5. (c) 6. (a) 7. (b) 8. (b) 9. (a) 10. (a) 11. (d) 12. (a) 13. (a) 14. (b) 15. (c) 16. (b) 17. (c) 18. (c) 19. (b) 20. (c) 21. (d) 22. (c) 23. (d) 24. (c) 25. (a) 26. (c) 27. (c) 28. (e) 29. (c) 30. (a) 31. (c) 32. (b) 33. (d) 34. (a) 35. (d) 36. (d) 37. (b) 38. (b) 39. (b) 40. (b) 1 Prof.Dr.İ.Ö. Bildirici