|
一、资料来源(谋学网www.mouxue.com)(共 10 道试题,共 40 分。)V 1. 以下程序有错,错误原因是 main() { int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ...... } q5 k$ l; e& q" q) X) Z
A. p和q的类型不一致,不能执行*p=*q;语句
/ _8 j2 ]) _& S% V! d% BB. *p中存放的是地址值,因此不能执行*p=40;语句
2 z" L6 N9 ` ^* t; A5 I5 WC. q没有指向具体的存储单元,所以*q没有实际意义- t z8 ], A/ n: {6 X
D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果# v9 ~4 ~8 C% t7 C
满分:4 分
( Y7 x k! }& \) R2 b; T' B5 f2. 在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是/ Z3 k. D( |5 ?' r) }
A. 1. B% O: V. M7 O! S8 {
B. 2
$ V1 J: p9 N2 FC. 7
0 b! |1 D) {; ` k9 H, D XD. 11; L4 X& `' k7 u/ c7 s
满分:4 分7 q( c2 Z6 D2 A; X: q
3. 若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是
+ D' c/ K- g5 S$ qA. a[p-a]& W" ]- K4 X, s1 k
B. *(&a[i])$ N1 `* Z6 O6 n2 b- K6 ?& B6 E- x
C. p[i]
! ^ O- j! `5 MD. a[10]3 r" Q$ ?# }+ t
满分:4 分
! l. ^" f) o4 W+ U# w7 [% Q4. 有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是
3 \8 O* M* t% \# H4 X" bA. 2
$ e. ~7 T6 {/ ~' HB. 4
0 Z l+ s: W- Z" _- vC. 67 K, c7 ^& z" r! y& x4 K. Q5 }
D. 8, m5 a' \# C+ J1 K P
满分:4 分% \. D" u. ^" E; u
5. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
9 _7 W& | A, Z2 ]: IA. p=1;" T2 `; C" B$ z# c1 m1 Y4 U5 f
B. *q=2;
/ l, N7 j% W# J4 ^# Y; r7 w7 hC. q=p; S: \2 T. V; o
D. *p=5;
9 N8 L' s( J( h9 S. W4 v9 J+ I9 h( ] 满分:4 分( U% ]1 M3 k8 C# ^% o
6. 执行以下程序后,a,b的值分别为 main() { int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; b=(*p1)/(*p2)+7; printf("a=%d\n",a); printf("b=%d\n",b); }% ]4 f4 x1 H0 T% a
A. -1,51 F% [ ~3 z5 v8 y" ~, w
B. 1,6) `$ E/ ?+ Z9 c1 I
C. 0,7
9 z% r+ y& |% vD. 4,100 B4 r4 j$ F' M3 ~; N1 g
满分:4 分
8 R7 s7 X6 O& A) p/ c/ U7. 有如下程序 int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[3],b;b=p[5]; 则b的值是' M4 ^6 y7 a5 v" ^; W ^& |
A. 5
- F# z0 Z/ _6 M* y. XB. 6
3 p. N1 I1 K/ v! F" ZC. 9
& C" k# m% E& M, X: K4 i3 }9 CD. 8) u+ B6 R% ^# v* c9 d: R
满分:4 分) G. M. a4 N0 [! V( m6 G- _
8. 以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... }
6 _' M* U# t% F* P' i0 }A. 语句 void prt_char();有错,它是函数调用语句,不能用void说明
( z5 n8 @0 v5 o% u! w3 |( \B. 变量名不能使用大写字母
( ?2 H3 Z/ Q, t" ?" \8 uC. 函数说明和函数调用语句之间有矛盾: e+ M6 R* V! J, F; z
D. 函数名不能使用下划线" G# s2 `# \" _4 r5 J
满分:4 分
% [/ D3 P. U: N) O. x9. 有以下程序: #include union pw { int i; char ch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是
' F5 L7 m' B& i! T+ XA. 13) M& |8 k; t6 f
B. 14
& S. h% b; P" N# x) jC. 208
5 P; {# |$ z* H# I' xD. 209
3 E) D" G6 z+ z2 x( e. J* T 满分:4 分7 F7 t) ^6 B/ j( p; I
10. 若有以下程序 #include int a[]={2,4,6,8}; main() { int i; int *p=a; for(i=0;i<4;i++)a[i]=*p; printf("%d\n",a[2]); } 上面程序输出结果是' I H6 J% l/ I: f* a& t: p
A. 6
' q/ G. g2 C0 B( ^9 vB. 8
0 S! X. n i0 E( l) M: cC. 4
* \, n- F2 r/ |) L& c. _D. 2
/ Z4 t* n- _" E& Q: r3 v 满分:4 分 0 F- o! w0 u5 j
二、资料来源(谋学网www.mouxue.com)(共 5 道试题,共 20 分。)V 1. 已知:int x;,则下面的说明指针变量pb的语句______不是正确的。5 _% f. i! O2 M w- ~
A. int pb=&x;
1 q* H7 Q$ x8 ~9 C. iB. int *pb=x;5 m/ J, K6 |) E6 m# V
C. int *pb=&x;
B8 G# g" G/ W- A* ?6 M+ o! i. pD. *pb=*x
) e7 ~+ [9 L4 Y6 v8 q* V w4 a 满分:4 分
! j Q9 C) i: u6 a' S2. 以下对一维数组a进行初始化,错误的语句是______。* q, n8 L3 E; I: ?
A. int a[10]=(0,0,0,0,0);9 j7 h3 e* o/ M/ Z( ?
B. int a[10]={};
) U" ?3 |) q1 Q1 hC. int a[10]={0};
: `1 {+ s- w% O. [4 HD. int a[2]={10,9,8}$ G$ y1 W' q+ O& D
满分:4 分
; O8 _. {! v% M3. 关于文件的打开方式描述正确的是:______。
" z) e6 d, y1 \% f. G7 JA. r:打开只读文件
+ H3 u# S% S. G, d# sB. a+:打开或建立用于更新数据的文件,数据追加到文件尾# X2 T5 e( ~ u9 V; w2 Q
C. a:打开或建立一个把数据追加到文件尾的文件/ `& P2 g7 A# P- ?. o/ E7 _
D. r+:打开用于更新数据的文件' b: _( z& q( |3 d
满分:4 分
! |1 @6 v0 s4 X$ v ~8 p4. 不与while(x)语句中的x等价的是_____。
0 h* [- c4 J6 k, bA. x= =0' h2 J1 h2 O9 Y' y9 {: f, Z
B. x= =1: `; t/ J: j3 C& R) w8 i3 q" ]
C. x!=1
3 F% S! O2 T; q; H- y# n2 J2 iD. x!=0
8 q" z; Q& o$ E# H 满分:4 分
: T2 ~8 r! p' u: V; b% Q5. 以下叙述中正确的是______。
* l! q$ Z4 p5 H% |0 U- {A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出7 v& H* x" j7 j& M# ~8 ~8 N- x2 C
B. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息8 E5 F7 L, { }) ` i e
C. 可以通过赋初值的方式确定数组元素的个数9 }7 O. E* T2 ~# f
D. 数组名代表的是数组所占存储区的首地址,其值不可改变1 M8 C% h) A" S6 n/ X
满分:4 分
7 B& }0 L6 d# V2 i* s三、资料来源(谋学网www.mouxue.com)(共 10 道试题,共 40 分。)V 1. 模运算符要求两侧均应为整型数据。( )
% _7 I, w. l1 b& S/ ZA. 错误
1 H1 H4 ?' O' D+ E' q# Z; q* S6 p. R7 RB. 正确
: N) @1 v3 l6 `( q' Q/ s 满分:4 分
0 l! q) f9 U: Z+ l5 U9 i2. switch语句中,各个case和default的出现次序不影响执行结果。( )+ \. [: E6 Y) ?" l0 y1 E
A. 错误( m8 w, A7 q9 j$ j
B. 正确- c3 ^7 Q" {% z# J: f
满分:4 分( K* |: [% s" g7 e1 \
3. puts和gets函数只能输入或输出一个字符串
& f( `: n$ P8 ^A. 错误! |; ]( P* V4 }
B. 正确- d6 H# B1 P0 y* a ~
满分:4 分0 [% c! T/ n7 D( R; }+ e
4. 语句int pt中的*pt是指针变量名。$ e9 _) g+ T* M/ R' m. t
A. 错误+ r ?! P: D; N6 g5 \+ b
B. 正确; B( O- q6 K: U$ l4 K
满分:4 分
0 ^7 j2 b$ q3 w, O. x/ V5. 若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。/ B- G8 T1 u6 _; j
A. 错误
1 {1 E r1 I/ ?B. 正确2 q( N8 g3 M- ~2 Y2 r& n
满分:4 分
4 A/ u1 v( x: m6. for(;;)语句相当于while(1)语句9 [, s( T, K u" b
A. 错误
) F, J- g* R+ r0 g; UB. 正确
2 f; u% q1 W1 J7 \ 满分:4 分
$ q- w* i. ^% n3 n7. 数据结构指的是数据的组织形式,数组就是一种数据结构( ): [) r: U% X1 C" j/ ]
A. 错误
/ P0 R, N# d, w' q# A8 [. i. o- HB. 正确' l! S* l, v5 G' B. k9 y( k7 m
满分:4 分
$ @$ Z1 R. @6 u8. 共用体所占的内存空间大小取决于占空间最多的那个成员变量。5 ~, P; ^( ?- O, \4 _: J2 A" W
A. 错误8 P: ^: h4 o+ F9 e7 e+ T
B. 正确5 A6 ]. E3 u( ~" {9 n Z' }
满分:4 分 I& i" Y! ^. w6 e, f0 u3 n9 c# D8 D
9. switch语句中,多个case可以共用一组执行语句。( )
, e, z3 m( `* ?& R9 \A. 错误
3 t8 h, |1 Q* QB. 正确4 A% m/ S8 ]$ F: R6 T& S( |
满分:4 分
- P9 v( W6 q! o$ Q6 G10. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。& D' T4 T2 j: H7 @
A. 错误- d- T- ?" M K9 ]; P" T
B. 正确0 h$ j" ]! x" J0 u( k3 G9 W, u. ~2 X
满分:4 分
) O# _* [6 |; @( S% ?* C; X" Q+ v4 i0 S/ q3 x
9 C; D! R; i: N, d
; Q& N+ U5 i3 W# ^( x |
|