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