|
一、单选题(共 20 道试题,共 100 分。)V 1. 若有说明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙述正确的是( )。2 G: ]) {. g, z/ T% T
A. *pc[0]代表的是字符串"aaa
/ b. t1 d+ N2 S0 t- `2 V9 pB. *pc[0]代表的是字符'a'% A+ r! k; S# P, ?% r# D, q
C. pc[0]代表的是字符串"aaa"
0 P9 @4 d0 n1 [: m' H: FD. pc[0]代表的是字符'a': U) Q* e6 T: M9 |
满分:5 分; C/ S- ]9 e8 m) r3 A
2. 以下判断正确的是( )。
/ Z' {/ s# I7 _9 K( tA. char *s="string"; 等价于char *s; *s="string";
- f3 a( J& ^" oB. char str[10]={"string"}; 等价于char str[10]; str={"string"};0 h# U) b1 a/ S1 H, U: k2 n
C. char *s="string"; 等价于char *s; s="string";8 v4 u0 g$ L) g* C- e
D. char str[10]={"string"}; 等价于char str[10]; *str={"strint"};"1 @* S) I' m7 J" ]' Q/ p
满分:5 分 G4 ~, e) Y) |5 t" }
3. 若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。( L( I3 R9 |# k4 X8 a' m, x
A. *(a+1) ~/ g- X) P Y% r
B. *(a[1]+2)
1 g$ i9 b$ I% O6 k7 i( HC. a[1]+39 [1 K" m: f1 o. K/ H" ~
D. a[0][0]5 }4 R( o( p7 H7 i: ?
满分:5 分
. o* a+ ]" I. D9 W8 q+ X+ m4. C语言结构体类型变量在程序执行期间( )。9 I7 P2 E8 j6 } O
A. 所有成员一直驻留在内存中
+ i" d( d W+ e+ i, n) q* zB. 只有一个成员驻留在内存中& |; Y n4 p+ ~
C. 部分成员驻留在内存中8 [, L- ?' B1 `( h6 T- f2 g& `
D. 没有成员驻留在内存中
" z- A3 @/ g s( D- U$ [ 满分:5 分9 f8 M- [+ y7 o9 y( q# K N+ c
5. 下面程序的运行结果是( )。 main( ) { int b[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int *q=b; printf("%d\n", *(q+2) );}
% o$ n9 f" @# v5 h" |) wA. 1
: l/ ]8 l, h" k& B5 `B. 2
8 z% C+ x; j4 E4 h/ A$ NC. 33 c+ ^, t8 _+ u+ w, [- G
D. 4
2 ~9 m9 U5 I9 A# E' g5 Y+ ] 满分:5 分8 W/ M& P: i' O! V. a6 q4 Z: q
6. 以下正确的描述是( )。
) Z/ b2 P2 _$ e9 Y" i' yA. 定义函数时,形参的类型说明可以放在函数体内" G; c( E. ^: ]- n/ x* A5 u; g; M
B. return后面的值不能为表达式6 Y" {. x' i5 p$ d: M* k
C. 如果函数值的类型与返回值类型不一致,以函数值类型为准
9 Z! h: b: o z& Y" t& M# |D. 如果实参与形参的类型不一致,以实参类型为准) r* i( G# _8 \) I4 U( ?; B Y
满分:5 分2 Q- ?* o% `4 |: R; H6 I- U: z9 H: p1 K
7. 以下为一维整型数组a的正确说明是( )。
' n$ [! l; P8 r+ X z0 RA. int a(10);
9 M0 j/ a0 _/ D, O7 T* YB. int n=10,a[n];, Y! h! h& l' k# u& ~3 J
C. int n; scanf("%d",&n); int a[n];
. C6 {" ?3 w9 r6 w3 _% N; |D. #define SIZE 10;int a[SIZE];
' c" L0 x& i; S. v9 [ 满分:5 分
% u9 {3 Q: H; H! b Y' C0 q+ [8. 执行以下程序后,m的值是( )。 #define MIN(x, y) (x)<(y) ? (x) : (y) main( ) { int i=12, j=8, m; m=10*MIN(i, j); printf("%d\n", m); }0 l: G( B' G8 ^9 w
A. 120' K" }' H* g7 ], D% {
B. 80( L- [" i" r* H+ C, Z/ [* p* P
C. 12
5 ]5 f( V5 b" z% t* P' L1 OD. 84 S4 y: U" c5 ]/ d4 W7 M4 `
满分:5 分; d( w! R. X/ ^# V
9. 以下正确的函数形式是( )。% g) Y! r- y2 O r) ]6 c d
A. double fun1(int x, int y) { z=x+y; return z; }2 c# G0 Z- A9 a9 N
B. fun1(int x, y){ int z;return z; }3 K, u9 ^6 n' X; K* Q
C. fun1(x, y) { int x, y; double z;z=x+y;return z; }4 V# {" O8 J1 | G
D. double fun1(int x, int y){ double z;z=x+y; return z; }"
: [! E" k. `, V+ o4 q0 v 满分:5 分2 I) o# c0 S. C' k& E$ u
10. 若有定义:int i, x[3][4];,则不能将x[1][1]的值赋给变量i的语句是( )。) R* L& M0 `# x2 F9 {- b
A. i=x[1][1]
$ M1 ^( d h E4 P. h' tB. i=*(*(x+1))
2 k3 m9 ~* K" x) F1 CC. i=*(*(x+1)+1)
# l; M& Z6 [9 sD. i=*(x[1]+1)
$ \: S7 c( _$ B4 X* @. v' Z 满分:5 分
, P( {; H1 ?$ n11. 以下程序运行后,输出结果是( )。 #define ADD(x) x+x main( ) { int m=1, n=2, s=3; s*=ADD(m+n); printf("s=%d\n", s); }) z( J- W K3 V% M8 u
A. s=8
$ G9 R# B. Z# e MB. s=9
/ N S0 F* ?+ }6 x) ~0 [$ JC. s=6
3 Z/ u# B: w! \5 B4 aD. s=18
# q/ C* X& `7 h& g4 \, i9 @ B 满分:5 分
0 _: J2 s4 Q, h. P12. 以下有关宏替换的叙述不正确的是( )。8 ?8 }1 i+ w+ V
A. 宏名不具有类型
, `! T5 v) C. }: DB. 宏名必须用大写字母表示/ H2 b% M% P. t: I' A+ \& p
C. 宏替换只是字符替换) t; o9 |5 R- _4 A* z
D. 宏替换不占用运行时间
3 e* D- `; c. u1 p( R0 j 满分:5 分
V0 a9 U% R& O; v. `* \7 F4 Q. p13. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。
+ ]( i& i- n/ f u, y( sA. 该变量只在该复合语句中有效; o# D/ q; }0 J9 q6 a6 A" X
B. 该变量在该函数中有效
2 Z' ?6 ]9 j: c0 h+ ?8 ?C. 该变量在本程序范围内有效
$ K$ s* B' ?& tD. 该变量为非法变量0 w" v) S1 V2 T4 a0 Z4 h
满分:5 分0 W9 l0 P& J9 Z$ H9 R! x; J
14. 若有说明:int a[3][4];则数组a中各元素( )。$ ~1 R; E# w8 n1 U: p: v2 I
A. 可在程序的运行阶段得到初值0
: `9 W: N3 @$ U: `. T: GB. 可在程序的编译阶段得到初值0! z3 i, ]. F* P! c7 N( |
C. 不能得到确定的初值
7 p% I$ g8 n+ @6 m1 CD. 可在程序的编译或运行阶段得到初值0
1 z" u' i1 P+ \ 满分:5 分5 m' ?8 s4 k8 |/ V8 Y% U' A4 M
15. 以下对C语言中共用体类型数据的叙述正确的是( )。
& Z2 m! n; M P; F/ iA. 可以对共用体变量名直接赋值( ?7 F. ]3 F& c3 a' d
B. 一个共用体变量中可以同时存放其所有成员: j% |0 L A, _/ X# m: _9 f
C. 一个共用体变量中不能同时存放其所有成员
0 X4 @; v. T- |- t+ ?D. 共用体类型定义中不能出现结构体类型的成员
0 L N1 [( k1 s, m- [% b" p 满分:5 分
% \# n7 F2 y* N# q1 a3 ^% K! D, K9 Z16. 设有一段程序: int *var,a; a=100;var=&a;a=*var+10; 执行上面程序段后a的值为( )。- e: z s: ?) `* }2 l
A. 120' W: |5 @. E1 [0 I" _% }, b
B. 110* b \9 K" u5 v, K$ B1 b
C. 100$ m+ W0 @1 b2 T8 w7 |
D. 90
! ]6 J# G/ _1 W4 p- F 满分:5 分, I5 ~2 _ M+ S! [5 }
17. 下面程序段的运行结果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);- l5 a: d2 {! r# h8 Z4 J6 o+ K
A. 空格) f) {: U. Z: c( |1 M
B. \0
$ R; ?+ C5 U5 y' s' V" k4 DC. e
9 h" X0 g; G) N9 J0 i/ D: y: oD. f
: a( d2 |7 b/ o% ?$ n 满分:5 分% P* I! r7 D. W; Z$ c- Q
18. 设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是( )。 scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);5 {7 T9 w, ^ Q! @4 s
A. 1234123121<回车>3 h( V5 V+ W1 B- r/ k4 c
B. 1234123412341234<回车>
# T; w( `5 y: P% N! {0 l6 TC. 1234+1234+1234+1234<回车>1 E' Z% u/ w; K/ O1 \( A' k
D. 1234+123+12+1<回车>- Q3 z# j4 q( l" G) J0 Q) q
满分:5 分
5 J# l) k5 B# `5 ~19. 以下程序的输出结果是( )。 main() { int a=0,b=1,c=0,d=20; if(a) d=d-10; else if(!b) if(!c) d=15; else d=25; printf("d=%d\n",d);}
+ j( D% f- P6 gA. d=10
: ^; n1 t( d. n! RB. d=15
5 K6 ~5 _) j; DC. d=20$ K* y8 X3 v% e. m6 O5 P
D. d=25
1 j9 t g( j; P% O4 f. H9 F6 y 满分:5 分. t; |* A: d9 ] a) O( k
20. 在C语言中,错误的int类型的常数是( )。9 N( ^5 v. q! i t* u4 V
A. 32768
}$ F% v$ A- l' @# V* FB. 03 q! G$ V- s, g% q* p
C. 37
5 H: ]9 i7 P( E% I* qD. 0xAF0 B( E' V/ w P2 p
满分:5 分
1 @$ a* m3 M9 p$ s% L0 s) Q C, _" ^2 g ?6 r0 O
|
|