Você está na página 1de 81

D n : phn mm thi trc nghim trn

mng
c quan qun l: i hc Khoa hc t nhin
ni thc hin: Phng th nghim cng
ngh phn mm
khoa cng ngh thng tin

ti liu:
thi mn ngn ng lp trnh C
m ti liu : tn/6
Ngi lp ti liu ny: phm hng thi
ngi duyt: o kin quc

--------------------------------------------------------------------------------------------------------------------------------------Mc : 1 (Hng, bin, kiu)


Cu : 1
Chn cu sai :
A : '0' l hng k t
B : '\0' l hng k t
C : '\0' = '0' + 48
D : '0' = '\0' + 0x30
p n : C.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 1 (Hng, bin, kiu)
Cu : 2
1

Trong cc khi to int a[3] = {1, 2, 3}; float b[][2] = {1, 2};
char c[] = "tin hc";
char d[10] = "tin hc"; char *e[][6] = {"tin","hc"} c bao
nhiu khi to khng hp l :
A:0
B:1
C:2
D:3
p n : A.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 1 (Hng, bin, kiu)
Cu : 3
Cc hng no di y biu din hng nguyn 65 :
m = 'A'; n = '\41'; o = 0101; p = x41; q = '\101';
r = 0x41; s = '\0101'; t = '\x41'; u = '101';
A : m, o, r, q, u
B : m, n, p, r, t
C : m, o, q, r, t
D : a, b, c u sai
p n : C.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 1 (Hng, bin, kiu)
Cu : 4
Cc hng no di y biu din k t 'B' :
m = 66; n = 0x42; o = '\102'; p = '\42'; q = '102';
r = '0x42'; s = 0102; t = '\x42'; u = 'x42';
A : m, n, q, s, t
B : m, n, o, s, t
C : m, n, p, t, u
D : c a, b, c u sai
p n : B.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------2

Mc : 1 (Hng, bin, kiu)


Cu : 5
Cu no sau y sai :
A : Kiu k t c hai dng l c du (signed char) v khng
du (unsigned char)
B : Kiu nguyn gm kiu int v kiu nguyn di (long) (c
hoc khng c du)
C : Cc kiu d liu c s ca ngn ng C gm : k t,
nguyn, thc
D : Kiu thc gm kiu float v kiu chnh xc gp i
(double) (c hoc khng c du)
p n : D.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 1 (Hng, bin, kiu)
Cu : 6
Cu no sau y sai :
A : C th xem kiu k t l mt dng biu din khc ca
kiu nguyn
B : Kiu con tr khng th c khi to trc vi gi tr hng
khc NULL
C : Kiu cu trc (struct) v kiu hp (union) c cch thc
khai bo nh nhau (tr hai t kho)
D : Kiu thc chnh xc gp i (double) c phm vi
biu din gp i kiu thc (float)
p n : D.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 1 (Hng, bin, kiu)
Cu : 7
Gi s c 2 bin x, y c nh ngha char x = 171; v
unsigned char y = 171.
Gi tr ca x+y ?
A : 86
B : 171
C : 256
3

D : 342
p n : A.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 1 (Hng, bin, kiu)
Cu : 8
Cho 2 bin x, y c nh ngha nh sau : char x = 156; v
unsigned char y = 156.
Khi gi tr 256 bng :
A : x + 100
B : y + 100
C:x+y
D:x-y
p n : B.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 1 (Hng, bin, kiu)
Cu : 9
Cc gi tr no di y l tng ng :
m = 65; n = '101'; o = 'B'; p = 'x41'; q = 0101; r = '\41'; s =
'\101'; t = 0x41;
A : m, p, r, t
B : m, q, s, t
C : m, n, o, p
D : m, n, q, s
p n : B.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 1 (Hng, bin, kiu)
Cu : 10
Cc bin no sau y c khi to ng :
int a[2][2] = {{1,2},{3,4}}; float b[2][2] = {1,2,3,4};
char c[5] = {'C', 'N', 'T', 'T' }; char d[5] = "CNTT";
struct S {int *x; float y;} e = {1,2}; union T {int x; float y;} f
= {{1},{2}};
4

A : a, b, c, d
B : c, d, e, f
C : b, d, f
D : a, c, e
p n : A.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 1
Cho on lnh : int a = 3, b = 5; float c = b/a; Gi tr ca
biu thc b % a < b + c bng bao nhiu ?
A:3
B : 2.5
C:2
D:1
p n : D.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 2
Cho on lnh : int a = 2, b = 5; float x,y,z, t;
x=(float)(a/b) + (float)(b/a); y=(float)a/b + (float)(b/a);
z=(float)(a/b) + (float)b/a; t=(float)a/b + (float)b/a;
Gi tr ca x, y, z, t bng :
A : 2, 2, 2, 2
B : 2, 2.4, 2.5, 2.9
C : 2, 2, 2.5, 2.9
D : 2.5, 2.5, 2.9, 2.9
p n : B.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 3
Cho on lnh : int a = 1, b = 3; c = 4; d = c == (a += b);
Gi tr ca d ?
5

A:0
B:1
C:3
D:4
p n : B.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 4
a bin nguyn m v 0 c th dng c lnh no trong
cc lnh sau :
a: m = m & 0; b: m = m ^ m; c: m = m | m; d: m = m & m;
A : lnh a, b
B : lnh b, c
C : lnh c, d
D : lnh d, a
p n : A.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 5
Cho x = 1; y = 2; z = ++x < 2 && 2 < ++y.
Gi thit chng trnh dch ch nh gi biu thc lgic t
tri sang phi cho n khi c kt qu (khng nht thit
phi nh gi ht biu thc). Khi gi tr ca x, y, z ln lt l :
A : 2, 3, 1
B : 2, 2, 0
C : 2, 2, 0
D : 2, 3, 1
p n : C.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 6
Cho on lnh : int a = 1,b = 2, c = 3; c *= ++a == b++ ?
a++ : ++b; Gi tr ca a, b, c bng :
A : 3, 4, 3
6

B : 2, 4, 3
C : 3, 3, 6
D : 2, 4, 6
p n : C.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 7
Gi bn l bit th n ca bin nguyn (2 byte) m. Chn cu
ng
A : bn = (m << n) | 0
B : bn = (m << n) | 1
C : bn = (m >> n) & 0
D : bn = (m >> n) & 1
p n : D.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 8
Gi bl v bh l byte thp v byte cao ca bin nguyn m.
Cu no sau y ng
A : bl = m & 0xff v bh = m >> 8
B : bl = m << 8 v bh = m | 0xff
C : a v b sai
D : a v b v c sai
p n : A.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 9
Vi m l bin nguyn, biu thc no sau y c kt qu l
m:
1) m & 0 2) m | 0 3) m ^ 0 4) m & 1 5) m | 1 6) m ^ 1
7) m & m 8) m | m 9) m ^ m
A : Cc biu thc 2, 4, 6, 8
7

B : Cc biu thc 2, 3, 7, 8
C : Cc biu thc 3, 4, 8, 9
D : Cc biu thc 4, 5, 7, 9
p n : B.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 10
Gi bl v bh l byte thp v byte cao ca bin nguyn m.
Cu no sau y sai
A : bl = m & 0xff, bh = (unsigned char) m
B : bh = m >> 8, bl = m & 0xff
C : bl = m & 255, bh = m >> 8
D : bh = m << 8, bl = (unsigned char) m
p n : D.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 11
Cho a = 0x1ab2; Cho x = a & 0x0011; y = a | 0x1100; z = a
<< 8; t = a >> 8;
Gi tr ca x, y, z, t ln lt bng :
A : 0x0010, 0x1bb2, 0x1a, 0xb200
B : 0x0010, 0x1bb2, 0x1a00, 0xb200
C : 0x10, 0x1bb2, 0xb200, 0x001a
D : C a, b, c u sai
p n : C.
Thi gian : 3.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 12
Cho a = 0x1ab2; Cho x = a ^ 0x0011; y = ~a; z = a << 8; t
= a >> 8;
Gi tr ca x, y, z, t ln lt bng :
A : 0x1aa3, 0xe54d, 0xb200, 0x1a
8

B : 0x1aa3, 0xe54d, 0xb200,0x1a00


C : 0xe54d, 0x1aa3, 0x1a00, 0xb200
D : C a, b, c u sai
p n : A.
Thi gian : 3.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 13
Cc bit ca mt byte c nh s t 0, t phi qua tri.
xo bit th p ca byte (unsigned) b, cu lnh no sau
y ng :
A : b = (b << (7-p)) >> p;
B : b = b & 0x7f >> (7-p);
C : b = (b >> (7-p)) << p;
D : b &= 0xff7f >> (7-p);
p n : D.
Thi gian : 3.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 14
Cc bit ca mt bin nguyn c nh s t 0 v t phi
qua tri.
Gi bn l bit th n ca bin nguyn khng du (2 byte) m.
Chn cu sai
A : bn = (m >> n) & 1
B : bn = (m >> n) & 01
C : bn = 0 nu (m >> n) & 0x0100 = 0 v ngc li
D : bn = 0 nu (m << (15-n)) >> 15 = 0 v ngc li
p n : C.
Thi gian : 3.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 2 (Php ton, biu thc)
Cu : 15
Cc bit ca mt byte c nh s t 0, t phi qua tri.
9

i bit th p ca byte (unsigned) b t 0 thnh 1 v ngc


li, on lnh no sau y ng :
A : int m = 0x0010; b = b | (~m >> (7-p));
B : int m = 0xff7f; b = b ^ (~m >> (7-p));
C : int m = 0x0010; b = b & (m >> (7-p));
D : int m = 0xff7f; b = b & (m >> (7-p));
p n : B.
Thi gian : 4.
im : 4
--------------------------------------------------------------------------------------------------------------------------------------Mc : 3 (Cc hm vo/ra c bn)
Cu : 1
Tm khng nh sai v cc hm getchar v putchar di
y
A : File tiu : cc hm getchar v putchar c nh
ngha trong file tiu <stdio.h>
B : Cng dng : cc hm getchar v putchar dng vo/ra
k t t dng vo/ra chun
C : C php (khng quan tm n kiu tr li) : getchar(ch)
v putchar(ch) vi ch l bin k t
D : Cch dng : hm getchar ly k t u tin trong dng
vo chun (nu c, hoc ch nhp) v gn cho bin
p n : C.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 3 (Cc hm vo/ra c bn)
Cu : 2
Tm khng nh sai v cc hm getch v putch di y
A : File tiu : cc hm getch v putch c nh ngha
trong file tiu <stdio.h>
B : Cng dng : cc hm getch v putch dng vo/ra k
t t bn phm/mn hnh
C : C php (khng quan tm n kiu tr li) : getch(void)
v putch(ch) vi ch l bin k t
D : Cch dng : hm getch ly k t u tin trong b m
bn phm (nu c, hoc ch nhp) v gn cho bin
p n : A.
Thi gian : 1.
im : 1
10

--------------------------------------------------------------------------------------------------------------------------------------Mc : 3 (Cc hm vo/ra c bn)


Cu : 3
Xc nh dng in ra ca lnh sau (qui c dng @ thay cho
du cch) :
printf("%-8.2f%d%o", -123.456,'a',16);
A : @@123.45a16
B : @-123.4569720
C : -123.46@9720
D : c a, b, c u sai
p n : C.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 3 (Cc hm vo/ra c bn)
Cu : 4
Chn cu sai trong cc so snh sau
A : Hm gets v scanf cng c khai bo trong file tiu
<stdio.h>
B : Hm gets v scanf cng c s dng nhp mt xu
k t bt k
C : Hm puts hin xu k t v xung dng, hm printf
hin xu k t v khng xung dng
D : Hm puts khng cn c t dng khi hin xu k t,
hm printf phi c t dng (%s) hin xu k t
p n : B.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 3 (Cc hm vo/ra c bn)
Cu : 5
Chn cu sai trong cc so snh sau
A : Hm kbhit v getch cng c khai bo trong file tiu
<conio.h>
B : Hm kbhit v getch cng khng hin k t ra mn hnh
C : Hm kbhit khng ch nhp k t v hm getch ch nhp
k t (nu b m bn phm rng)
11

D : Hm kbhit ly k t t stdin v hm getch ly k t t b


m bn phm
p n : D.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 3 (Cc hm vo/ra c bn)
Cu : 6
nhc k t Enter (do scanf li) ra khi dng vo
chun, c th lm nh sau :
A : Dng thm hm getch sau scanf
B : c v d ng
C : Thm c t %*c vo cui chui iu khin ca scanf
D : Dng thm hm fflush(stdin) sau scanf
p n : B.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 3 (Cc hm vo/ra c bn)
Cu : 7
Cho cc bin int x; long y; char z[10]; float t; v lnh
scanf("%2d %2ld %5s, %f",&x, &y, z, &t);
Khi nu g vo dy 12345 6789 abc 01 th gi tr ca x,
y, z, t ln lt bng :
A : 12345, 6789, abc, 1
B : 12, 34, 5 678, 9
C : 12, 34, 5678 , 9
D : 12, 34, 5, 6789
p n : D.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 3 (Cc hm vo/ra c bn)
Cu : 8
Xt on lnh : char x = 'A'; int y = 1; char z[10] = "abc"; x
= putchar(); scanf("%d", &y); gets(z);
nhp d liu cho x (do cu lnh putchar) ngi s dng
nhp vo dy : K38CNTT
12

