You are on page 1of 2

BỘ ĐỀ 05 for (i=0; i<6; i++) if (m<a[i]) {

m=a[i]; printf(“ m= %d”, m); 9. Cho hàm x=3; *y=4;


1. Để lấy địa chỉ phần tử thứ i của a) 44 int stop(int n) return x+*y;
mảng a, ta viết: b) 49 { }
a) a[i] c) 33 if (n==0) return 1; Hãy cho biết kết quả hiển thị lên màn
b) *a+i d) -6 return n+stop(n-1); hình khi thực hiện đoạn lệnh sau?
c) a+i } int x=1, y=2; thi(y,&x);
d) Tất cả đều đúng 6. Đoạn chương trình sau xuất ra kết Lệnh stop(-3) có kết quả là gì? printf("%d, %d",x,y);
quả gi? a) 0 a) 4, 3
2. Với đoạn lệnh: tinh(int *p){ b) -6 b) 1, 4
int x[5] = {5, 10, 15, 20, 25}; int i; c) Bị lỗi vì lệnh có if mà không c) 3, 4
int *px = x; px += 3; for(i=0;i<4;i++){ có else d) 4, 2
Khi đó, px là gì? *p=*p-1; d) Bị lỗi vì không gặp được giá
a) địa chỉ của x[0] p++; trị n=0 13. Cho hàm thực hiện trên mảng a
b) chỉ của x[3] } gồm n phần tử
c) giá trị của phần tử x[3] } int func (int a[ ], int n, int *m)
d) 20 int main(){ 10. Kết quả của chương trình sau là gì { int i, k;
int a[]={6,7,8,9},i; ? k=0; *m=a[k]; for(i=0; i<n;
3. Với đoạn lệnh: tinh(a); #include <stdio.h> i++) if (a[i]>=*m) {*m=a[i];
int x[5] = {10, 20, 30, 40, 50}; for(i=3;i>=0;i--) void hoandoi(int a, int b) k=i;}
int *px = x+1; printf(“%d”,a[i]); { int t=a; t=a; a=b; b=t; } return k;
Khi đó, *px bằng bao nhiêu? return 0; main( ) }
a) 11 } { int a=100, b=200; hoandoi(&a, Hàm này để:
b) 20 a) 5, 6, 7, 8 &b); printf("%d %d", a, b); } a) Tính số lớn nhất trong mảng a
c) 21 b) 6, 7, 8, 9 a) 100 200 b) Tính số nhỏ nhất trong mảng a
d) Tất cả đều sai c) 8, 7, 6, 5 b) 200 100 c) Trả về vị trí của số lớn nhất
d) Biên dịch lỗi c) Chương trình bị lỗi đầu tiên trong mảng a và giá
4. Hãy cho biết đoạn chương trình sau d) Kết quả khác trị lớn nhất trong m
xuất gì ra màn hình 7. Cho nguyên mẫu hàm d) Trả về vị trí của số lớn nhất
int a[5] = {5, 1, 15, 20, 25}; void f(void); 11. Cho hàm cuối cùng trong mảng a và giá
int i, j, m; Lệnh nào sau đây là hợp lệ? void f(int n) trị lớn nhất trong m
i = ++a[1]; a) x=f( ); {
j = a[1]++; b) f( ); if (n>’A’){ printf("%c",n) ; f(n- 14. Cho biết kết quả khi chạy đoạn
m = a[i++]; c) f( void) 1);} chương trình sau:
printf("%d, %d, %d", i, j, m); d) Tất cả đều không hợp lệ } char a=0x80;
a) 2, 1, 15 Lệnh f(‘F’) có kết quả là gì? printf("%d",a>>1);
b) 1, 2, 5 8. Cho biết khai báo nguyên mẫu a) Bị lỗi vì tham số không phải a) -64
c) 3, 2, 15 hàm nào sau đây là không đúng kiểu int b) -15
d) 2, 3, 20 cú pháp? b) FEDCB c) 0x8c
a) void funct(char x, char y); c) ABCDEF d) 8c
5. Cho biết ‘0’ có mã ASCII là 48. b) double funct(int x, y); d) EBCDA
Cho biết kết quả của đoạn lệnh sau: c) int funct( ); 15. Cho biết kết quả khi chạy đoạn
int m, a[]={‘1’, 6, -6, 44, 8, 33}; d) char x( ); 12. Cho hàm sau: chương trình sau:
m=a[0]; int thi(int x, int *y) int a=3, b=4;
1
int t=a; 25. Cho biết kết quả khi chạy đoạn 29. Hãy cho biết đoạn chương trình sau
a=b; 20. Thuật toán là gì? chương trình sau: xuất gì ra màn hình, biết rằng mã
b=t; a) Chương trình thực thi trên máy char c=67; ASCII của ký tự ‘0’ là 48
printf("%d va %d", a, b); tính. printf("%c",(c>='C')?(c-1):(c-2)); int a='1';
a) a va b b) Dữ liệu vào và các phép toán. a) A switch(a-49){
b) b va a c) Các phép toán và kết quả. b) B case 0 : printf("so khong");
c) 3 va 4 d) Dãy trình tự các công việc để c) C break;
d) 4 va 3 giải quyết một bài toán đặt ra. d) sai cú pháp case 1: printf("so mot"); break;
case 2: printf("so hai");break;
16. Cho biết kết quả khi chạy đoạn 21. Đổi số bát phân 555 sang số thập 26. Hãy điền vào chỗ "...." để đoạn default: printf("so khac");
chương trình sau: lục phân chương trình sau tính tổng các chữ số }
char a=-127,b=a<<1; a) 16C của một số nguyên dương a? a) so khac
printf("%d, %d",b, a<<1); b) 1D6 unsigned int a=1234, s=0; b) so khong
a) -254, -254 c) 16D while ( .... ){ c) so mot
b) 2, -254 d) 1C6 s+=a%10; d) so hai
c) 2, 2 a/=10;
d) cả a, b, c đều sai 22. Đổi số thập lục phân CFA5 ra dãy } 30. Cho biết kết quả của đoạn mã sau:
nhị phân a) a>0 x=0;
17. Cho biết kết quả khi chạy đoạn lệnh a) 1100 1110 1010 0101 b) a!=0 switch(x)
sau và nhập: chao ban b) 1100 1101 1000 0101 c) a {
char *a; c) 1100 1011 1000 0101 d) tất cả đều đúng case 1: printf( "One" );
scanf("%s", a); d) 1100 1111 1010 0101 case 0: printf( "Zero" );
printf("%s", a); 27. Hãy cho biết đoạn chương trình sau case 2: printf( "Hello
a) chao ban 23. Các thành phần: bộ nhớ, bộ xử lý xuất gì ra màn hình World" );
b) chao trung tâm, thiết bị nhập xuất được gọi int n=10,s=0; }
c) ban là: for(int i=0; i<n; i+=2) s+=i;
d) đoạn lệnh không thể chạy a) Phần Cứng printf("%d",s); a) One
b) Thiết bị lưu trữ a) 30 b) Zero
18. Hãy chọn kết quả của phép tính: c) Phần Mềm b) 20 c) Hello World
21&15^11|13 d) Tất cả đều sai c) 22 d) ZeroHello World
a) 13 d) 12
b) 15 24. Kết quả in ra p bằng bao nhiêu khi
c) 14 thực hiện thuật toán sau: 28. Hãy cho biết đoạn chương trình sau
d) 16 Bước 1 : Gán p=1; i=1; xuất gì ra màn hình
Bước 2 : Tính p=p*i; int n=8;
19. Cho đoạn chương trình Bước 3 : Tính i=i+2; for(int i=1; i<n; i++)
int x=5; float y=11.0; int z; float t ; Bước 4 : Nếu (i<8) thì quay lại if(i%3==0) {printf("%d ",i);
z=y/x ; t = (float) z/x ; bước 2, ngược lại in kết quả p break;}
Hãy cho biết giá trị nằm trong biến z và Bước 5 : Kết thúc a) 1
t: a) 103 b) 3 6
a) z = 2.2 , t = 0 b) 105 c) 3
b) z = 2.2 , t =0.4 c) 107 d) không in gì
c) z =2 , t =0.4 d) Kết quả khác
d) z = 2 , t = 0
2

You might also like