|
一、资料来源(谋学网www.mouxue.com)(共 10 道试题,共 40 分。)V 1. 以下程序有错,错误原因是 main() { int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ...... }
) F F2 U$ g# h6 A% s! q- RA. p和q的类型不一致,不能执行*p=*q;语句" G$ F1 C0 h9 N; f
B. *p中存放的是地址值,因此不能执行*p=40;语句
+ f; R* u* v$ |! }9 @) @; `) bC. q没有指向具体的存储单元,所以*q没有实际意义/ u, a# o( C4 M6 D3 ?6 Q( q* x
D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果9 u( I: ?8 h3 ~
满分:4 分; k2 z- J) r) Y% t# }' |
2. 在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
+ Z- I" T2 | E4 d& oA. 1
& p9 n# ]6 G, L" P) y6 m- OB. 2: }5 E$ F/ r: k9 a
C. 7
2 m; y9 M6 G4 M: _0 u) \$ m7 bD. 11
9 n4 S% }2 O5 a9 @! G 满分:4 分
0 k" o) K9 ^5 J0 p; e& b* m; H3. 若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是
- r' \( Q; H: ^0 r" }! W6 zA. a[p-a]
) U' l2 U. P( [" S% S& J; A4 `1 i7 x P2 JB. *(&a[i])
4 g6 M! G" F t0 Y& LC. p[i]
; ^$ X; U% l. V5 K) M5 ~, ND. a[10]
* b+ L6 ^( b6 h) d" N! k 满分:4 分
& f: {* p# {3 _- P4. 有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是1 r6 N7 }; i* I0 u, o$ Q& q
A. 2. J# g% U: Z8 w
B. 4- y& h7 G) F3 l* f; d" i1 q: q3 N1 b
C. 66 E% K8 Z- \% a2 m9 [1 h4 R
D. 8; }4 e. O( J0 o. v0 X* D
满分:4 分
2 ?! b B1 g* j5. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
7 n. l, p8 P: w" _$ S# F& @A. p=1;# Z+ }! T3 _- i0 {3 ^
B. *q=2;
5 D$ I& H/ |( J5 ]* e7 N+ q7 NC. q=p;3 ^2 L! d% J# ~( H" p+ x
D. *p=5;
2 m1 T9 o! Q1 E: i3 B 满分:4 分5 l8 M4 f d# J+ H X7 G
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); }! W/ x* {) w- F# H7 @! Z
A. -1,5' e+ I1 T5 k6 s4 M1 O7 o
B. 1,6
]/ E! p9 e* sC. 0,7 j+ c: D( `& @2 T1 T' o
D. 4,10" d5 e7 {; c. C# U( }$ b" t z% B
满分:4 分. s; G# r" x9 A" p2 {
7. 有如下程序 int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[3],b;b=p[5]; 则b的值是
$ Q8 n) N0 V' [0 Z8 w4 vA. 56 G; N) w, Z; v" L! s* b6 H
B. 6
+ |$ U6 y! d" [$ l% o$ DC. 93 X4 U5 a7 z# w: x& T1 e! |
D. 8
% u- _9 I! c, h R( I 满分:4 分
& a4 c- v4 T2 p8 @8. 以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... }8 g2 ]0 H( T5 ]+ N9 d; ?& w2 P
A. 语句 void prt_char();有错,它是函数调用语句,不能用void说明
% c, [& I8 z4 I! ]" ~, ~1 ~5 I$ dB. 变量名不能使用大写字母
& L7 I5 T$ R! `1 e6 WC. 函数说明和函数调用语句之间有矛盾/ C) b2 ?! }6 t+ T8 b0 l. }- m! D- x4 \
D. 函数名不能使用下划线9 P4 H5 Y& Y4 T6 L
满分:4 分
. ]6 }( t" K, {& g9. 有以下程序: #include union pw { int i; char ch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是4 o ?5 y; {9 p
A. 13
+ l2 p4 p+ n0 TB. 14; L8 |0 P( {' p7 k2 y3 r& P
C. 2089 U! I& S3 M3 n
D. 2097 A' Q5 Q" d7 P; a
满分:4 分
% p0 R6 U! t2 b; k10. 若有以下程序 #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]); } 上面程序输出结果是
' l: o9 p5 @6 h1 u8 a: S. P; XA. 6
6 m* O; V5 a: z2 [8 kB. 84 r8 F4 W6 O* g* W
C. 4# P' x$ X0 s! q4 h% [' b) h0 H1 o/ h
D. 2! G$ P8 F9 @) {: }, g4 L
满分:4 分 8 ^' @, C, F) k
二、资料来源(谋学网www.mouxue.com)(共 5 道试题,共 20 分。)V 1. 已知:int x;,则下面的说明指针变量pb的语句______不是正确的。6 g4 y. n( {6 R3 |6 }
A. int pb=&x;2 o0 k, z# \ {; v6 c$ \# D/ k
B. int *pb=x;
: r: [9 a5 l e) x2 b1 V5 FC. int *pb=&x;
+ X( _6 n4 N+ \D. *pb=*x
) k$ h, b+ @, z6 b8 ` 满分:4 分
7 |' K: q$ t7 U( W2. 以下对一维数组a进行初始化,错误的语句是______。
) o7 f0 d( T: {9 U7 L8 z' j* i4 QA. int a[10]=(0,0,0,0,0);
# S4 z4 N5 w# |1 f+ I$ YB. int a[10]={};
2 p- ?! B# P8 Z0 q* pC. int a[10]={0};
; A# [6 R* t( R/ yD. int a[2]={10,9,8}
. a& W3 b' }# B$ C 满分:4 分) I: q; w$ u8 L, ^) ?' n# G
3. 关于文件的打开方式描述正确的是:______。
# b7 ]3 M* g9 w l7 i; M% qA. r:打开只读文件
. J9 f3 ?" I1 d% K) s J8 r7 O9 ?0 @B. a+:打开或建立用于更新数据的文件,数据追加到文件尾
% g: s) e- S2 ^# ^$ Y, g0 J5 hC. a:打开或建立一个把数据追加到文件尾的文件
5 Q% P y3 B T; L( \9 l: @D. r+:打开用于更新数据的文件- B9 _$ n2 @; i z
满分:4 分
% ]4 B( l1 Y7 M/ ?4. 不与while(x)语句中的x等价的是_____。" `" g0 o0 y% K- B3 J
A. x= =0
G) m' C3 _( a* H, b1 L) v) ]+ uB. x= =1
: G+ l- C1 u: ^' l: aC. x!=11 Q" w9 H8 D b9 p
D. x!=0' Y9 \7 j& A4 y6 b4 Q( [
满分:4 分
2 E, o5 ~$ q8 m" t+ ~) F! O+ O( w5. 以下叙述中正确的是______。* E1 @, U" _: Y' W1 w8 n6 L$ {
A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
' B& L o6 _/ ~* D* V" UB. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
3 H3 q/ r# O4 a+ g/ CC. 可以通过赋初值的方式确定数组元素的个数1 j8 c, I1 B% T! `2 ?1 P: H
D. 数组名代表的是数组所占存储区的首地址,其值不可改变
& _" `/ r% x' A% ?% U! W8 ? 满分:4 分
2 M( e2 u$ G% \4 k1 c( y& n三、资料来源(谋学网www.mouxue.com)(共 10 道试题,共 40 分。)V 1. 模运算符要求两侧均应为整型数据。( )3 c" b/ v: ^! B" Z2 u3 o4 i
A. 错误, p! }' p# O8 `/ c& ?; q# Y
B. 正确* U# A5 A3 S' l. f8 \" t) y8 V6 R
满分:4 分( M6 L6 o/ w$ F7 m) K7 W
2. switch语句中,各个case和default的出现次序不影响执行结果。( )
* u& P4 A- {8 [4 P! \8 oA. 错误3 M1 W/ B$ j8 a: ~9 k' I% ?0 q* n
B. 正确
p9 b$ \0 [5 \7 M; ?. } A 满分:4 分3 U3 e% r8 X6 V
3. puts和gets函数只能输入或输出一个字符串
/ S& Q( u0 H/ D* M4 K! p$ H8 JA. 错误2 I7 C8 N' D$ H8 f
B. 正确6 W9 N$ d: p; V9 |) V; W$ P9 o
满分:4 分" z5 d6 T, J) w4 F9 _
4. 语句int pt中的*pt是指针变量名。; K; a, h3 v- Z) @( A
A. 错误" B, F: T0 C9 y
B. 正确0 ^) V! V! R1 U+ @6 [
满分:4 分4 v3 [ b b: c0 Z- l: g% ~7 n
5. 若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。8 f; s2 p7 R f$ T& Z
A. 错误
7 M g# A6 r4 i' Q, o! \& K- \- wB. 正确( e& ]% F9 o& N
满分:4 分4 A: l& D; @" x- j; X+ }" S4 S
6. for(;;)语句相当于while(1)语句- A: r6 J% C4 r }
A. 错误1 t% b0 ?& q) f/ \* N2 a
B. 正确
1 `' x3 n ~6 Y 满分:4 分
$ {) d$ }( X4 K% [/ l8 d$ b7. 数据结构指的是数据的组织形式,数组就是一种数据结构( )
/ j6 Q& i: W" n8 b# Y/ m+ NA. 错误
. t; \& s; l" m- T* a, }( }, jB. 正确
. k3 h% f0 x/ o; ^8 W 满分:4 分
9 C/ p3 q* p8 E, i7 Y; a8. 共用体所占的内存空间大小取决于占空间最多的那个成员变量。. b7 K, K9 C) p& s4 O9 y" X" ~& @
A. 错误; }6 o6 w; `! [! v I. s
B. 正确
. l" o# x4 j% y u 满分:4 分
. q3 Z" G% F9 w$ ]% g: W9. switch语句中,多个case可以共用一组执行语句。( )" X: y# O0 W% }" {7 f# c+ h/ f x
A. 错误
% N7 B# M* Z. N1 S( H+ T7 JB. 正确
: b6 `- ^& u* k( `& l 满分:4 分' b* {% n! R: j8 [& a' k, l
10. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。 r- Q9 o+ f- A& q6 i( D
A. 错误
: i# @, Y% R1 \B. 正确" ]$ G# w. V5 R! t6 T6 ]+ l
满分:4 分
1 W' \2 t1 [1 r3 l
. H' E, P7 \) `/ H& k K i
0 x1 Q) @5 A9 q$ z2 {' s, h( A/ T n# w! e
|
|