Gi tr ca x, y, z ln lt bng
A : K, 38, CNTT
B : K, 1, "abc"
C : K, khng xc nh, khng xc nh
D : C a, b, c u sai
p n : A.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 4 (Mng (1 v 2 chiu))
Cu : 1
Tm cu sai
A : int a[3] l mng 1 chiu gm 3 phn t nguyn
B : long d[2][2*3][3] l mng 3 chiu cha 36 s nguyn di
C : #define m 20; char c[2][m] l mng 2 chiu gm 2 hng,
mi hng cha ti a 20 k t
D : int m; float b[3][m] l mng 2 chiu gm 3 dng v m
ct cha 3m s thc
p n : D.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 4 (Mng (1 v 2 chiu))
Cu : 2
Cu no trong cc khng nh sau l sai
A : Cc phn t ca mng c sp xp lin tc trong b nh
B : Cc phn t ca mng chim mt s byte nh nhau
C : Vi mng int x[3][4] s nguyn cui cng l phn t x[3]
[4]
D : Cho php khi to gi tr ca mng ngay trong khai bo
p n : C.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 4 (Mng (1 v 2 chiu))
Cu : 3
Xt khai bo mng k t st : char st[7] = "TIN HOC";
Hy chn cu ng nht trong cc pht biu sau
13

A : Khai bo trn l hon ton ng


B : Khai bo sai v kch thc mng khng cha xu
"TIN HOC"
C : Khai bo sai v khng c php ch ra trc kch thc ca
mng
D : Khai bo trn l sai v khng c php gn xu k t
cho mt mng
p n : B.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 4 (Mng (1 v 2 chiu))
Cu : 4
Xt 2 khi to : char x[] = {'C', 'N', 'T', 'T' } v char y[] =
"CNTT". Chn cu ng nht trong cc khng nh sau
A : Cc khi to trn l khng hp l
B : x v y l 2 xu k t nh nhau
C : Ch c khi to ca x l c php
D : S phn t mng c khi to trong x v trong y l khc
nhau
p n : D.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 4 (Mng (1 v 2 chiu))
Cu : 5
Cho 2 khi to char a[] = "CNTT" v char b[] = {'C', 'N', 'T',
'T' }
Chn cu ng nht trong cc cu sau :
A : C b, c, d u sai
B : Khi to mng a (nh trn) l sai
C : Khi to mng b (nh trn) l sai
D : 2 xu k t a v b l ging nhau
p n : A.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 4 (Mng (1 v 2 chiu))
14

Cu : 6
Cho khai bo char c[1] = {'\t'}; Chn cu ng nht trong
cc cu sau
A : Khai bo trn l khng hp l
B : c l mt mng cha mt k t
C : c l mt xu c di l 1
D : b, c ng
p n : B.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 4 (Mng (1 v 2 chiu))
Cu : 7
Xt 2 khi to : int a[2][3] = {{1,0}, {0,0,1}} v int b[2][3]
= {1,0,0,0,1}. Cu no sau y sai ?
A : a[i][j] = b[i][j] (i=0,1; j=0,1,2)
B : c v d ng
C : Hai mng a, b c cng s phn t
D : Cc phn t cha c khi to trong a, b s nhn gi tr 0
p n : A.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 4 (Mng (1 v 2 chiu))
Cu : 8
Mt sinh vin vit on chng trnh sau nhp s
liu cho mt ma trn s thc :
float a[3][4]; for (int i=0; i<3;i++) for (int j=0; j<4;j++)
scanf("%f", &a[i][j]);
Hy cho bit nhn xt ca bn ?
A : Hai bin i, j gy ra li v c khai bo lp nhiu ln
(trong cc vng for)
B : V i++ v j++ tng sau nn khng vt ht c phn t
cui cng ca mng
C : Khng c php vit &a[i][j] ch a ch ca phn
t (i,j) ca mng a
D : Chng trnh trn hot ng tt
15

p n : C.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 5 (Xu k t)
Cu : 1
Gi s c khai bo char str[12] = "abcdef". Cu no sau
y sai :
A : str[6] = "\0"
B : di ca str bng 6
C : str l mt mng k t
D : str l mt xu k t
p n : A.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 5 (Xu k t)
Cu : 2
Cho khai bo char a[8];. gn gi tr "tin hc" cho a, 2 sinh
vin vit theo 2 cch khc nhau :
sinh vin 1: a = "tin hc";
sinh vin 2 : strcpy(a, "tin hc")
Chn cu ng nht trong cc cu sau :
A : sinh vin 1 ng v gn xu k t cho mng a
B : sinh vin 2 ng v dng hm strcpy
C : c 2 sinh vin u ng
D : a, b, c u ng
p n : B.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 5 (Xu k t)
Cu : 3
C th khai bo mt cch chun xc xu k t s vi di
ti a 20 k t nh :
A : char s[20];
B : char *s = (char*) malloc(20);
C : a, b sai
16

D : a, b ng
p n : C.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 5 (Xu k t)
Cu : 4
Chn cu ng nht trong cc cu sau :
A : Xu k t l mt kiu chun ca C
B : Mt xu k t lun lun c kt thc bng k t '\0'
C : C th khai bo xu k t dng mng hoc con tr k t
D : b v c ng
p n : D.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 5 (Xu k t)
Cu : 5
Chn cu ng trong cc cu sau :
A : Hm strcat(s,t) s ni xu s vo sau xu t
B : Hm strcat s ct b k t '\0' ca s trc khi ghp
C : t c th l k t, v d 'A'
D : Hm strcat s ct b k t '\0' ca t trc khi ghp
p n : B.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 5 (Xu k t)
Cu : 6
Gi s ta c khai bo char x[10] = {'C', 'N', 'T', 'T'};
Chn cu ng nht trong cc cu sau y :
A : printf("%s",x) s in ra dng ch "CNTT"
B : printf("%s",*x) s in ra dng ch "CNTT"
C : printf("%c",x) s in ra ch ci 'C'
D : a, b v c u sai
p n : D.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------17

Mc : 5 (Xu k t)
Cu : 7
sao chp xu s sang xu t, on chng trnh no sau
y ng
A : int i=0; while ((t[i] = s[i])!='\0') i++;
B : for (int i=0; s[i]!='\0'; i++) t[i] = s[i];
C : int i =0; do {t[i] = s[i]; i++} while (s[i]!='\0');
D : a, b, c u ng
p n : A.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 5 (Xu k t)
Cu : 8
Cho macro #define swap t = x[i]; x[i] = x[j]; x[j] = t v khai
bo : char x[8] = "TIN HOC";
on chng trnh no di y lm cng vic o ngc k
t ca xu x :
A : b v c ng
B : int i = 0, j = 6, t; for (;;) {swap; if (i++ >= j--) break;}
C : int i = 0, j = 6, t; for (; i<j; i++, j--) {swap;}
D : int i = 0, j = 6, t; for ( ; i++, j--, i<j ; ) {swap; }
p n : C.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 6 (Kiu d liu cu trc (struct))
Cu : 1
C th truy nhp thnh phn ca cu trc thng qua con tr
nh sau (vi p l con tr cu trc v a
l thnh phn ca cu trc)
A : (*p).a
B : *p->a
C : a v b sai
D : a v b ng
p n : A.
Thi gian : 1.
im : 1
18

--------------------------------------------------------------------------------------------------------------------------------------Mc : 6 (Kiu d liu cu trc (struct))


Cu : 2
Cho cc khai bo sau :
struct ngay {int ng, th, nam;} vaotruong, ratruong;
typedef struct {char hoten[25]; ngay ngaysinh;} sinhvien;
Hy chn cu ng nht
A : Khng c php gn : ratruong = vaotruong;
B : sinhvien l tn cu trc, vaotruong, ratruong l bin cu
trc
C
:
C
th
vit
:
vaotruong.ng,
ratruong.th,
sinhvien.vaotruong.nam truy nhp n cc thnh phn
tng ng
D : a, b, c ng
p n : B.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 6 (Kiu d liu cu trc (struct))
Cu : 3
Chn cu ng nht vi cc khai bo sau :
struct sophuc1 {float x; float y;} c;
struct sophuc2 {float x; float y;} c1 = c2 = {1,2};
struct sophuc3 {float x; float y;} c1 = {1,2}, c2 = c1;
A : Khai bo sophuc1 l khng hp l
B : Khai bo sophuc2 l khng hp l
C : Khai bo sophuc3 l khng hp l
D : a, b, c u sai
p n : B.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 6 (Kiu d liu cu trc (struct))
Cu : 4
Cho on lnh nh di. Hy chn cu ng nht trong A, B,
C, D
19

struct S {int x, y;} m = {1,2}; struct T {int x; int y;} n, p =


{x = 4, y = 4}; n.x = 1; n.y = 2; struct S q = m;
A : Khi to v gn cho cc bin m, n l hp l
B : Khi to v gn cho cc bin m, n, p l hp l
C : Vic khi to v gn cho cc bin m, n, p, q nh trn l hp
l
D : a, b, c sai
p n : A.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 6 (Kiu d liu cu trc (struct))
Cu : 5
Vi cc khai bo :
struct S {int x;}; struct T {int y; struct S s;}; struct V {int z;
struct T t;} stv;
Hy chn cu ng nht
A : Khai bo cu trc V l khng hp l
B : Nu khai bo cu trc V l hp l th stv c th lu tr c 5 thnh phn d liu
C : C th khai bo li V m vn gi nguyn c mc ch
lp trnh nh sau : struct V {int x, y, z;} stv;
D : a, b, c ng
p n : C.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 6 (Kiu d liu cu trc (struct))
Cu : 6
i vi kiu cu trc, khng cho php :
A : Gn hai bin cho nhau (iu ny tng ng vi vic
gn tng thnh phn tng ng)
B : Gn hai thnh phn mng (kiu cu trc) cho nhau
C : Gn mt thnh phn mng (kiu cu trc) cho mt bin
v ngc li
D : Gn hai mng cu trc cng s phn t cho nhau
p n : D.
Thi gian : 1.
im : 2
20

--------------------------------------------------------------------------------------------------------------------------------------Mc : 6 (Kiu d liu cu trc (struct))


