Professional Documents
Culture Documents
Sinh viên không được sử dụng tài liệu, nộp lại cả phần đề trắc nghiệm kèm theo bảng trả lời.
1 a b c d 21 a b c d
2 a b c d 22 a b c d
3 a b c d 23 a b c d
4 a b c d 24 a b c d
5 a b c d 25 a b c d
6 a b c d 26 a b c d
7 a b c d 27 a b c d
8 a b c d 28 a b c d
9 a b c d 29 a b c d
10 a b c d 30 a b c d
11 a b c d 31 a b c d
12 a b c d 32 a b c d
13 a b c d 33 a b c d
14 a b c d 34 a b c d
15 a b c d 35 a b c d
16 a b c d 36 a b c d
17 a b c d 37 a b c d
18 a b c d 38 a b c d
19 a b c d 39 a b c d
20 a b c d 40 a b c d
Ghi chú:
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Đề số 1
int a = 5, b = 14; a. 5 b. 6
printf("%d %d %.2f", c. 7 d. 8
a>b?a++:a+=2, a<<4, (float)b/a*2);
Kết quả in ra màn hình là: Câu 7: Cho phương trình bậc 2: ax2 + bx +
a. 5 80 5.60 b. 7 112 2.00 c = 0. Cho a khác 0 và Delta= b*b-
c. 7 112 4.00 d. 7 56 4.00 4*a*c>0. Phương trình có các nghiệm
b Delta
Câu 4: Cho biết kết quả đoạn chương trình x
sau:
2*a . Với sqrt là hàm lấy căn
int n,x,y,z; bậc 2 của một số thực. Thể hiện 1 nghiệm
void P(int *a, int b) { của phương trình trên:
n=5+b; a. x = -b - sqrt(Delta) / (2*a);
*a=n*2; b. x = (-b - sqrt (Delta) ) / (2*a);
b=*a+n; c. x = (-b - sqrt(Delta) ) /2*a;
} d. x = -b - sqrt (Delta) /2/a;
void main() {
x=1; y=2; z=3; n=4;
P(&z,x); Câu 8: Cho biết giá trị của k sau đoạn
printf(“%d,%d,%d,%d”,n,x, chương trình sau:
y,z);
int k=0;
}
int i,j;
a. 7,14,21,3
for (i=0; i<4; i++)
b. 4,1,18,12
{
c. 7,14,2,3
for (j=1; j<i; j++)
d. 6,1,2,12
{
k++;
Câu 5: Với đoạn chương trình sau:
if (j==i/2+1)
void main() {
break;
int a[5]={1,2,3,4,5};
}
int i;
}
CuuDuongThanCong.com https://fb.com/tailieudientucntt
a. 1 b. 2 Câu 12: Cho đoạn chương trình sau:
c. 3 d. 4
int a = 5, b = 6;
a = a+=b;
b = a-b;
Câu 9: Cho biết giá trị của S sau đoạn
a = a---b;
chương trình sau:
printf( "%d%d", a, b);
int k=0, S=0, n=1;
Kết quả in ra màn hình là:
do
{ if (!(n%2)) a. 56
k++; b. 55
else c. Chương trình in ra giá trị rác
S+=n; d. Chương trình báo lỗi
n++;
}
while (k<3); Câu 13: Hãy cho biết giá trị của b và a sau
đoạn chương trình:
a. 4 b. 6 int a,b=2;
c. 9 d. 12 b=(a=3,(5*b)+(a*=b));
Câu 10: Cho biết giá trị của S sau đoạn a. a=6; b=16
chương trình sau: b. a=3 ; b=2
c. a=6 ; b=6
int i, t=5, S=0; d. Tất cả đều sai
while(t>1)
{
for(i=1; i<t; i++) Câu 14: Xét hàm sau:
if(t%i==0) void mystery(int n)
{ { if (n >= 2)
t--; mystery(n / 3);
S+=t; printf("%d ", n);
break; }
} Kết quả của lệnh gọi mystery(27)
} a. 27 0
a. 3 b. 6 b. 3 9 27
c. 10 d. 15 c. 1 3 9 27
d. 27 3 9
Câu 11: Cho biết giá trị của i sau đoạn Câu 15: Cho đoạn chương trình sau:
chương trình sau:
int x=5;
int i, A[10], S=0; for(; x!=0; x--)
for (i=0; ; i++) { printf("%d ", x--);
{ if(i%3==0) }
A[i] = 0;
else Kết quả in ra màn hình là:
A[i] = A[i-1]+1; a. 5 3 1 b. 4 3 2 1 0
S+=A[i]; c. 5 4 3 2 1 d. Các câu trên đều sai
if(S>5)
break; Câu 16: Cho hàm F như sau:
} char* F(int k)
a. 5 b. 6 { if(k%2==0) return “Chẵn”;
c. 7 d. Không xác định. else return “Lẻ”;
}
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Muốn thực hiện strcpy(X, F(5)); thì biến X a. Hello b. lo
phải khai báo kiểu gì: c. llo d. Các câu trên đều sai
a. float X;
b. char X; Câu 19: Cho đoạn chương trình sau. Xác
c. char X[100]; định kết quả in ra
d. char X[]; void doi(int *a,int b);
void main()
{
Câu 17: Lệnh nào trong các lệnh sau cho int x,y;
ra kết quả như sau: doi(&x,y=2);
1 printf("%d %d",x,y);
22 }
333 void doi(int *a,int b)
4444 {
55555 *a=b;
*a+=b++;
a. for(a = 1; a <= 5; a = a + 1) { }
for( b = 1; b <= 5; b = b + Kết quả in ra:
1) a. 2 2
printf("%d", b); b. 4 4
printf("\n"); c. 4 2
} d. 2 4
b. for( a = 1; a <= 5; a = a + 1) {
for( b = 1; b <= a; b = b + 1)
printf("%d", a); Câu 20: Cho đoạn chương trình dưới đây,
printf("\n"); xác định kết quả in ra:
}
c. for( a = 1; a <= 5; a = a + 1) { int a=-1,b=-2;
for( b = a; b <= 5; b = b + 1) void main()
printf("%d", b); { while(a>=b&&--a)
printf("\n"); if(a==b) break;
} printf("%d, %d",a,b);
d. for( a = 1; a <= 5; a = a + 1) { }
for( b = 1; b < a; b = b + a)
printf("%d", b); a. -1,-2
printf("\n"); b. -2,-2
} c. -1, 0
d. 0,-2
Câu 18: Cho đoạn chương trình sau:
Câu 21: Cho đoạn chương trình sau:
char *fun(char *ptr)
{ int a[5][5]={0};
ptr+=3; int *pa = (int *)a;
return(ptr); int i, j, d=3, c=3;
} for(i=0; i<d*c; i++)
void main() { *pa = i+1;
{ pa++;
char *y, *x="Hello"; }
y=fun(x); for(i=0; i<d; i++)
printf("%s",y); { for(j=0; j<c; j++)
} printf("%d\t", a[i][j]);
printf("\n");
Kết quả in ra là: }
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Kết quả in ra là : Câu 24: Lệnh nào sẽ in các ký tự từ A
đến Z:
a. 1 2 3 b. 1 2 3
a. for( a = 'A'; a < 'Z'; a = a + 1)
4 5 6 6 7 8
printf("%c", a);
7 8 9 0 0 0
b. for( a = 'a'; a <= 'z'; a = a + 1)
c. 1 4 7 d. 1 6 0 printf("%c", &a);
2 5 8 2 7 0 c. for( a = 'A'; a <= 'Z'; a = a + 1)
3 6 9 3 8 0 printf("%c", a);
Câu 22: Cho đoạn chương trình sau: d. for( a = 'Z'; a <= 'A'; a = a + 1)
printf("%c", a);
int a[5][5];
int *pa, i, j;
for(i=0; i<3; i++) Câu 25: Cho đoạn chương trình sau:
{ int a[4],*p;
pa = a[i]; p=a;
for(j=0; j<3; j++)
{ Cho biết câu lệnh nào sau đây sai:
*pa = j+1; a. p=&a[0]; b. a=a+1;
pa++; c. p=p+1; d. *p=2*a[1];
}
}
for(i=0; i<3; i++) Câu 26: Cho đoạn chương trình sau:
{
int a;
for(j=0; j<3; j++)
void Test(int a)
printf("%d\t", a[i][j]);
{
printf("\n");
a = 5;
}
}
Kết quả in ra là : void main()
a. 1 2 3 b. 1 2 3 {
4 5 6 6 7 8 a = 7;
7 8 9 0 0 0 Test(a);
a++;
c. 1 2 3 d. 1 2 3 printf ("%d", a);
3 1 2 1 2 3 }
0 0 0 1 2 3
Kết quả in ra màn hình là:
a. 5 b. 6
Câu 23: Cho đoạn code C như sau: c. 7 d. 8
int **pa;
int i;
(…) Câu 27: Cho đoạn chương trình sau:
if(pa!=NULL) void main( )
for(i=0; i<3; i++) {
pa[i] = (int *) int a=12,b=16,*p;
malloc(5*sizeof(int)); p=&a;
Để cấp phát vùng nhớ cho pa dưới dạng a+=3;
một ma trận 3*5 các phần tử kiểu int thì *p++;
cần phải viết như thế nào ở (…): if(a>b) p=&a;
else p=&b;
a. pa = (int *)malloc(3*sizeof(int)) *p+=2;
b. pa = (int *)malloc(3*sizeof(int *)) printf("%d, %d",a,b);
c. pa = (int **)malloc(3*sizeof(int)) }
d. pa = (int **)malloc(3*sizeof(int *))
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Kết quả in ra màn hình là: pa = a[1];
printf("%d", *(pa+2));
a. 17, 16 b. 18, 16
c. 15, 18 d. 16, 18 Kết quả in ra màn hình là:
a. 1 b. 3
c. 4 d. 5
Câu 28: Cho đoạn chương trình sau:
void Nhap(int *a)
{ Câu 31: Cho đoạn chương trình sau:
a = (int *)malloc(5*sizeof(int)); void Test(int *a, int b)
for(int i=0; i<5; i++) {
a[i] = i+1; int *c;
} *c=*a;
void main() *a=b;
{ b=*c;
int *a={0}; }
Nhap(a); void main()
for(int i=0; i<5; i++) {
printf("%3d", a[i]); int a=5, b=7;
} Test(&a, b);
Kết quả in ra màn hình là: printf("%d %d", a, b);
}
a. 0 0 0 0 0
b. 1 2 3 4 5 Kết quả in ra màn hình là:
c. 0 1 2 3 4
a. 5 5 b. 7 7
d. Chương trình bị lỗi c. 7 5 d. Chương trình bị lỗi
Câu 29: Cho đoạn chương trình sau: Câu 32: Cho đoạn chương trình sau:
void Nhap(int *a) int n, x, y;
{ void Test(int &a, int &b)
for(int i=0; i<5; i++) {
*a++ = i+1; n=5+b;
} a= n*2;
void main() b= a+n;
{
}
int a[10]={0}; void main( )
Nhap(a); {
for(int i=0; i<5; i++) int n=1; x=2; y=3;
printf("%3d", a[i]); Test(x, y);
} printf("%d, %d, %d", n, x, y);
Kết quả in ra màn hình là: }
a. 0 0 0 0 0 Kết quả in ra màn hình là:
b. 1 2 3 4 5 a. 1, 16, 24 b. 8, 16, 24
c. 0 1 2 3 4 c. 1, 2, 3 d. 8, 2, 3
d. 2 3 4 5 6
CuuDuongThanCong.com https://fb.com/tailieudientucntt
{ x++; void Tang(int i)
*p-=2; {
} switch(i%2)
else {
{ x--; case 0:
*p+=2; chan++;
} break;
return x*(*p); case 1:
} le++;
void main() }
{ }
int x=3, y[5]={1, 2, 3, 4, 5}, b; void TinhToan(int t)
b = P(x, y); {
printf("%d, %d, %d", x, y[2], b); for(int i=0; i<t; i++)
} Tang(i);
}
Kết quả in ra màn hình là:
void main()
a. 4, 1, 4 b. 3, 3, 4 {
c. 3, 1, 4 d. 3, 5, 10 int t=4;
while(t)
{
Câu 34: Cho đoạn chương trình sau: TinhToan(t);
void DoiCho(int x, int y) t--;
{ }
int tmp; printf("%d, %d", chan, le);
tmp = x; }
x = y; Kết quả in ra màn hình là:
y = tmp;
} a. 8, 6 b. 7, 6
void SapXep(int a[]) c. 7, 5 d. 6, 4
{
int i, j;
Câu 36: Cho đoạn chương trình sau:
for(i=0; i<4; i++)
for(j=4; j>i; j--) int Test(int i)
if(a[i]<a[j]) {
DoiCho(a[i], a[j]); if(i%2)
} return 1;
void main() else
{ return i*Test(i-1);
int i, a[5]={0}; }
for (i=0; i<5; i++) void main()
a[i] = i+1; {
SapXep(a); int i, S=0;
for (i=0; i<5; i++) for(i=0; i<5; i++)
printf("%3d", a[i]); S+=Test(i);
} printf("%d", S);
}
a. 0 0 0 0 0 b. 1 2 3 4 5
c. 5 4 3 2 1 d. 0 1 2 3 4 Kết quả in ra màn hình là:
a. 1 b. 5
c. 8 d. 15
Câu 35: Cho đoạn chương trình sau:
int chan=0, le=0;
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Câu 37: Cho đoạn chương trình sau: {
ptd[i].x = (i+1)*2;
int F(int k)
ptd[i].y = (i+1)*3;
{ if(k==0) return 0;
}
else return k*k+F(k-1);
}
}
void main()
void main( )
{
{ int n=4;
PTR_TOADO pTD;
printf(“%d”,F(n));
int i;
}
Nhap(pTD, 2);
a. 14 b. 15
for(i=0; i<2; i++)
c. 30 d. 31
printf(" %d %d ",
pTD[i].x, pTD[i].y);
Câu 38: Cho đoạn chương trình sau: }
struct ToaDo Cần lập trình như thế nào tại vị trí (…) để
{ kết quả in ra màn hình là: 2 3 4 6
int x, y; a. void Nhap(ToaDo *&ptd, int n)
}; b. void Nhap(PTR_TOADO ptd, int n)
(…) c. void Nhap(PTR_TOADO ptd[], int n)
void main( ) d. void Nhap(TOADO ptd[], int n)
{
TOADO td;
} Câu 40: Cho đoạn chương trình sau:
Dòng lệnh nào nếu điền vào chỗ (…) là struct ToaDo
sai: {
int X, Y;
a. typedef ToaDo TOADO;
};
b. typedef struct ToaDo TOADO;
void main( )
c. struct ToaDo TOADO;
{
d. Cả ba trường hợp trên đều đúng.
ToaDo *A;
for ( int i = 1;i <= 3;i++)
Câu 39: Cho đoạn chương trình sau: {
A[i].X = i;
typedef struct ToaDo A[i].Y = i;
{ }
int x, y; for( i=1;i <= 3;i++)
}TOADO, *PTR_TOADO; printf( "%d", A[i].X, A[i].Y);
(…) }
{
int i; Kết quả in ra màn hình là:
ptd = (PTR_TOADO) a. 112233 b. 123
malloc(n*sizeof(TOADO)); c. 112 d. Chương trình báo lỗi
for(i=0; i<n; i++)
HẾT
CuuDuongThanCong.com https://fb.com/tailieudientucntt