TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO Chữ ký giám thị ĐỀ THI CUỐI KỲ HK NĂM HỌC 2017-2018 Môn: Kỹ thuật lập trình giao tiếp Mã mơn học: PRIN337664 Chữ ký giám thị Đề số/Mã đề: 01 Đề thi có …… trang Thời gian: 90 phút Được phép sử dụng tài liệu Điểm chữ ký CB chấm thi thứ SV làm trực tiếp đề thi nộp lại đề CB chấm thi thứ hai Họ tên: Mã số SV: Số TT: Phòng thi: Phần A: Trắc nghiệm (5 điểm) Câu 1: Hàm printf( ) khai báo thư Câu 2: Trong chương trình C, câu lệnh sau viện sau đây? thực việc nhập số nguyên từ bàn a stdlib.h phím lưu vào biến số nguyên a? b conio.h c stdio.h d ouput.h Đáp án: ………… a scanf("%d",a); b scanf("nhap gia tri a: %d",a); c scanf("%d",&a); d scanf("nhap gia tri a: %d",&a); Đáp án: ………… Câu 3: Cho đoạn lệnh sau: printf("Nhap so: "); scanf("%d%d", &a, &b); if (a > b) Câu 4: Cho biết giá trị biến S sau thực thi đoạn lệnh sau: int i= 0, S=1; a++; else { if ( i%4 != 0) S+= i+3; i+=2; b++; a+= b; printf(" %d %d",a, b); } Giả sử chạy đoạn lệnh này, người dùng while (i0); Hỏi kết in hình chạy đoạn lệnh Hỏi kết in hình chạy đoạn lệnh này gì? gì? a a b c d e Đáp án khác Đáp án:……… b c d e Đáp án khác Đáp án: ……… Câu 7: Cho đoạn lệnh sau: n = 4; for ( n = 7; n > 1; n -= 2) Câu 8: Trên lưu đồ, thao tác kiểm tra “a có phải số nguyên tố hay khơng?” thể hình vẽ sau đây? printf ("%d ", n ); Hỏi kết in hình chạy đoạn lệnh gì? a a Hình b b Hình c c Hình d d Hình e Đáp án khác Đáp án:……… Đáp án:……… Câu 9: Cho biết giá trị biến S sau Câu 10: Cho biết giá trị biến a sau thực thi thực thi đoạn lệnh sau: đoạn lệnh sau: int a[3] = {2}; char s[15] = "pass"; int S = a[2]; int a = 0,i; a Xảy lỗi biên dịch for ( i = 0; i < 15; i++) b if (s[i] == 's') c a = i; d a b Đáp án:………… c d 15 Đáp án:………… Câu11: Cho biết giá trị biến S sau Câu 12: Cho biết giá trị biến S sau thực thi thực thi đoạn lệnh sau: đoạn lệnh sau: int a[5] = {5,6,2,3,4}; int *a, b[4]={4,3,2,1}, S = 0; int i, S= a[0]; a = &b[2]; for (i = 0; i < 3; i++) S =*a+1; if (a[i] > a[i + 1]) a S = a[i]; b else c S = a[i + 1]; d e Đáp án khác a b c d Đáp án khác Đáp án:……… Đáp án:……… Câu 13: Cho đoạn lệnh: float *a; a = (float*)malloc(3*sizeof(float)); Câu 14: Cho biết giá trị biến S sau thực thi đoạn lệnh sau: int *a, S = 0; Hỏi đoạn lệnh sau thực chức a = S; tương đương với đoạn lệnh trên? *a = 2; a float *a; a = (float*)malloc(float[3]); a b float *a; b a = (float*)malloc(3); c Xảy lỗi biên dịch c float *a; d Đáp án khác a = (float*)malloc(12); d float *a; Đáp án:……… a = (float*)malloc(3*float); e Tất KHÔNG tương đương Đáp án:……… Câu 15: Cho chương trình sau: #include #include void Func (int *a, int b) { int tam; tam = *a; *a = b; b = *a; } void main (void) Câu 16: Cho chương trình sau: #include #include int x = 0; void Func(void) { x++; } void main (void) { { int x = 6, y = 3; Func(&x,y); printf("%d %d",x,y); getch(); } Hỏi kết in hình chạy chương trình gì? a 3 b 6 c d e Xảy lỗi biên dịch f Đáp án khác Đáp án:……… Func(); x = x + 1; printf("%d ",x); getch(); } Hỏi kết in hình chạy chương trình gì? a b c d Xảy lỗi biên dịch e Đáp án khác Đáp án:…… Câu 17: Cho biết giá trị biến S sau Câu 18: Cho biết giá trị biến S sau thực thi thực thi đoạn lệnh sau: đoạn lệnh sau: struct b struct a { { int x[3]; char z[5]; }; void main (void) { struct b a; int i, S = 0; for (i = 0; i < 3; i++) a.x[i] = i; for (i = 0; i < 3; i++) S += a.x[i]; } a b c d e Xảy lỗi biên dịch char z[8]; float x; float y; }; void main (void) { struct a b; b = 1; float S = 0; S = b; } a Xảy lỗi biên dịch b c d Đáp án:……… Đáp án:………… Câu 19: Trong ngôn ngữ C, câu lệnh sau ĐÚNG cú pháp? Câu lệnh switch (a) Câu lệnh switch (a) { { case a == 1: printf ("Bang "); break; default: printf ("Khong bang"); case == 1: printf ("Bang "); break; default: printf ("Khong bang"); } } a Câu lệnh b Câu lệnh c Cả hai câu lệnh KHÔNG d Cả hai câu lệnh ĐÚNG Đáp án:……… Câu 20: Cho yêu cầu sau: Viết chương trình nhập số nguyên, in số nhỏ số Chương trình sau xử lý ĐÚNG yêu cầu Chương trình Chương trình #include #include #include #include void Func(int *x, int y) void Func(int x, int y) { { if( *x > y) if( x > y) *x = y; x = y; } } void main (void) void main (void) { { } int a,b; int a,b; scanf("%d%d",&a,&b); scanf("%d%d",&a,&b); Func(&a,b); Func(a,b); printf("%d",a); printf("%d",a); getch(); getch(); } a Chương trình b Chương trình c Cả chương trình xử lý yêu cầu d Cả chương trình KHƠNG xử lý u cầu Đáp án:………… Phần B: Tự luận (5 điểm) Câu 1: (1 điểm) Viết chương trình hồn chỉnh nhập vào số nguyên n (n>0) in Sn: Sn = (1*2*…*n)/(1+2+…+n) Câu 2: (1 điểm) Viết chương trình nhập vào dãy số gồm 100 phần tử - Tính giá trị trung bình phần tử chẵn, giá trị trung bình phẩn tử lẻ dãy số - Sắp xếp mảng theo thứ tự tăng dần Câu 3: (0.5 điểm) Viết hàm trả vị trí phần tử âm mảng chiều có n phần tử Nếu mảng khơng có phần tử âm, hàm trả giá trị -1 Ghi chú:Cán coi thi không giải thích đề thi Chuẩn đầu học phần (về kiến thức) Nội dung kiểm tra [CĐR 1.2]: Có khả tính tốn/thiết kế… Câu [CĐR 2.3]:………………………………… Câu [CĐR 4.4]:………………………………… Câu Ngày tháng năm 20 Thông qua Trưỏng ngành (ký ghi rõ họ tên)