Cu : 7
Trong cc khi to gi tr cho cc cu trc sau, khi to no
ng
struct S1 {int ngay, thang, nam;} s1={2,3}; struct S2 {char
hoten[10]; struct S1 ngaysinh;} s2 = {"Ly Ly",1,2,3};
struct S3 {struct S2 sinhvien; float diem;} s3 = {{{"Cc
cc", {4,5,6}}, 7};
A : S1 v S2 ng
B : S2 v S3 ng
C : S3 v S1 ng
D : C 3 cng ng
p n : C.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 6 (Kiu d liu cu trc (struct))
Cu : 8
Cho khi to :
struct mua {int th; char* cth;}
xuan[3] = {{1,"mt"}, {2,"hai"}}, ha[3] = {{4,"t"}, {5},
{6,"su"}}, thu[] = {{7,"by"}, {8,"tm"}, {9,"chn"}};
A : Khi to trn l sai v mng xuan c 3 phn t nhng ch
khi to c 2
B : Khi to trn l sai v trong mng ha thiu tn thng nm
C : Khi to trn l sai v trong mng thu thiu khai bo s
phn t
D : a, b, c u sai
p n : D.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 6 (Kiu d liu cu trc (struct))
Cu : 9
Cho on chng trnh sau :
21

struct {int to ; float soluong;} x[10]; for (int i=0; i<10; i++)
scanf("%d %f", &x[i].to, &x[i].soluong);
Chn cu ng nht trong cc cu sau :
A : on chng trnh trn c li c php
B : Khng c php s dng ton t ly a ch i vi cc
thnh phn to v soluong
C : Ly a ch thnh phn soluong dn n chng trnh
hot ng khng ng n
D : C a, b, c u sai
p n : C.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 6 (Kiu d liu cu trc (struct))
Cu : 10
Cho cc macro, khai bo struct v cu lnh scanf nh di.
Hy chn cu ng nht trong 4 cu A, B, C, D
#define SV sv.ngay
typedef struct {int ng, th, nam;} ngay; struct sinhvien {char
hoten[25]; ngay ngaysinh;} sv;
scanf("%d %d %d", &SV.ng, &SV.th, &SV.nam);
A : 2 khai bo v struct trn l ng
B : S dng & cng vi macro SV (&SV) l sai
C : S dng . cng vi macro SV (SV.) l sai
D : a, b, c sai
p n : A.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 7 (Kiu d liu hp (union))
Cu : 1
Chn cu ng nht trong cc cu sau :
A : Cc thnh phn ca kiu hp (union) c cp pht mt
vng nh chung
B : Kch thc ca kiu hp bng kch thc ca thnh phn ln
nht

22

C : Mt bin kiu hp c th c t chc cho php thay


i c kiu d liu ca bin trong qua trnh chy chng
trnh
D : a, b, c ng
p n : D.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 7 (Kiu d liu hp (union))
Cu : 2
Cho khai bo :
union {unsigned x; unsigned char y[2]; } z = {0xabcd};
Chn cu ng nht trong cc cu sau :
A : Khai bo trn l sai v thiu tn kiu
B : Khi to bin z l sai v ch c mt gi tr (0xabcd)
C : z.y[0] = 0xab
D : z.y[1] = 0xab
p n : D.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 7 (Kiu d liu hp (union))
Cu : 3
Cho kiu hp : union U {char x[1]; int y[2]; float z[3]; } u;
Chn cu ng nht trong cc cu sau :
A : sizeof(U) = 1+2+3 = 6
B : sizeof(U) = max(sizeof(char), sizeof(int), sizeof(float))
C : sizeof(u) = max(sizeof(u.x), sizeof(u.y), sizeof(u.z))
D : b v c ng
p n : C.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 7 (Kiu d liu hp (union))
Cu : 4
Cho khai bo :
union {unsigned x; struct {unsigned char a, b;} y; } z =
{0xabcd};
23

Gi tr ca z.y.a v z.y.b tng ng :


A : 0xab, 0xcd
B : 0xcd, 0xab
C : 0xabcd, 0
D : 0, 0xabcd
p n : B.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 7 (Kiu d liu hp (union))
Cu : 5
qun l phng tin vn ti, cc thng tin cn qun l
gm : ch xe, hiu xe v phn khi (i vi m t) hoc s
ch ngi v nm ng k (i vi t). tit kim b nh
bn chn cu trc d liu no trong cc cu trc sau :
A : struct tag {char loaixe; char chuxe[26]; char hieuxe[21];
union {int cc; struct {int socho, ndky;} s;} u;}
B : struct tag {char loaixe; char chuxe[26]; char hieuxe[21];
int cc; union {int socho ; int ndky;} u; }
C : struct tag {char loaixe; char chuxe[26]; char hieuxe[21];
union {int cc; int socho; int ndky;} u; }
D : struct tag {char loaixe; char chuxe[26]; char hieuxe[21];
int cc, socho, ndky; }
p n : A.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 7 (Kiu d liu hp (union))
Cu : 6
Cho khai bo :
union U {unsigned x; unsigned char y[4]; } u; v cu lnh
strcpy(u.y, "\n\n\n");
Chn cu ng nht trong cc cu sau :
A : Gi tr ca thnh phn x l khng xc nh
B : Gi tr ca thnh phn x l 2570
C : Gi tr ca thnh phn y[3] l khng xc nh
D : Gi tr ca thnh phn y[3] l 10
24

p n : B.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 7 (Kiu d liu hp (union))
Cu : 7
Cho khai bo :
union {struct {unsigned char a, b;} y; unsigned x; } z =
{{1,2}};
Gi tr ca z.x bng
A : 513
B : 258
C : Khng xc nh v sai khi to
D : Khi to z ng nhng z.x cha c gi tr
p n : A.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 7 (Kiu d liu hp (union))
Cu : 8
Xt on lnh :
union U {int x; char y; } u; u.x = 0; u.y = 200;
Tm gi tr ca u.x + u.y ?
A : 122
B : 144
C : 200
D : 400
p n : B.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 7 (Kiu d liu hp (union))
Cu : 9
Xt on lnh :
union U {int x; char y; } u; u.x = 0; u.y = 200;
Tm gi tr ca u.x - u.y ?
A:0
B : 244
25

C : 256
D : 255*200
p n : C.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 7 (Kiu d liu hp (union))
Cu : 10
Cho cc khai bo ca cc hp nh sau :
union S1 {int x; union T {int y; int z;} t; } s; union S2 {union
T {int x; int y} t; int z;} s;
union S3 (int x, y, z;} s; union S4 (int x; int y; int z;} s;
V mt lu tr thng tin, c th xem cc cp union no sau
y l tng ng :
A : S1 tng ng S2 v S3 tng ng S4
B : S1 tng ng S2 v S3 khng tng ng S4
C : S1 khng tng ng S2 v S3 tng ng S4
D : S1, S2, S3, S4 cng tng ng nhau
p n : D.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 8 (Kiu d liu cu trc nhm bit)
Cu : 1
Cho khai bo
struct S {int a:5; int b:6; int c:6; int d:7;} x;
Chn cu ng nht trong cc cu sau :
A : Tng di ca x l 3 byte
B : Tng gi tr cc thnh phn ca x l 24
C : Khai bo trn l sai li c php
D : a, b, c, sai
p n : A.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 8 (Kiu d liu cu trc nhm bit)
Cu : 2
26

Chn cu ng nht i vi cu trc nhm bit trong cc


cu sau :
A : Kiu ca cc thnh phn nhm bit phi nguyn
B : Khng cho php ly a ch ca thnh phn nhm bit
C : di mi thnh phn kiu nhm bit khng c vt qu
16
D : a, b, c, ng
p n : D.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 8 (Kiu d liu cu trc nhm bit)
Cu : 3
Chn cu ng nht i vi khai bo cu trc nhm bit
trong cc cu sau :
A : Cc thnh phn ca cu trc phi c kiu s
B : Khng th khi to trc gi tr bin nu khng dng lnh
gn gi tr cho tng thnh phn ca bin
C : Th t cc thnh phn trong t my c sp xp ngc
(phi sang tri) vi th t xut hin trong khai bo
D : C 3 cu a, b, c u sai
p n : C.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 8 (Kiu d liu cu trc nhm bit)
Cu : 4
Cho khai bo :
union { char x; struct {int b0:3; int b1:2;} y; } z = {0xa};
Chn cu ng nht trong cc cu sau :
A : z.y.b0 = 3 v z.y.b1 = 2
B : z.y.b0 = 2 v z.y.b1 = 1
C : Vic khi to z cha hon chnh
D : Khai bo trn l khng ng
p n : B.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------27

Mc : 8 (Kiu d liu cu trc nhm bit)


Cu : 5
Cho khai bo :
union { struct {int b0:2; int b1:3;} y; char x; } z = {{2,3}};
Chn cu ng nht trong cc cu sau :
A : Khai bo trn l khng ng
B : Gi tr ca z.x bng 14
C : Vic khi to z b sai
D : Gi tr ca z.x bng 11
p n : B.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 9 (Kiu d liu con tr)
Cu : 1
Tm cu sai :
A : malloc l mt hm c khai bo trong file tiu
<alloc.h>
B : Gi tr tr li ca malloc l s byte c cp pht
C : Kiu tr li ca malloc l kiu con tr void
D : gii phng b nh c cp bi malloc c th dng hm
free
p n : B.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 9 (Kiu d liu con tr)
Cu : 2
Chn cu ng nht trong cc cu sau :
A : a ch ca mt bin l s th t ca byte u tin my
dnh cho bin
B : a ch ca mt bin l mt s nguyn
C : S hc a ch l cc php ton lm vic trn cc s
nguyn biu din a ch ca bin
D : a v b ng
p n : D.
Thi gian : 1.
im : 1
28

--------------------------------------------------------------------------------------------------------------------------------------Mc : 9 (Kiu d liu con tr)


Cu : 3
Hy chn cu ng nht trong cc cu sau y :
A : Con tr l mt bin dng cha a ch ca mt bin
khc
B : Gi s p l mt con tr, php gn p = 0x100 cho ta bit
con tr p hin ang tr n v tr 0000:0100H trong b
nh
C : Gi s p l mt con tr, php gn p = 0x100 cho ta bit
con tr p hin ang tr n v tr 100H trong b nh heap
D : a v c ng
p n : A.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 9 (Kiu d liu con tr)
Cu : 4
Chn cu sai trong cc cu sau :
A : Cc con tr c th phn bit nhau bi kiu ca bin m
n tr n
B : Hai con tr tr n cc kiu khc nhau s c kch thc
khc nhau
C : Mt con tr kiu void c th c gn bi con tr c kiu
bt k (cn p kiu)
D : Hai con tr cng tr n kiu cu trc c th gn cho
nhau
p n : B.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 9 (Kiu d liu con tr)
Cu : 5
Hy chn cu ng nht trong cc cu sau y :
A : a ch ca 2 bin lin tip trong b nh v c kiu T bt
k cch nhau sizeof(T) byte
29

B : Cc a ch phn bit nhau bi kiu ca bin ti a


ch
C : Vi mt bin x bt k c th dng ton t & (&x) ly
a ch ca bin
D : a v b ng
p n : D.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 9 (Kiu d liu con tr)
Cu : 6
Cho con tr p tr n bin x kiu float. C th khng
nh :
A : p l mt bin v *p cng l mt bin
B : p l mt bin v *p l mt gi tr hng
C : s dng c p cn phi khai bo float *p; v gn *p =
x;
D : Cng c th khai bo void *p; v gn (float)p = &x;
p n : A.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 9 (Kiu d liu con tr)
Cu : 7
Vi khai bo char *x, int *y; cu no sau y ng :
A : S phn t ca y = sizeof(y)/sizeof(int)
B : sizeof(x) = sizeof(y)
C : sizeof(x) > sizeof(y)
D : C a, b, c u sai
p n : B.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 9 (Kiu d liu con tr)
Cu : 8
Cho khai bo : int *p v float *q. Hy chn cu ng nht
trong cc cu sau :
30

A : Khng th gn 2 con tr khc kiu cho nhau k c vic


p kiu tng minh (nh trong cu b)
B : Cn phi p kiu bng biu thc q = (float*)p;
C : C th gn q = p; (C s t ng chuyn kiu)
D : a v b ng
p n : A.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 9 (Kiu d liu con tr)
Cu : 9
Chn cu ng nht trong cc cu sau y :
A : thay i ni dung ca byte c a ch 100H thnh
'A' ta c th vit char* p = 0x0100; v p = 'A';
B : thay i ni dung ca byte c a ch 100H thnh
'A' ta c th vit char* p = 0x0100; v *p = 'A';
C : Cho khai bo int x; v int *p = &x; thay i gi tr
ca bin x thnh 'B' ta c th vit x = 'B' hoc *p = 'B'
D : Cho khai bo int x; v int *p = &x; thay i gi tr
ca bin x thnh 'B' ta c th vit x = 'B' hoc p = 'B'
p n : C.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 9 (Kiu d liu con tr)
Cu : 10
Cho khai bo float x, y, z, *px, *py; v cc lnh px = &x; py
= &y; C th khng nh :
A : Nu x = *px th y = *py
B : Nu x = y + z th *px = y + z
C : Nu *px = y + z th *px = *py + z
D : a, b, c ng
p n : D.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 9 (Kiu d liu con tr)
Cu : 11
31

Cho khai bo float x, y, z, *px, *py; v cc lnh px = &x; py


= &y; C th khng nh :
A : Nu *px = x th *py = y
B : Nu *px = *py - z th *px = y - z
C : Nu *px = y - z th x = y - z
D : a, b, c ng
p n : D.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 9 (Kiu d liu con tr)
Cu : 12
Gi s x v y l hai bin kiu float. Kt qu thc hin ca li
gi f(&x, &y) vi f c nh ngha
void f(float *a, float *b) {*a = (*a + *b)/2; *b -= *a ; *a +=
*b ; *b = *a - 2* *b;}
l tng ng vi :
A : Tro i gi tr ca 2 bin thc
B : t gi tr c hai bin bng x
C : Tro i gi tr ca 2 bin thc khc 0
D : t gi tr c hai bin bng y
p n : A.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 9 (Kiu d liu con tr)
Cu : 13
Xt on chng trnh : char st[] = "tin hc"; main() { char
*p = 0; for (int i=0; st[i] != '\0'; i++) p[i] = st[i]; }
on chng trnh trn cha hon chnh v :
A : Dng php gn p[i] = st[i]; thay cho strcpy(p[i],st[i]);
B : Khi to con tr p l mt s (0)
C : Khng cp pht b nh cho p
D : S dng c php p[i] cho con tr p
p n : C.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------32

Mc : 9 (Kiu d liu con tr)


Cu : 14
nhp v in mt dy 8 s thc, hy xt on chng trnh :
float *x; int i; for (i=0; i<N; i++) scanf("%f", x++);
for (i=0; i<N; i++) printf("%f", *(x+i)); on chng trnh
trn hon chnh bn cn b sung thm nhng cu lnh
v/hoc khai bo no trong cc cu sau : (1) #define N 8
(2) x = (float*)malloc(32);
(3) N = 8;
(4) x = (float*)malloc(8*sizeof(float));
(5) x -= 8;
(6) float x[8];
A : 1, 2 v 3
B : 2, 3, v 4
C : 3, 4, v 5
D : 4, 5, v 6
p n : C.
Thi gian : 3.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 1
gn con tr p ti mng a, c th vit :
A : p = &a;
B : p = a;
C : p = &a[0];
D : b v c ng
p n : D.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 2
truy nhp n phn t c ch s i ca mng mt chiu
a ta c th vit
A : a[i]
B : *(a+i)
C : a v b ng
D : a, b, c u ng
33

p n : D.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 3
Chn cu ng nht trong cc cu sau y :
A : C th xem tn ca mng mt chiu cng l tn con tr
tr n bin mng
B : Tn ca mng mt chiu l mt hng a ch, l a
ch ca phn t u tin ca mng
C : Nu p ang tr n phn t th i ca mt mng mt
chiu cc s nguyn, th p+2 l a ch ca phn t th
i+1
D : Nu p ang tr n phn t th i ca mt mng mt
chiu cc s nguyn, th *p++ l gi tr ca phn t th i+1
p n : B.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 4
Gi s p l con tr tr n mng 4 s thc a. Cu no sau
y sai :
A : Khai bo sau y ng : float a[4], p = a;
B : *p = a[0]
C : C th truy nhp phn t th i ca a bi a[i]
D : C th truy nhp phn t th i ca a bi p[i]
p n : A.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 5
tr con tr p n mng a 2 chiu, ta vit :
A : p = a;
B : p = &a[0];
C : p = &a[0][0];
34

D : a v c ng
p n : C.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 6
Cho float x[6]; float y[3][4]. Cu no sau y ng
A : &x[i] l a ch phn t th i ca x
B : &y[1][2] l a ch phn t dng 1 ct 2 ca y
C : x v y l hai con tr thc c th gn cho nhau
D : C th xem phn t y[2][2] nh phn t y[4]
p n : A.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 7
Cho khai bo double a[4] = {-1,2,4,0}, *p; v cu lnh p =
a+2;
Cu no sai trong cc cu sau y :
A : *a = -1
B : *p = 1
C : a = &a[0]
D : p = &a[2]
p n : B.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 8
Cho mt mng a v mt con tr p tr n mng a. ly
gi tr phn t th i ca mng a sinh vin th nht vit
*(a+i),
sinh vin th hai vit p[i]. Sinh vin no vit ng ?
A : Sinh vin th nht
B : Sinh vin th hai
C : C hai sinh vin u ng
35

D : Cn phi sa li a[i] v *(p+i)


p n : C.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 9
in gi tr ca mng nguyn a c n phn t, mt sinh vin
vit :
for (int i=0, i<n, i++) printf("%d", *a++); Theo bn
A : b v c ng
B : Cn phi sa *a++ thnh *(a+i) hoc a[i]
C : Cn phi sa *a++ thnh (*a)++
D : Chng trnh vn chy tt ... (khng cn sa)
p n : A.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 10
Cho a[10] l mng s thc. p l con tr tr n a. Cho on
chng trnh :
for (int i=0; i<10; i++) *(p+i) = i; int tong = 0; while (*++p
< 10) tong += p[i];
Gi tr ca tong ?
A:0
B : 45
C : 55
D : c 3 a, b, c u sai
p n : D.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 11
in gi tr ca ma trn int a[m][n], 3 sinh vin vit 3 on
chng trnh sau :
sinh vin 1 : for (int i=0, i<m*n, i++) printf("%d\n", *(a+i));
36

sinh vin 2 : int *p = a; for (int i=0, i<m*n, i++)


printf("%d\n", *p++);
sinh vin 3 : int *p = a; for (int i=0, i<m*n, i++)
printf("%d\n", *(p+i));
A : Sinh vin 1 sai
B : Sinh vin 2 sai
C : Sinh vin 3 sai
D : C 3 sinh vin u sai
p n : B.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 12
in gi tr ca ma trn thc float a[m][n], c th vit :
A : for (int i=0, i<m*n, i++) printf("%f\n", *(a+i));
B : float *p = a; for (int i=0, i<m*n, i++) printf("%f\n",
*(p+i));
C : float *p = &a[0][0]; for (int i=0, i<m*n, i++)
printf("%f\n", *p++);
D : a, b, c u ng
p n : C.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 13
nhp gi tr cho ma trn thc float a[m][n], 3 sinh vin
vit 3 on chng trnh sau :
sinh vin 1 : for (int i=0, i<m, i++) for (int j=0, j<n, j++)
scanf("%f", &a[i][j]);
sinh vin 2 : float *p = &a[0][0]; for (int i=0, i<m*n, i++)
scanf("%f", p++);
sinh vin 3 : float *p = (float*) a; for (int i=0, i<m*n, i++)
scanf("%f", p+i);
A : Sinh vin 1 v 2 ng
B : Sinh vin 2 v 3 ng
C : Sinh vin 3 v 1 ng
37

D : C 3 sinh vin u ng
p n : B.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 14
C th nhp gi tr cho ma trn float a[m][n] theo cch no
trong 3 cch sau y :
Cch 1 : float *p = &a[0][0]; for (int i=0, i<m*n, i++)
scanf("%f", p+i);
Cch 2 : for (int i=0, i<m*n, i++) scanf("%f", (float*)a+i);
Cch 3 : for (int i=0, i<m, i++) for (int j=0, j<n, j++)
scanf("%f", &a[i][j]);
A : Cch 1 v 2
B : Cch 2 v 3
C : Cch 3 v 1
D : a, b, c ng
p n : A.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
Cu : 15
Cho khai bo int a[n], *p = a, s1 = 0, s2 = 0, s3 = 0; Gi s
mng a c khi to gi tr. Xt on chng trnh :
for (int i=0; i<n; i++) s1 += *(a+i); for (p = a; p < a+n; p+
+) s2 += *p; for (p = a+n-1; p >= 0; p--) s3 += *p;
Chn cu ng nht trong cc cu sau y :
A : s1 = s2
B : s2 = s3
C : s3 = s1
D : s1 = s2 = s3
p n : D.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 10 (Con tr v mng)
38

Cu : 16
Ai ng ? khi bnh lun v on chng trnh : float *p =
a; int i; for (i=0; i<10; i++) scanf("%f", p++);
for (i=0; i<10; i++) printf("%f", *(p+i)); Sinh vin S pht
biu : a c th l mt s thc. Sinh vin T : a c th
l mng 10 s thc. Sinh vin U : a c th l mt con tr
thc c cp pht b nh trc vi t nht l
10*sizeof(float) bytes. Sinh vin V : Nu a l mng 10 s
thc th on chng trnh ny l hon chnh nhp v
in a.
A : S, T, U
B : U, V
C : T, U
D : T, U, V
p n : C.
Thi gian : 3.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 11 (Con tr v xu)
Cu : 1
Cho cc cu lnh : char *p, s[10]; p = "Tin hc"; gets(s);
Chn cu ng nht trong cc cu sau y :
A : Cu lnh p = "Tin hc"; l khng hp l
B : Cu lnh gets(s); hp l v c php nhng khng dng c
C : Nu vit ngc li s = "Tin hc"; v gets(p); th s hp l
v dng c
D : a, b, c u sai
p n : D.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 11 (Con tr v xu)
Cu : 2
Gi s p l mt con tr kiu k t tr n xu "Tin hc".
Chn cu ng nht trong cc cu sau :
A : puts(p) s in ra dng ch "Tin hc"
B : puts(*p) s in ra dng ch "Tin hc"
39

C : puts(p) s in ra ch ci 'T'
D : b v c ng
p n : A.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 11 (Con tr v xu)
Cu : 3
Xt chng trnh (khng k cc khai bo file tiu ) :
char st[] = "tin hc"; main() {char *p; p = (char*)malloc(10);
for (int i=0; st[i] != '\0'; i++) p[i] = st[i]; }
Chng trnh trn cha hon chnh v :
A : S dng sai c php hm malloc
B : S dng sai c php p[i] (ng ra l *(p+i))
C : Xu p cha c kt thc
D : C a, b, c, u sai
p n : C.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 11 (Con tr v xu)
Cu : 4
tnh di xu mt sinh vin vit on chng trnh
sau (khng k cc khai bo file tiu )
char *st; main() {int len = 0; gets(st); while (st++ != '\0')
len++; printf("%d",len); }
Hy chn cu ng nht
A : Chng trnh trn l hon chnh
B : Cn thay len++ bi ++len
C : Cn thay st++ bi *st++
D : Cn thay st++ != '\0' bi st++ == '\0'
p n : C.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 11 (Con tr v xu)
Cu : 5
40

Cho on lnh char x[8] = "TIN HOC"; for (int i = 7; i > 1; i--)
{printf("%c*",x[--i]);}
Kt qu hin trn mn hnh l :
A : T*N*H*
B : C*H*N*
C : T*I*N* H*O*C*
D : C*O*H* N*I*T*
p n : B.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 12 (Con tr v cu trc)
Cu : 1
Cho khai bo bin xep v cu lnh nhp d liu
struct canbo {char *hoten; int tuoi; float hsluong; } xep;
scanf("%s %d %f", xep.hoten, &xep.tuoi, &xep.hsluong);
Chn cu ng nht trong cc cu sau
A : S dng xep.hoten trong cu lnh scanf l sai
B : Vit &xep.tuoi trong cu lnh scanf l sai
C : S dng &xep.hsluong trong cu lnh scanf l sai
D : a, b, c sai
p n : C.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 12 (Con tr v cu trc)
Cu : 2
Cho khai bo struct T {int x; float y;} t, *p, a[10];
Cu lnh no trong cc cu sau l khng hp l
(1) p = &t;
(2) p = &t.x;
(3) p = a;
(4) p = &a
(4) p = &a[5];
(6) p = &a[5].y;
A : 1, 2 v 3
B : 4, 5 v 6
C : 1, 3 v 5
D : 2, 4 v 6
p n : C.
Thi gian : 2.
im : 2
41

--------------------------------------------------------------------------------------------------------------------------------------Mc : 12 (Con tr v cu trc)


Cu : 3
to danh sch lin kt, theo bn sinh vin no di y
khai bo ng cu trc t tr s c dng :
Sinh vin 1 : struct SV {char ht[25]; int tuoi; struct SV
*tiep;};
Sinh vin 2 : typedef struct SV node; struct SV {char ht[25];
int tuoi; node *tiep;};
Sinh vin 3 : typedef struct SV {char ht[25]; int tuoi; struct
SV *tiep;} node;
A : Sinh vin 1
B : Sinh vin 2
C : Sinh vin 2 v 3
D : Sinh vin 1, 2 v 3
p n : D.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 12 (Con tr v cu trc)
Cu : 4
struct SV {char *hoten; int tuoi;}; struct node {struct SV* sv;
struct node *tiep;} *p;
Gi s ta c mt danh sch lin kt s dng cu trc d
liu nh khai bo trn, p l con tr hin ang
tr n mt nt no ca danh sch. Chn cu ng
nht trong cc cu sau y :
A : Cu lnh p = p->tiep; s loi nt m p ang tr ti ra
khi danh sch
B : Cu lnh scanf(&p->sv.tuoi) s cho php nhp li tui
ca nt m p ang tr ti
C : Cu lnh puts(p->sv.hoten); s hin h tn ca nt m p
ang tr ti
D : a, b, c u ng
p n : A.
Thi gian : 2.
im : 3
42

--------------------------------------------------------------------------------------------------------------------------------------Mc : 12 (Con tr v cu trc)


Cu : 5
Bn hy chn cu trc d liu no di y m bn cho l hp
l nht lp danh sch th sinh d thi i hc. Thng
tin v mi th sinh c lu tr khong 1KB v qui c ghi ngn
gn l "thng tin" trong cc khai bo.
A : typedef struct SV node; struct SV {"thng tin"; node
*tiep;};
B : typedef struct node; struct SV {thng tin; node *tiep;};
C : struct SV {thng tin; }; struct SV x[10000];
D : struct SV {thng tin; }; struct SV *tiep;
p n : A.
Thi gian : 3.
im : 4
--------------------------------------------------------------------------------------------------------------------------------------Mc : 12 (Con tr v cu trc)
Cu : 6
dng danh sch lin kt xt 2 khai bo sau (cn 1KB lu thng tin v mt sinh vin) :
Khai bo 1 : struct SV {thng tin ; struct SV *tiep;};
Khai bo 2 : struct SV {thng tin;}; struct DS {struct SV* sv;
struct DS *tiep;};
Chn cu ng nht trong cc cu sau y :
A : Khai bo 1 tn nhiu b nh hn khai bo 2
B : Khai bo 2 s gip chng trnh chy nhanh hn khi cn
i v tr ca 2 sinh vin trong danh sch
C : Khai bo 1 s gip tit kim cu lnh hn khi vit th
tc i v tr ca 2 sinh vin trong danh sch
D : Khai bo 2 s gip chng trnh chy nhanh hn khi cn
duyt danh sch
p n : B.
Thi gian : 3.
im : 4
--------------------------------------------------------------------------------------------------------------------------------------Mc : 12 (Con tr v cu trc)
Cu : 7
43

Cho khai bo : struct SV {char *hoten; int tuoi;} x; struct


node {struct SV* sv; struct node *tiep;} *p, *q;
Cho mt danh sch lin kt s dng cu trc d liu nh khai
bo trn, p v q l 2 con tr hin ang tr n hai nt
A v B no . Gi s x c nhp d liu vo t bn
phm. Xt on chng trnh sau y :
q = (struct node*)malloc(sizeof(node)); q->sv = &x; q->tiep
= p->tiep; p->tiep = q; Khng nh no sau y ng :
A : on chng trnh trn tro i d liu ca 2 nt A, B
B : on chng trnh trn chn thm bn ghi x vo sau nt A
C : on chng trnh trn chn thm bn ghi x vo sau nt B
D : on chng trnh trn thay d liu ca nt B bng x v
ni B vo sau nt A
p n : B.
Thi gian : 4.
im : 4
--------------------------------------------------------------------------------------------------------------------------------------Mc : 12 (Con tr v cu trc)
Cu : 8
Cho khai bo : struct SV {char *hoten; int tuoi;} x; struct
node {struct SV* sv; struct node *tiep;} *p, *q;
Cho mt danh sch lin kt s dng cu trc d liu nh khai
bo trn. p v q l 2 con tr hin ang tr n hai nt
A v B no v A ng trc B, x l bn ghi c nhp
d liu. Xt on chng trnh sau y :
p->sv->hoten = x.hoten; p->sv->tuoi = x.tuoi; while (p>tiep != q) p = p->tiep; p->tiep = q->tiep; Cu no sau
y ng:
A : on chng trnh trn thay d liu ca nt A bng x v
loi nt B ra khi danh sch
B : on chng trnh trn thay d liu ca nt B bng x v
loi nt A ra khi danh sch
C : on chng trnh trn thay nt A bi nt B v A cha d
liu x
D : on chng trnh trn thay nt B bi nt A v B cha d
liu x
p n : A.
Thi gian : 4.
im : 4
44

--------------------------------------------------------------------------------------------------------------------------------------Mc : 12 (Con tr v cu trc)


Cu : 9
Cho khai bo : struct SV {char *hoten; int tuoi;}; struct node
{struct SV* sv; struct node *tiep;} *p, *q;
Cho mt danh sch lin kt s dng cu trc d liu nh khai
bo trn. p v q l 2 con tr hin ang tr n hai nt
A v B no . on chng trnh no sau y dng
tro i d liu ca 2 nt A v B ?
A : struct SV t; t = *(p->sv); *(p->sv) = *(q->sv); *(q->sv) =
t;
B : struct node t; t.sv = p->sv; p->sv = q->sv; q->sv = t.sv;
C : struct node *t; t = p; p = q; q = t;
D : a v b ng
p n : D.
Thi gian : 4.
im : 4
--------------------------------------------------------------------------------------------------------------------------------------Mc : 12 (Con tr v cu trc)
Cu : 10
Cu trc struct SV {char *hoten, lylich[1000];}; c dng
lu d liu v mt sinh vin v xut hin trong danh sch
lin kt c khai bo trong a, b, c, d. Trong cc khai bo
gi thit p, q l 2 con tr ang tr n 2 nt A v B ca
danh sch. Theo bn on chng trnh no di y dng
tro i d liu ca 2 nt A, B v chy nhanh nht ?
A : struct node {struct SV sv; struct node *tiep;} *p, *q;
struct node *t; t = p; p = q; q = t;
B : struct node {struct SV sv; struct node *tiep;} *p, *q;
struct SV *t; t = p->sv; p->sv = q->sv; q->sv = t;
C : struct node {struct SV* sv; struct node *tiep;} *p, *q;
struct node t; t.sv = p->sv; p->sv = q->sv; q->sv = t.sv;
D : struct node {struct SV* sv; struct node *tiep;} *p, *q;
struct SV t; t = *(p->sv); *(p->sv) = *(q->sv); *(q->sv) = t;
p n : C.
Thi gian : 4.
im : 4
45

--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 1
Chn cu ng nht trong cc cu sau y :
A : C quan nim tp gm 2 loi : loi tp nh phn v loi
tp vn bn
B : Th vin C cung cp 2 loi hm : cp 1- thao tc tp nh
mt dy byte khng kiu v cp 2 - nh tp cc d liu c
kiu
C : Bt k tp no cng c th quan nim l tp nh phn
li cng c th xem l tp vn bn
D : C a, b, c u ng
p n : D.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 2
Cho khai bo FILE *f; Chn cu ng nht trong cc cu
sau y :
A : C th m tp bt k bng cu lnh f =
fopen(tn_tp,"@") trong @ c th l wt, rt, wb hoc rb
B : Vi @ = wt (hoc rt) ch c dng m tp vn bn
nu khng C s bo li
C : Vi @ = wb (hoc rb) ch c dng m tp nh
phn nu khng C s bo li
D : Vi @ = w (hoc r) C s ngm nh f tr n tp nh
phn
p n : A.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 3
Gi s f l con tr tp kiu vn bn. ghi vo tp gi tr
ca mt bin x kiu float ta c th dng
A : fprintf(f,"%d",x)
46

B : fwrite(x, sizeof(float), 1, f);


C : c a v b ng
D : c a v b sai
p n : A.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 4
Gi s f l con tr tp kiu nh phn. c t f cho bin
x kiu int ta c th dng :
A : fscanf(f, "%d", x);
B : fread(&x, sizeof(int), 1, f);
C : getw(f);
D : b v c ng
p n : D.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 5
Chn cu ng nht trong cc cu sau y :
A : Khi c k t c m 1A t file vn bn C s c thnh k
t c m -1
B : Khi c t file vn bn c 2 k t OD v OA s c C c
thnh 1 k t m 0A
C : Khi c k t c m 0D t file vn bn C s b qua
D : C a, b, c u ng
p n : D.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 6
Chn cu ng nht trong cc cu sau y :
A : Khi ghi k t c m 0D ln file vn bn C s ghi thnh 2 m
0D v 0A
47

B : Khi ghi k t c m 0A ln file vn bn C s ghi thnh 2 m


0D v 0A
C : Khi ghi k t c m 1A ln file nh phn C s ghi thnh m
-1
D : C a, b, c, u ng
p n : B.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 7
Chn cu ng nht trong cc cu sau y : (gi thit c
khai bo FILE *f; v cu lnh f = fopen(tn_tp,"rb");)
A : Cu lnh fseek(f, 0, SEEK_END); s t con tr tp v
cui tp v di tp bng ftell(f)
B : Cu lnh fseek(f, -1, SEEK_END); s t con tr tp v
u tp v di tp bng ftell(f)
C : Cu lnh fseek(f, 1, SEEK_SET); s t con tr tp v
u tp
D : C a, b, c u ng
p n : A.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 8
Cho on lnh : FILE *f; f = fopen("VANBAN", "wt");
fputc('A', f); fputc(26, f); fputc(10,f); fputc('B',f);
f = fopen("NHIPHAN", "wb"); fputc('A', f); fputc(26, f);
fputc(10,f); fputc('B',f); fcloseall();
Chn cu ng nht trong cc cu sau y :
A : Tp VANBAN l dy byte 65, 26, 13, 10, 66
B : Tp NHIPHAN l dy byte 65, 26, 10, 66
C : a v b ng
D : a v b sai
p n : C.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------48

Mc : 13 (FILE)
Cu : 9
Cho khai bo FILE *f1, *f2; int c; v on lnh :
f1 = fopen("SOURCE","rt"); f2 = fopen("TARGET","wt"); while
((c = fgetc(f1) != EOF) fputc(c,f2); fcloseall();
Trong trng hp tng qut, hy cho bit trong cc khng
nh sau khng nh no ng :
A : di file SOURCE lun lun b hn di file TARGET
B : di file SOURCE lun lun bng di file TARGET
C : di file SOURCE ni chung s ln hn di file
TARGET
D : di file SOURCE ni chung s ln hn di file
TARGET 1 byte
p n : C.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 10
Cho khai bo FILE *f1, *f2; int c; v on lnh :
f1 = fopen("SOURCE","rb"); f2 = fopen("TARGET","wb");
while (!feof(f1)) fputc(fgetc(f1), f2); fcloseall();
Chn cu khng nh chnh xc nht trong cc cu sau
y :
A : di file SOURCE lun lun b hn di file TARGET
B : di file SOURCE lun lun bng di file TARGET
C : di file SOURCE lun lun b hn di file TARGET
1 byte
D : di file SOURCE ni chung s ln hn di file
TARGET
p n : C.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 11
Gi s tp DATA cha 5 byte 70, 26, 13, 10, 44. Cho on
lnh :
49

FILE *f; char ch; f = fopen("DATA", "wt"); while(!feof(f)) { ch


= fgetc(f); printf("%d ", ch); }; fclose(f);
Hy cho bit kt qu trn mn hnh ?
A : 70, 26, 13, 13, 10, 44
B : 70, 26, 13, 10, 44
C : 70, 26, 10, 44
D : 70, -1
p n : D.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 12
Cho tp nh phn DATA cha dy cc cu trc lin nhau :
struct T {....} x; v f l con tr tp tr n DATA
Chn cu ng nht trong cc cu sau y :
A : Lnh fseek(f, 10, SEEK_END) nh v con tr tp n
byte th 10 trong tp
B : on lnh fseek(f,0,SEEK_END); n = ftell(f)/sizeof(T) xc
nh n l s cu trc c trong tp
C : Gi s tp c n cu trc. Lnh fseek(f, n, SEEK_SET) s
t con tr tp n cu trc cui cng ca tp
D : on lnh m = ftell(f); seek(f, m, SEEK_CUR) s khng lm
thay i v tr con tr tp
p n : B.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 13
Cho khai bo : struct T {...} x, *p; v f l con tr tr n file
nh phn cha cc bn ghi kiu T.
Chn cu sai trong cc cu sau y :
A : on lnh fseek(f,0,SEEK_END); fseek(f,-ftell(f),SEEK_CUR)
tng ng vi lnh fseek(f,0,SEEK_SET);
B : on lnh fseek(f,0,SEEK_SET); fseek(f,ftell(f),SEEK_CUR)
tng ng vi lnh fseek(f,0,SEEK_END);
50

C : Lnh fread(a, sizeof(x), n, f) tng ng vi fread(a,


sizeof(x)*n, 1, f)
D : Lnh fread(&x, sizeof(x), 1, f); tng ng vi fread(&x, 1,
sizeof(x), f);
p n : B.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 14
Cho khai bo : struct T {...} x, *p = &x; v f l con tr tr
n file nh phn cha cc bn ghi kiu T.
Chn cu sai trong cc cu sau y :
A : on lnh m = ftell(f); fseek(f,-m,SEEK_CUR); tng ng
vi lnh fseek(f,0,SEEK_SET);
B : on lnh m = ftell(f); fseek(f,0,SEEK_END);
fseek(f,m,SEEK_SET)
tng
ng
vi
lnh
fseek(f,0,SEEK_CUR);
C : Lnh fwrite(&x, sizeof(p), 1, f); tng ng vi fwrite(p, 1,
sizeof(x), f);
D : Lnh fwrite(p, sizeof(x), n, f); tng ng vi fread(&x,
sizeof(x)*n, 1, f);
p n : C.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 15
Cho file DATA cha dy s nguyn, sau mi s (k c s cui
cng) l du xung dng. m s cc s (n) trong file,
on chng trnh no sau y ng ? (gi thit c
khai bo file FILE *f; int x, n = 0;)
A : f = fopen("DATA","r"); while (!feof(f)) { fscanf(f, "%d",
&x); n++;} fclose(f);
B : f = fopen("DATA","r"); while (1) { fscanf(f, "%d", &x); if
(feof(f)) break; n++;} fclose(f);
C : f = fopen("DATA","r"); while (1) { fscanf(f, "%d", &x); if (!
feof(f)) continue; n++;} fclose(f);
51

D : a v b ng
p n : B.
Thi gian : 3.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 16
Cho file DATA cha dy s nguyn, cc s cch nhau t nht
mt du cch v byte i lin sau s nguyn cui cng l 26.
tnh tng (s) ca dy s, on chng trnh no sau
y ng? (gi thit c khai bo file FILE *f; int x, s =
0;)
A : f = fopen("DATA","r"); while (!feof(f)) { fscanf(f, "%d",
&x); s += x;} fclose(f);
B : f = fopen("DATA","r"); while (1) { fscanf(f, "%d", &x); if
(feof(f)) break; s += x;} fclose(f);
C : f = fopen("DATA","r"); while (1) { fscanf(f, "%d", &x); if (!
feof(f)) continue; s += x;} fclose(f);
D : a v b ng
p n : A.
Thi gian : 3.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 17
Cho f l con tr tr n tp nh phn DATA cha khng qu
100 bn ghi (kiu cu trc) lin nhau : struct T {....};
Cho khai bo : struct T x[100]; int i = 0, n = 0;
on chng trnh no sau y c ton b cc bn ghi
ca DATA vo cho mng x ?
A : fread(a+i++, sizeof(T), 1, f); while (!feof(f)) fread(a+i++,
sizeof(T), 1, f); fclose(f);
B
:
fseek(f,0,SEEK_END);
n
=
ftell(f)/sizeof(T);
fseek(f,0,SEEK_SET); fread(a, sizeof(T), n, f); fclose(f);
C : a v b ng
D : a v b sai
p n : C.
Thi gian : 3.
im : 4
52

--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 18
Cho tp nh phn DATA cha dy cc cu trc lin nhau :
struct T {....} x; v f l con tr tp tr n DATA
on lnh no sau y dng sa cu trc th i ca tp ?
A : fseek(f, (i-1)*t, SEEK_SET); fread(&x, t, 1, f); fwrite(&x, t,
1, f) (gi thit t l kch thc ca cu trc T)
B : fseek(f, t, 1, SEEK_END); fwrite(&x, 1, f) (gi thit t l
kch thc ca cu trc T)
C : fseek(f, (n-1)*sizeof(T), SEEK_SET); fwrite(&x, 1, sizeof(T),
f)
D : t = sizeof(T); fseek(f, (i-1)*t, SEEK_SET); fwrite(&x, t, 1, f)
p n : D.
Thi gian : 4.
im : 4
--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 19
Gi s COEM l mt tp th, mi cu th nm trn mt
dng. Cho macro #define MAX 256. in bi th ra mn
hnh
mi cu trn mt dng, mt sinh vin vit on lnh di
y (sau khi c khai bo FILE *f; char dong[MAX];) :
f = fopen("COEM", "rt"); while (1) {fgets(dong, MAX, f); if
(feof(f) break; printf("%s\n",dong);} fclose(f);
Bn hy chn cu sai trong cc cu sau :
A : f = fopen("COEM", "rt"); while (!feof(f)) {fgets(dong, MAX,
f); printf("%s\n",dong);} fclose(f); cho kt qu nh trn
B : Du xung dng trong cu lnh printf("%s\n",dong); l
khng cn thit
C : Macro MAX c th ly gi tr tu ln hn 2 v nh hn
N no trong kh nng cho php ca b nh
D : i ch th "rt" (trong cu lnh fopen) thnh "r" khng
lm thay i kt qu ca chng trnh.
p n : A.
Thi gian : 4.
im : 4
53

--------------------------------------------------------------------------------------------------------------------------------------Mc : 13 (FILE)
Cu : 20
Cho macro #define MAX 256 v cc khai bo FILE *f; char
dong[MAX]; ghi mt bi th ni ting vo file THOTHO
mi cu trn mt dng, mt sinh vin vit on lnh nh
sau :
f = fopen("THOTHO", "wt"); while (1) {gets(dong); if
(dong[0]==0) break; fputs(dong, f);} fclose(f);
Hy chn cu sai trong cc cu sau y :
A : on lnh trn vit cha t yu cu
B : vit ng cn sa biu thc (dong[0]==0) bi
(strlen(dong)==0) hoc (dong[0]=='\0');
C : on lnh trn thiu cu lnh dong[strlen(dong)] = '\0';
trc cu lnh fputs(dong,f);
D : C th m file THOTHO vi ch th "w" thay cho "wt"
(trong cu lnh fopen)
p n : B.
Thi gian : 4.
im : 4
--------------------------------------------------------------------------------------------------------------------------------------Mc : 14 (Cc cu lnh r nhnh)
Cu : 1
Cho a, b l 2 s nguyn v on lnh :
if (a > b) if (a%2) c = a;
else c = b;
on lnh no di y s cho cng kt qu vi on lnh trn
:
A : if (a > b && a % 2 == 1) c = a; else if (a > b && a % 2
== 0) c = b;
B : if (a > b && a % 2 == 1) c = a; else if (a > b) c = b;
C : if (a > b && a % 2 == 1) c = a; else c = b;
D : a v b ng
p n : D.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------54

Mc : 14 (Cc cu lnh r nhnh)


Cu : 2
Cho cu lnh : switch (n) {case n1: n=1; case n2: n=2; ... ;
case nm: n=m; default : ...; }. Gi s n nhn gi tr
bng ni, vi ni l mt trong cc gi tr n1, n2, ..., nm (cc gi
tr ny khc nhau tng i mt).
Hy chn p n ng nht trong s cc p n v cch
thc hin ca cu lnh switch trn.
A : My s thc hin t cu lnh case u tin trong thn
switch cho n ht cc cu lnh ng sau case ni
B : My s thc hin t cu lnh case ni n ht cc cu
lnh ng sau default
C : My s thc hin t cu lnh case ni n ht cc cu
lnh ng sau case nm
D : My s thc hin ch nhng cu lnh ng sau case ni
p n : B.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 14 (Cc cu lnh r nhnh)
Cu : 3
Cho on lnh :
if (x > y) if (x) z = x;
else z = y;
on lnh trn l tng ng vi :
A : if (x!=0) z = (x > y) ? x : y;
B : if (x > y) z = (x!=0) ? x : y
C : z = (x > y && x) ? x : y
D : if (x <= y) z = (x!=0) ? x : y;
p n : B.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 14 (Cc cu lnh r nhnh)
Cu : 4
Trong mt s chng trnh dch, cc biu thc lgic ch c
nh gi t tri sang phi cho n khi c kt qu.
55

Vi a, b l 2 s nguyn, on lnh no trong p n l tng


ng vi :
if (a > b) if (a%2) c = a;
else c = b;
A : if (a <= b) c = b; else if (a % 2) c = a;
B : if (a % 2 == 0 && a > b) c = b; else c = a;
C : if (a > b) c = (a%2 == 1) ? a : b
D : b v c ng
p n : C.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 14 (Cc cu lnh r nhnh)
Cu : 5
Cho on lnh : if (x < y) if (!x) z = x;
else z = y;
on lnh no sau y l tng ng vi on lnh trn,
nu cc biu thc lgic ch c nh gi t tri sang phi
cho n khi c kt qu ?
A : if (x < y) z = (x==0) ? x : y
B : if (x < y && x!=0) z = y; else if (x==0) z = x;
C : if (x >= y) z = y; else if (x == 0) z = x;
D : a v b ng
p n : A.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 14 (Cc cu lnh r nhnh)
Cu : 6
Xt biu thc : c = (a == 0 && a < b) ? a : (a != 0 && a < b)
? b : c;
on lnh no di y cho ra kt qu ca c trng vi kt qu
c trong biu thc trn :
A : if (a < b) if (!a) c = a; else c = b;
B : if (a < b && !a) c = a; else if (a < b) c = b;
C : if (a < b && !a) c = a; else if (a < b && a) c = b;
D : a, b, c u ng
56

p n : D.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 14 (Cc cu lnh r nhnh)
Cu : 7
Cho biu thc : z = (x < y && !x) ? x : (x < y) ? y : z;
on lnh no di y cho ra kt qu ca z trng vi kt qu
z trong biu thc trn :
A : if (x < y) if (!x) z = x; else z = y;
B : if (x < y && x==0) z = x; else if (x < y) z = y;
C : if (x < y && x==0) z = x; else if (x < y && x!=0) z = y;
D : a, b, c u ng
p n : D.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 14 (Cc cu lnh r nhnh)
Cu : 8
Cho on lnh int x, y=0; switch (x) {case 1: y+=1; case 2:
y+=2; case 3: y+=3; case 4: y+=4; default : y+=5; }
Nu x nhn gi tr i (i l mt trong cc gi tr t 1 n 4)
th y nhn gi tr no trong cc gi tr sau y ?
A : 15 - i*(i-1)/2
B : i*(i+1)/2
C : 10 - i*(i-1)/2
D:i
p n : A.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 14 (Cc cu lnh r nhnh)
Cu : 9
Cho hm f : [-10,10] -> N, trong N l tp s nguyn v
qui c [x,y] l tp cc s nguyn nm gia x, y (k c
x, y nu x, y nguyn). tnh n = f(a) mt sinh vin vit
on chng trnh :
57

int a, n=0; switch (a) {case -1: n-=a; case -2: n-=a; break;
case 1:n+=a; break; case 2: n+=a; default : n+=a; }
Bn hy cho bit v hm f ?
A : f(a) = a vi mi a
B : f(a) = a vi a thuc [-2, 2] v f(3) = 3
C : f(-1) = f(-2) = -3; f(1) = 1, f(2) = 4; f(a) = a vi a thuc [10,10] \ [-2,2]
D : f(-1) = f(-2) = -3; f(1) = f(2) = 3; f(a) = a vi a thuc [10,10] \ [-2,2]
p n : C.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 14 (Cc cu lnh r nhnh)
Cu : 10
tnh y = f(x), (vi f(x) cho trc v x = 1,2,3,4) ch bng
cu lnh gn v switch mt sinh vin vit on
chng trnh nh sau : int x, y=0; switch (x) {case 1: y+=1;
case 2: y+=2; case 3: y+=3; case 4: y+=4;}. on chng
trnh ny s dng switch vi 4 nhnh case. Nu phi vit
gn li on chng trnh trn m vn gi switch v khng
thm cc lnh khc th bn c th gim c ti a bao
nhiu nhnh case ?
A:4
B:3
C:2
D:1
p n : A.
Thi gian : 2.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)
Cu : 1
Cho cu lnh lp : for (bt1; bt2; bt3) khi_lnh ;
Bn hy cho bit trnh t thc hin ca cu lnh lp ny :
A : bt1, bt2 (nu ng th tip tc nu sai th dng), khi
lnh, bt3 --- v lp li vng mi t bt1
58

B : bt1, bt2 (nu ng th tip tc nu sai th dng), khi


lnh, bt3 --- v lp li vng mi t bt2
C : bt1, bt2 (nu ng th tip tc nu sai th dng), bt3,
khi lnh --- v lp li vng mi t bt1
D : a, b, c, u sai
p n : B.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)
Cu : 2
y l on chng trnh vit sai : int i = 0; while (1)
{printf("%d",++i);}
Theo bn c th sa li chng trnh in chnh xc 50 s
nguyn u tin theo cch :
A : thay while (1) bi while (i <= 50)
B : b sung thm cu lnh if (i <= 50) continue; vo sau
cu lnh printf
C : b sung thm cu lnh if (i > 50) break; vo sau cu
lnh printf
D : C a, b, c u sai
p n : C.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)
Cu : 3
Cho cu lnh lp : for (bt1; bt2; bt3) khi_lnh ;
Cu no sai trong cc cu sau :
A : Bt k biu thc no trong 3 biu thc bt1, bt2, bt3 u
c quyn vng mt tr cc du chm phy
B : C th chuyn bt3 v cui khi_lnh m chng trnh
vn khng b thay i
C : Khng c php thay bt2 bng mt hng thc khc 0
D : Mi biu thc bt1, bt2, bt3 thc cht c th l mt dy
biu thc cch nhau bi du phy
p n : C.
Thi gian : 1.
im : 1
59

--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)


Cu : 4
Cho cu lnh do {.....} while (bt); Gi thit cu lnh ny
vit ng c php v bt l mt biu thc nhn gi tr 1 trc
khi thc hin cc lnh trong thn do. Hy cho bit cu sai
trong cc cu sau y :
A : Kt thc vng lp gi tr ca bt l 0
B : Kt thc vng lp gi tr ca bt c th khc 0
C : Cu lnh trn l tng ng vi : while (bt) {.....}
D : Cu lnh trn l tng ng vi : for (;bt;) {.....}
p n : B.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)
Cu : 5
Cho hm f c nh ngha :
long f(int m, int n) {for (kq = 0; m; m >>= 1, n <<= 1) if (m
%2) kq += n; return kq;}
Gi tr ca f(12,7) ?
A : 84
B:0
C : 148
D : 19
p n : A.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)
Cu : 6
Cho vng lp : for (int i=0; i<6; ++i) a[i++] = i; trong a
l mng 6 phn t nguyn. Khi gi tr ca mng a l :
A : 0,1,2,3,4,5
B : 1,2,3,4,5,6
C : 0,x,2,y,4,z trong x,y,z l cc gi tr khng c nh
60

