-Group A- KOCAELİ UNIVERSITY ENGINEERING FACULTY DEPARTMENT OF MECHATRONICS ENGINEERING JUNE 4 2017 Bilgisayar Programlama - Computer Programming 2017-2018 Bahar Dönemi Final Sınavı- Spring Semester Final Exam Instructor: Prof. Hasan OCAK Exam Duration: 65 minutes. Grading: 25 multiple-choice questions, equal points each İsim Soyisim - Student s Name: Numara - Student s Number: İmza - Signature: Açıklamalar: Optik form üzerinde kitapçık türü (A,B,C,D), ad-soyad, öğrenci no. ve cevap şıklarını eksiksiz doldurunuz. Öğrenci bilgileri alanını doldurarak imzalayınız. Yanlış sorular doğru cevapları etkilememektedir. Optik formları katlamayınız. Kurşun kalem kullanınız. Doğru cevapları soru kağıdı üzerine de işaretleyiniz. Soru kağıdı üzerindeki ad-soyadöğrenci no. ve imza alanlarını doldurunuz. Sınav sonunda tüm evrakları teslim ediniz. int x, y, z; pr = fopen("file2.txt","r"); while(!(feof(pr))) fscanf(pr,"%d %d %d",&x,&y,&z); printf("%d,%d,%d\n",x y z); 1. Yukarıdaki.txt dosyası için sağ tarafında verilen C programı çalıştırılırsa konsol ekranı çıktısı ne olur? A. 0 1 5 1 2 6 2 3 7 3 4 8 B. 3 4 8 2 3 7 1 2 6 0 1 5 C. 3 4 8 D. 0 1 5 2. Aşağıda verilen C programı(sağda) çalıştırılırsa konsol ekranı çıktısı aşağıdakilerden A. Sonsuz döngü oluşur. C. 420 for (int n = 5; n!=0; n--) B. 43210 D. 54321 printf("%d", n--); 3. Aşağıdakilerden hangisi geçerli bir dizi tanımıdır? A. byte x[]; B. char c[] = ; C. int 9arr; D. float k[2] = 1,2,3; Sayfa 1 / 6
4. Aşağıda verilen fonksiyon(sağda) verilen işlemlerden hangisini gerçekleştirmektedir? A. n void fcn(int n) f(x, a, n) = x k a n k k=0 int z = 0; int y = 1; B. int x = 1; f(x) = 1 + x 1 + x2 2 + x3 3 +, int i; < x < for(i=1;i<=n;i++) printf("%d ",x); C. 0 x = 0; x = y+z; f(x) = 1 x = 1; z=y; f(x 1) + f(x 2) x > 1. y=x; D. Hiçbiri. 5. Structure (yapı) hakkında aşağıdakilerden hangisi doğrudur? A. Bileşenlerinden birisi fonksiyon olabilir. B. Fonksiyonların çıkış veri tipi olarak kullanılamaz. C. Bileşenlerine varsayılan değer atanabilir. D. Structure dizisi tanımlanabilir. 6. Aşağıda verilen C programı(sağda) çalıştırılırsa konsol ekranı çıktısı ne olur? A. 15 int i = 0; B. 12 for(i=0;i<10;i++) C. 5 11 i+=5; D. 5 printf("%d ",i); 7. Aşağıda verilen C programı(sağda) çalıştırılırsa konsol ekranı çıktısı ne olur? A. x int x = -1; if(x++) B. y C. z D. x k puts("x"); if(x++) puts("k"); else if(++x) puts("y"); else puts("z"); 8. printf("%d",2*(3^4)); satırı çalıştırılırsa konsol ekranı çıktısı aşağıdakilerden hangisi olur? A. 14 B. 162 C. 72 D. 2 Sayfa 2 / 6
9. Aşağıda verilen C programı(sağda) çalıştırılırsa konsol ekranı çıktısı ne olur? A. 530 char d[9] = "i5vj30"; B. i30 for(int i=0;i<6;i++) if(d[i]<'j' && d[i]>'a' (d[i]<'5')) C. i5j30 printf("%c",d[i]); D. ja5 10. Aşağıda verilen C programı(sağda) çalıştırılırsa konsol ekranı çıktısı ne olur? A. 1 float x = 2.4; B. 0 int y = x-.5; C. -2 printf("%d",y); D. 2 11. Aşağıda verilen C programı(sağda) çalıştırıldığında 01245678 çıktısını veriyor. Buna göre programda boş bırakılan yere aşağıdakilerden hangisi gelmelidir? A. break; for(int j=0;j<=8;j++) if(j==3) B. return j;??? C. continue; printf("%d",j); D. goto for; 12. printf("%d",3-11%5/2+4); satırı çalıştırılırsa konsol ekranı çıktısı aşağıdakilerden A. 3 B. 7 C. 2.5 D. 2 13. Aşağıda verilen fonksiyona(sağda) giriş olarak 111 verildiğinde alınan çıkış, aşağıdaki girişlerden hangisi için tekrar elde edilebilir? A. 555 int fcn(int x) int t,a,z,j=0; t = x; B. 8712 a = x%10; while(x>0) x/=10; j++; C. 2714 z = a*pow(10,j-1)+t/10; if(z==a*t) D. 102564 return 1; else return 0; int dizi[5]=10,30,50,70,90; int *ptr2=&dizi[3]-1; 14. Yukarıda verilen tanımlamaya göre *(ptr2-1) ifadesinin değeri aşağıdaki aşağıdakilerden hangisidir? A. 50 B. 30 C. 70 D. 90 Sayfa 3 / 6
15. Yukarıda verilen formatta dosyaya yazma işlemini yapan C programı aşağıdakilerden hangisidir? A. B. float a1[4] = 1,2,3,4; float a2[4] = 5,6,7,8; pr = fopen("file2.txt","r"); if(pr!= NULL) for(int x=0;x<4;x++) fprintf(pr,"%d %.0f %.0f\n",x,a1[x],a2[x]); fclose(pr); float a1[4] = 1,2,3,4; float a2[4] = 5,6,7,8; pr = fopen("file2.txt","a"); if(pr == NULL) for(int x=0;x<4;x++) fprintf(pr,"%d %.0f %.0f\n",x,a1[x],a2[x]); fclose(pr); C. D. pr = open("file2.txt","w+"); pr = fopen("file2.txt","w"); if(pr!= NULL) if(pr!= NULL) for(int i=0;i<4;i++) for(int x=0;x<4;x++) printf(pr,"%d %d %d\n",i,i+1,i+5); fprintf(pr,"%d %d %d\n",x,x+1,x+5); close(pr); fclose(pr); 16. Aşağıda verilen değişkenler(sağda) scanf() fonksiyonu ile aşağıdakilerden hangisi gibi okunabilir? A. scanf("%f,%d",&a,&b); B. scanf("%f,%lf",&a,&b); float a; C. scanf("%f,%f",&a,&b); D. scanf("%f,%f",a,b); double b; 17. Aşağıda verilen C programı(sağda) çalıştırılırsa konsol ekranı çıktısı aşağıdakilerden A. -10, 9 int a, b = 10; B. -9, 9 C. 9, 9 D. -10, -9 a = -b--; printf("a = %d, b = %d", a, b); 18. Aşağıdaki değişken tanımlamalarından hangisi doğrudur? A. #define R = 9 B. int i = 1000(UL); C. const short D = 10; D. byte x = 80; Sayfa 4 / 6
int dizi[5]=10,30,50,70,90; int *ptr1 = dizi+3; 19. Yukarıda verilen tanımlamaya göre *(ptr1+1) ifadesinin değeri aşağıdaki aşağıdakilerden hangisidir? A. 30 B. 90 C. 70 D. 50 20. Aşağıda verilen C programı(sağda) çalıştırılırsa konsol ekranı çıktısı aşağıdakilerden A. 3 int fcn(char inp[]) int i, p = 0; for (i = 0; inp[i+1]!= '\0'; i++) B. 2 if (i == 0 && inp[0]!= '-') p++; C. 1 else if (inp[i] == '-' && inp[i+1]!= '-') p++; return p; D. int main() 4 printf("%d", fcn("c-+-+")); 21. Aşağıda verilen C programı(sağda) çalıştırılırsa konsol ekranı çıktısı aşağıdakilerden A. C3 int num = 3; switch (num++) case 1: B. D printf("c1"); case 2: C. C1C2C3D printf("c2"); case 3: printf("c3"); D. C3D default: printf("d"); 22. Aşağıda verilen C programı(sağda) çalıştırılırsa konsol ekranı çıktısı aşağıdakilerden A. 15 const int D = 5; int j = 0, a[d]=1,2,3,4,5; B. 41 do a[j]=d-j; C. 34 j++; D. 21 while(j<d); printf("%d%d",a[3],a[4]); 23. Aşağıda verilen C programı(sağda) çalıştırılırsa konsol ekranı çıktısı aşağıdakilerden A. 7 const int D = 10; int i=0, c=0; B. 6 char c_arr_1[d]="2t8s7p9"; C. 3 for(i=0;i<strlen(c_arr_1);i++) if(!(c_arr_1[i]<=57 && c_arr_1[i]>=48)) c++; D. 4 printf("%d",c); Sayfa 5 / 6
int a=1, b=1, c=5, d; d = a++ && b-- && ++c; printf("%d%d%d%d",a+b,d,c/2.0,d-b); 24. Yukarıda verilen C programı çalıştırılırsa konsol ekranı çıktısı aşağıdakilerden hangisi olur? A. 2101 B. 2808 C. 2000 D. Hiçbiri. 25. Aşağıda verilen ifadelerden hangisi veya hangileri geçerlidir? A. i i) scanf("%d",x); B. Hiçbiri. ii) if x<0 x=-x; C. iii D. ii, iii iii) int x(5); <Son sayfa> Sayfa 6 / 6