D : 1,x,3,y,5,z trong x,y,z l cc gi tr khng c nh


p n : C.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)
Cu : 7
Cho on chng trnh : int i=1, s = 0; while (s += i, i++ <
4);
Chn cu ng nht trong cc cu sau y :
A : Cu lnh while sai c php
B : Thc hin xong on lnh ta c i = 4 v s = 10
C : Cu lnh while trn tng ng vi while (i++ < 4) s
+= i;
D : Nu thay i++ trong while bi ++i ta c kt qu i = 4 v
s=6
p n : D.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)
Cu : 8
Hy tm nhn xt chnh xc nht khi c on lnh sau :
int s=0, i=0; while ((s += ++i) < 1000);
A : i l s ln lp ca chng trnh, s l s nguyn u tin
tng cc s nguyn t 1 n s vt qu 1000
B : i l s nguyn ln nht tho 1 + 2 + ... + i < 1000, s l
tng ca dy s cp s cng bt u t 0, cng bi 1
C : i l s ln lp ca chng trnh, s = 1 + 2 + ... + i +
(i+1)
D : i l s nguyn b nht 1 + 2 + ... + i > 1000, s l
tng ca i s nguyn u tin
p n : B.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)
Cu : 9
61

on lnh char c; int i = 0; while ((c = getchar()) != '0') i++;


cho gi tr ca i tng ng vi i trong on lnh :
A : char c; int i = 0; while (i++, (c=getchar())!='0');
B : char c; int i = 0; while (++i, (c=getchar())!='0');
C : char c = 0; int i = 0; while (c!='0') {c=getchar(); i++};
D : Gi tr ca i khng tng ng vi c 3 on lnh trong
a, b, c
p n : D.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)
Cu : 10
Cho khi to : int i = 0; v 3 on lnh :
1 : do {i++; } while (i<10);
2 : for ( ; i<10; ) {i++;}
3 : while (i<10) {i++;}
Chn cu ng nht trong cc cu sau y :
A : 1 tng ng vi 2
B : 2 tng ng vi 3
C : 3 tng ng vi 1
D : C 3 on lnh trn l tng ng (tc cho ra cng mt
gi tr i)
p n : D.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)
Cu : 11
Cho khai bo int i, j, t; v mng x cha 10 s nguyn.
Cho vng lp : for (i=0, j=9; i<j; i++, j--) {t = x[i]; x[i] =
x[j]; x[j] = t;}
Vng lp ny l tng ng vi vng lp no di y :
A : for (i=0, j=9; i<j; i++, j--,t = x[i], x[i] = x[j], x[j] = t)
B : for (i=0, j=9; i<j; ) {i++; j--;t = x[i]; x[i] = x[j]; x[j] = t;}
C : for (i=0, j=9; i<j; t = x[i]; x[i] = x[j]; x[j] = t; i++, j--;)
D : for (i=0, j=9; i<j; t = x[i], x[i] = x[j], x[j] = t, i++, j--)
p n : D.
Thi gian : 3.
im : 3
62

--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)


Cu : 12
Cho khai bo int i=0, j=9, t; v mng x cha 10 s nguyn.
Cho vng lp : for (;;) {t = x[i]; x[i] = x[j]; x[j] = t; if (++i
>= --j) break;}
Vng lp ny l tng ng vi vng lp no di y :
A : for (; i<j; i++, j--) {t = x[i]; x[i] = x[j]; x[j] = t;}
B : for (; i<j; ) {i++; j--;t = x[i]; x[i] = x[j]; x[j] = t;}
C : for (; i<j; t = x[i]; x[i] = x[j]; x[j] = t; i++, j--;)
D : for (; i<j; i++, j--,t = x[i], x[i] = x[j], x[j] = t)
p n : A.
Thi gian : 3.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)
Cu : 13
Xu y c to t vic ghp xu x vi k t '#'. Trong trng
hp tng qut nht sinh vin no sau y ng ?
Sinh vin 1 : int i = 0; for (;i<strlen(x);) y[i] = x[i++] ; y[i++]
= '#'; y[i++] = '\0'; puts(y);
Sinh vin 2 : int i = 0; while (i<strlen(x)) y[i] = x[i++] ; y[i+
+] = '#'; y[i++] = '\0'; puts(y);
Sinh vin 3 : int i = 0; do y[i] = x[i++] ; while (i<strlen(x)) ;
y[i++] = '#'; y[i++] = '\0'; puts(y);
A : Sinh vin 1 v 2 ng
B : Sinh vin 2 v 3 ng
C : Sinh vin 3 v 1 ng
D : C 3 sinh vin u ng
p n : A.
Thi gian : 3.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)
Cu : 14
63

Cho mng int a[1000]; l dy s nguyn sp xp tng.


tm v tr ca s 0 u tin, theo bn on chng trnh
no
sau y ti u nht ?
A : for (int i = 0; i<1000 ; i++) {if (!a[i]) printf("%d",i);
break; }; if (i==1000) printf("Khng c s 0 trong dy");
B : int i = 0; while (a[i] && i<1000) {i++;} if (i!=1000)
printf("%d",i); else printf("Khng c s 0 trong dy");
C : int i = 0; while (a[i] < 0 && i<1000) {i++;}; if (a[i]==0)
printf("%d",i); else printf("Khng c s 0 trong dy");
D : int i = 0; do i++; while (a[i] && i<1000); if (a[i]==0)
printf("%d",i); else printf("Khng c s 0 trong dy");
p n : C.
Thi gian : 3.
im : 4
--------------------------------------------------------------------------------------------------------------------------------------Mc : 15 (Cc cu lnh lp)
Cu : 15
Cho khai bo int i = 0; v cc vng lp :
1: for (i=0; 1 ;i+=2) {printf("%d",i);}
2: for
(i=1; ; i++) {printf("%d",2*i); if (i>10) break;}
3: for (; ;) {i+=2; if (i>10) break; printf("%d",i);}
4: for
(;i<11;) {i++; if (i%2) continue; printf("%d",i);}
Vng lp no cho kt qu ging vi vng lp : for (i=1;
i<6 ; i++) {printf("%d",2*i);}
A : 1,2
B : 3,4
C : 1,3
D : 2,4
p n : B.
Thi gian : 3.
im : 4
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 1
thay i gi tr ca tham i, cc i ca hm cn khai
bo di dng :
A : bin bnh thng v tham i c truyn theo gi tr
64

B : bin con tr v tham i c truyn theo a ch


C : a v b ng
D : a v b sai
p n : B.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 2
Chn cu sai trong cc cu sau y :
A : Hm khng tr li gi tr khng cn khai bo kiu gi tr
ca hm
B : Cc bin c khai bo trong hm l cc b, s t xo khi
hm thc hin xong
C : Hm khng tr li gi tr s c kiu gi tr ngm nh l
void
D : Hm l n v c lp, khng c khai bo hm lng
nhau
p n : A.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 3
Chn cu ng nht trong cc cu sau y :
A : Hm phi c kt thc vi 1 cu lnh return;
B : Phi c t nht 1 cu lnh return; cho hm
C : Cc cu lnh return c php nm v tr bt k trong
thn hm
D : Khng cn khai bo kiu gi tr tr li ca hm nu hm
khng c lnh return
p n : C.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 4
Chn cu sai trong cc cu sau y :
65

A : S tham s thc s phi bng s tham s hnh thc


trong li gi hm
B : Cc bin cc b trong thn hm c chng trnh dch
cp pht trc b nh
C : Cc tham s hnh thc s c cp pht b nh tm thi khi
hm c gi
D : Kiu ca tham s thc s phi bng kiu ca tham s
hnh thc tng ng vi n trong li gi hm
p n : B.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 5
Chn cu ng nht trong cc cu sau y :
A : Danh sch cc tham i hnh thc ca hm khi khai bo
phi cch nhau bi du chm phy (;)
B : Hm khng i khng cn khai bo i (k c cp du
ngoc) v d void xoa_man_hinh;
C : Trong khai bo nguyn mu (prototype) c th b qua tn
i, ch cn khai bo kiu ca i
D : Trong khai bo u nh ngha hm c th b qua
kiu ca i, ch cn khai bo tn i
p n : C.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 6
i ca hm c th l :
1: cu trc
2: con tr cu trc
3: mng cu trc
4: mng cc con tr cu trc
A : 1, 2, 3, 4 ng
B : 1, 2, 3 ng
C : 1, 2 ng
D : 1 ng
p n : A.
Thi gian : 1.
im : 2
66

--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 7
Gi tr ca hm c th l :
1: cu trc
2: con tr cu trc
3: mng cu trc
4: mng cc con tr cu trc
A : 1 ng
B : 1, 2 ng
C : 1, 2, 3 ng
D : 1, 2, 3, 4 ng
p n : B.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 8
vit hm gii phng trnh bc 2 ta cn 5 tham i a, b,
c, x1, x2 tng ng vi 3 h s v 2 nghim ca phng trnh
Trong 5 tham i ny cn khai bo dng con tr cho :
A : c 5 tham i
B : ch vi a, b, c
C : ch vi x1, x2
D : khng phi khai bo dng con tr
p n : C.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 9
Cho hm ghpt c 6 tham i theo th t a,b,c,d,x,y dng
gii h phng trnh tuyn tnh vi cc h s a, b, c, d v
2 n x, y. Cho a, b, c, d, x, y l 6 bin thc. Trong cc li gi
n hm ghpt sau y li gi hm no ng ?
A : ghpt(a, b, c, d, x, y);
B : ghpt(&a, &b, &c, &d, x, y);
C : ghpt(a, b, c, d, &x, &y);
67

D : ghpt(&a, &b, &c, &d, &x, &y);


p n : C.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 10
Trong cc khai bo sau y, c bao nhiu khai bo b sai ?
1: void diov(void, void);
2: int tni(int, int, int);
3: tni(int, int, int);
4: float taolf(float, void);
5: taolf();
6: char rahc(int a; char b);
A:0
B:1
C:2
D:3
p n : D.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 11
Cho 2 hm cng v nhn 2 s nguyn c nh ngha nh
sau :
long cong(int a, int b) { return a+b; }
long nhan(int a, int b) { return a*b; }
Cho i=2 v j=3. Tnh gi tr ca cong(i++, j++) + nhan(i+
+,j++) ?
A : 11
B : 17
C : 19
D : 27
p n : B.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 12
68

Cho 2 hm cng v nhn 2 s nguyn c nh ngha nh


sau :
long cong(int a, int b) { return a+b; }
long nhan(int a, int b) { return a*b; }
Cho i=1 v j=2. Tnh gi tr ca cong(i++, j) + nhan(i,j+
+) ?
A:5
B : 11
C:9
D:7
p n : D.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 13
Cho phng trnh f(x) = 0 lin tc trn on [a,b] v f(x).f(y)
< 0. Gi s chiadoi l mt hm cho php tm nghim ca
hm f(x) bng phng php chia i. Gi s cn tm
nghim ca 3 hm sin(x), cos(x), tan(x) trn on [-1,1]
bng
phng php chia i. Trong trng hp ny theo bn khai bo
no di y gip bn vit chng trnh gn gng nht ?
A : float chiadoi(float (*f)(float x), float a, float b);
B : float chiadoi(float (*f)(float x, float a, float b));
C : float chiadoi(float f(float x), float a, float b));
D : float chiadoi(float f(float x, float a, float b));
p n : A.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 14
Gi s double tp(double (*f)(double), double, double) l hm
tnh tch phn hm f trn on [a,b]. tnh tch phn
hm exp(x) trn on [0,2], li gi hm no sau y
ng ?
A : tp(exp(x), 0, 2);
69

B : tp(exp, 0, 2);
C : tp(&exp(x), 0, 2);
D : tp(&exp, 0, 2);
p n : B.
Thi gian : 2.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 15
Xt hm : void f(float *a, float *b) {*a = (*a + *b)/2; *b -= *a
; *a += *b ; *b = *a - 2* *b;}
Gi s x v y v hai bin kiu float. Kt qu thc hin ca
li gi f(&x, &y) l tng ng vi :
A : Li gi g(&x,&y); vi g l hm : void g(float *a, float *b)
{float temp = *a; *a = *b; *b = temp;}
B : Li gi H(x,y); vi H l macro : #define H(a,b) {float t = a;
a = b; b = t;}
C : a v b ng
D : a v b sai
p n : C.
Thi gian : 3.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 16
Hm no trong cc hm f, g, h cho kt qu l c chung ln
nht ca 2 s nguyn dng x, y vi x>y :
int f(int m, int n) {for (int t = 1 ; t ; ) {t = m % n ; m = n ; n =
t ; } return m ; }
int g(int m, int n) {int t = 1 ; while (t) {t = m - n ; m = n ; n =
t ; } return m; }
int h(int m, int n) {int t = 1 ; do {t = m - n ; m = n ; n = t ; }
while (t) ; return m; }
A : Hm f
B : Hm g
C : Hm h
D : Cc cu a,b,c u ng
p n : A.
Thi gian : 3.
im : 3
70

--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 17
Hm no trong cc hm f, g, h cho kt qu l c chung ln
nht ca 2 s nguyn dng x, y vi x>y :
int f(int m, int n) {for (int t = 1 ; t ; ) {t = m % n ; m = n ; n =
t ; } return m ; }
int g(int m, int n) {int t = 1 ; while (t) {t = m % n ; m = n ; n
= t ; } return m; }
int h(int m, int n) {int t = 1 ; do {t = m % n ; m = n ; n = t ; }
while (t) ; return m; }
A : Hm f v hm g
B : Hm g v hm h
C : Hm h v hm f
D : Cc cu a,b,c u ng
p n : D.
Thi gian : 3.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 18
Cho a,b l 2 bin nguyn. Cho hm f, g v macro h c
nh ngha di. Hy chn cu ng nht
long f(int m, int n) {for (long kq = 0; m; m >>= 1, n <<= 1)
if (m%2) kq += n; return kq;}
long g(int m, int n) {return m*n;}
#define h(m,n) ((m)*(n))
A : f(a, b) = g(a, b)
B : g(a, b) = h(a, b)
C : h(a, b) = f(a, b)
D : a,b,c ng
p n : D.
Thi gian : 3.
im : 3
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
71

Cu : 19
in tng ch s ca s unsigned long n ta s dng hm
qui :
void in(unsigned long n) { unsigned i; if ((i=n/10)!=0) in(i);
putchar(n%10+'0'); }
Hm ny l tng ng vi :
A : void in(unsigned long n) { unsigned i; if ((i=n/10)!=0)
in(i); else putchar(n%10+'0'); }
B : void in(unsigned long n) { unsigned i; if ((i=n/10)==0)
putchar(n%10+'0'); else in(i); }
C : void in(unsigned long n) { unsigned i=n/10; if (i==0)
putchar(n%10+'0'); in(i); }
D : C a, b, c u sai
p n : D.
Thi gian : 4.
im : 4
--------------------------------------------------------------------------------------------------------------------------------------Mc : 16 (Hm)
Cu : 20
Hm qui :
int UCLN(int m, int n) {int a, b; a = (m>n)?m:n ; b = (m<n)?
m:n ; if (b==0) return a; else UCLN(b, a%b); }
dng tnh c chung ln nht ca 2 s m, n. Hy cho bit
hm no sau y l tng ng vi hm trn ?
A : int UCLN(int m, int n) {int a, b; a = (m>n)?m:n ; b =
(m<n)?m:n ; if (b==0) return a; UCLN(b, a%b); }
B : int UCLN(int m, int n) {int a, b; a = (m>n)?m:n ; b =
(m<n)?m:n ; if (b!=0) UCLN(b, a%b); else return a; }
C : int UCLN(int m, int n) {int a, b; a = (m>n)?m:n ; b =
(m<n)?m:n ; if (b!=0) UCLN(b, a%b); return a; }
D : a v b ng
p n : A.
Thi gian : 4.
im : 4
--------------------------------------------------------------------------------------------------------------------------------------Mc : 17 (Cc ch th tin x l)
Cu : 1
72

Chn cu ng nht trong cc cu sau v cng dng ca


ch th #include <tp>
1: Cho php s dng cc tp tiu ca C (*.h)
2: Cho
php ghp ni nhiu tp thnh mt tp
3: Lm cho chng trnh gn hn
4: Lm
cho chng trnh dch nhanh hn
A : 1, 2 ng
B : 1, 2, 3 ng
C : 1, 2, 3, 4 ng
D : C a, b, c u sai
p n : B.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 17 (Cc ch th tin x l)
Cu : 2
Chn cu ng nht trong cc cu m t kh nng ca
macro :
A : C th vit macro thay cho cc hm n gin ngn gn
B : C th thay th cho mt biu thc bi mt macro
C : C th thay cc bin ngoi const bi cc macro cng tn
D : a, b, c u ng
p n : D.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 17 (Cc ch th tin x l)
Cu : 3
Chn cu ng nht trong cc cu sau y :
A : Ch th #include "tp" bo cho b dch tm tp trong
th mc hin ti nu khng c s tm trong th mc INCLUDE
ca C
B : Ch th #include <tp> bo cho b dch tm tp trong
th mc hin ti nu tn tp khng i km ng dn
C : Ch th #include "tp" bo cho b dch tm tp trong
th mc hin ti nu khng c s bo li
D : Ch th #include <tp> cho php a tn ng dn vo
trong <>
73

p n : A.
Thi gian : 1.
im : 1
--------------------------------------------------------------------------------------------------------------------------------------Mc : 17 (Cc ch th tin x l)
Cu : 4
Chn cu sai trong cc cu sau v ch th :
#ifdef tn_gi
on_lnh
#endif
A : C th nh ngha tn_gi bi ch th #define tn_gi
B : Nu tn_gi c nh ngha th on_lnh s c
dch, nu khng on lnh ny s b b qua
C : Trong khi chy chng trnh nu tn_gi cha c nh
ngha th chng trnh khng thc hin on_lnh
D : nh ngha trn l tng ng vi :
#ifndef tn_gi
#else
on_lnh
#endif
p n : C.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 17 (Cc ch th tin x l)
Cu : 5
Chn cu ng nht trong cc cu sau v ch th :
#ifndef tn_gi
on_lnh
#endif
A : nh ngha trn l tng ng vi :
#ifdef tn_gi
#else
on_lnh
#endif
B : Trong khi chy chng trnh nu tn_gi cha c nh
ngha th chng trnh thc hin on_lnh
74

C : C th nh ngha tn_gi bi ch th #define tn_gi


dy_k_t_bt_k
D : a v c ng
p n : D.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 17 (Cc ch th tin x l)
Cu : 6
vit macro tnh bnh phng mt s, ta c th vit :
A : #define SQR(n) ((n)*(n))
B : #define SQR(n) (n*n)
C : #define SQR(n) (n)*(n)
D : #define SQR(n) ((n*n))
p n : A.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 17 (Cc ch th tin x l)
Cu : 7
Mt macro tnh bnh phng c nh ngha :
#define SQR(i) ((i)*(i)). Cho i=1. Gi tr ca SQR(i++) ?
A:1
B:2
C:3
D:4
p n : B.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 17 (Cc ch th tin x l)
Cu : 8
Mt macro tnh bnh phng c nh ngha :
#define SQR(i) ((i)*(i)). Hi gi tr ca SQR(++i) vi i=1 ?
A:2
B:4
C:6
D:8
75

p n : C.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 18 (Cc loi bin v t kho)
Cu : 1
Chn cu sai trong cc cu sau v bin cc b :
A : L bin c khai bo bn trong mt hm hay mt khi
B : Phm vi hot ng l bn trong hm hay khi cha n
C : V tr lu tr l b nh heap khi hm c gi hoc khi
cha n c thc hin
D : Thi gian tn ti ch trong thi gian thc hin hm hay
khi cha n
p n : C.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 18 (Cc loi bin v t kho)
Cu : 2
Chn cu ng nht trong cc cu sau y v bin cc
b :
A : Khng c khai bo trng tn vi bin ngoi
B : c php khai bo trng tn vi tham i ca hm cha n
C : S b xa khi chng trnh thc hin xong hm hoc
khi lnh cha n
D : Gi tr hm c th l con tr tr n mt bin cc b
ca n
p n : C.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 18 (Cc loi bin v t kho)
Cu : 3
Chn cu sai trong cc cu sau y v bin ngoi :
A : L bin khai bo bn ngoi tt c cc hm hoc trong
hm main()
B : c lu tr trong vng b nh d liu (cp pht tnh) ca
chng trnh
76

C : Phm vi hot ng t v tr khai bo n cui tp vn


bn chng trnh
D : Tn ti trong sut thi gian chng trnh lm vic
p n : A.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 18 (Cc loi bin v t kho)
Cu : 4
Chn cu ng nht trong cc cu sau y v bin ngoi
(hay bin ton th) :
A : C gi tr khng nu cha khi u i vi kiu s
B : Gi tr hm c th l con tr tr n mt bin ngoi
C : Nu trng tn vi tham i ca hm th hm s truy nhp
c (c/ghi) gi tr ca bin ngoi
D : Mt hm c quyn khai bo bin trng tn vi bin ngoi
v t c th thay i gi tr ca bin ngoi
p n : B.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 18 (Cc loi bin v t kho)
Cu : 5
Chn cu ng nht trong cc cu sau y v bin
extern :
A : Dng chung cho cc hm c vit trn nhiu tp khc
nhau
B : Nu tp mun dng bin x khai bo trong cc tp khc
th x phi c khai bo trong tp vi t kho extern
C : Nu tp mun cc tp khc dng c bin x th x phi
c khai bo trong tp vi t kho extern
D : Phm vi hot ng l trong hm hoc khi n c khai
bo
p n : B.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 18 (Cc loi bin v t kho)
Cu : 6
77

Chn cu sai trong cc cu sau y v t kho extern :


A : C th khai bo bn ngoi tt c cc hm
B : C th khai bo bn trong mt khi lnh
C : Mt con tr hoc hm cng c th c khai bo vi t
kho extern
D : Nu 2 tp mun dng chung bin x th x c khai bo vi
t kho extern trong c 2 tp
p n : D.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 18 (Cc loi bin v t kho)
Cu : 7
Chn cu sai trong cc cu sau y v bin static :
A : Cho php khai bo trong mt hm hoc ngoi tt c cc
hm
B : Khai bo trong mt hm s c cp pht b nh c nh
khi dch
C : Phm vi hot ng ch bn trong hm n c khai bo
D : Thi gian tn ti ch trong khi thc hin hm m n c
khai bo
p n : D.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------Mc : 18 (Cc loi bin v t kho)
Cu : 8
Chn cu ng nht trong cc cu sau y v t kho
static :
A : Gi tr ca bin static vn gi khi chng trnh thc hin
xong hm cha n
B : Bin kiu static c khi to mi khi chng trnh thc
hin n hm cha n
C : Khng c php s dng t kho static i vi hm
D : c php dng t kho extern i vi cc bin static
p n : A.
Thi gian : 1.
im : 2
--------------------------------------------------------------------------------------------------------------------------------------78

ph lc I . Hng dn cch lm bi
Nguyn tc : Chn phng n ng nht v y
nht trong cc phng n A, B, C, D
V d 1 : 2 l mt s :
A. nguyn
B. chn
C. a v b ng
D. a v b
sai
Tr li : C 3 phng n ng (A, B, C) nhng phng n C l
khng nh y nht. Vy cu tr li l C
V d 2 : 3 l mt s :
A. chn
B. a v d sai C. nguyn t
ca 1 + 1
Tng t v d 1, cu tr li l B

D. L hu qu

V d 3 : Theo bn :
A. Sa c mu trng, v ngt, hng thm, bao b p B.
Sa c mu trng, v ngt, hng thm
C. Sa c mu trng, v ngt
D. Sa c mu
trng
Hin nhin c 4 phng n u ng. Tuy nhin phng n A
l y nht. Do cu tr li l A.
Trong trng hp bao b khng p th bn chn B.
V d 4 : 1+1 tng ng vi :
A. 0+2
B. 3-1
C. cn 2 bnh phng D. a, b, c
u ng
Chn D
V d 5 : Bn s chn iu no sau y ?
A. Tin bc B. Danh vng
C. Quyn lc
D. o c
Bn c quyn chn A, B, C nhng nu p n ghi sn, v
d D, th bn khng c im cu ny
Chn D
79

---------------------------------------------------------------------------------------------------------------------------------------

ph lc II . Thng k v s cu mi loi (theo


mc, thi gian, im, p n)
M Tn mc
c
1

Hng,
kiu

T
1
bin, 6

T T T D D D D A B C D T
2 3 4 1 2 3 4

ng
6 4

3 3 2 2 10

Php ton, biu 4


thc

6 4 1 2 7

5 1 3 4 4 4 15

Cc hm vo/ra 6
c bn

4 4

2 2 2 2 8

Mng (1 v 2 6
chiu)

3 5

2 2 2 2 8

Xu k t

4 2

Kiu d liu 6
cu trc (struct)

4 6

Kiu d liu 3
hp (union)

1 5

2 3 2 3 10

Kiu d liu 2
cu trc nhm
bit

1 2 1 1 5

Kiu d
con tr

liu 9

4 1

4 9

4 3 3 4 14

10

Con
tr
mng

v 1
0

5 1

4 1
0

4 4 4 4 16

11

Con tr v xu

2 3

12

Con tr v cu 1
trc

3 2 4 1 1

2 6 3 2 3 2 10

13

FILE

7 3 3 4 6

6 4 5 5 5 5 20

80

2 2 2 2 8
3 2 3 2 10

1 1 2 1 5

14

Cc cu lnh r 2
nhnh

15

Cc cu lnh 4
lp

6 5

3 7

3 2 3 4 4 4 15

16

Hm

5 4 2 5 9

4 2 5 5 5 5 20

17

Cc ch
tin x l

th 8

3 5

2 2 2 2 8

18

Cc loi bin v 8
t kho

2 2 2 2 8

1
0
0

7 2 1 5 1
0 0 0 0 0
0

T
ng
=

3 2 2 3 10

3 1 5 5 5 5 20
5 5 0 0 0 0 0

Ghi ch :
- T1, T2, T3, T4 : S cu c thi gian cho php l 1, 2,
3, 4 giy suy ngh v quyt nh
- D1, D2, D3, D4 : S cu c im l 1, 2, 3, 4
- A, B, C, D : S cu c p n l A, B, C, D.

81

Você também pode gostar