|
一、资料来源(谋学网www.mouxue.com)(共 10 道试题,共 40 分。)V 1. 以下程序有错,错误原因是 main() { int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ...... }5 ]$ Q1 q b. v+ j3 H6 i. J
A. p和q的类型不一致,不能执行*p=*q;语句1 O p* f1 y4 y" n; W1 o
B. *p中存放的是地址值,因此不能执行*p=40;语句( d+ D ?" `. r5 u4 t
C. q没有指向具体的存储单元,所以*q没有实际意义# w% R9 f( Y+ D) _+ c% [: m/ @* q# K
D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果% r7 L R* U* I1 |3 Z/ Y" F
满分:4 分. S% M/ V% t) T# ^
2. 在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是" V0 F' a: ?* m7 ]8 K
A. 1
# w$ S0 o+ Z% D/ A) E: b) rB. 21 ]# a0 J) ?. J0 |# \8 a5 O
C. 70 P- F1 Q3 x$ G) w
D. 11
6 u( {/ e. n7 L 满分:4 分7 a# Q0 d9 K* o
3. 若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是9 m% X& |3 ?2 _; |) Z
A. a[p-a]3 _, {2 K3 |* O0 L9 z b
B. *(&a[i])
% r/ i. T% u, j8 u. j2 UC. p[i], Q, `6 Y7 T! d) J
D. a[10]8 r: @, [5 S: a1 z+ c
满分:4 分! i. Q/ O0 T: j1 i
4. 有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是! m1 h: E4 j8 x/ d( a* i; H
A. 2
( u. ?/ W& n3 s/ v2 m0 }' N3 K2 k+ QB. 4! M5 l! M4 K9 I" N' [
C. 63 k* E$ S R; Z" h: h
D. 8- |# D* p, g7 ~, j( s, L& N/ h
满分:4 分( z) C* q2 a6 w" P7 m
5. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是( O5 U5 i8 M. H5 s" v( v' N
A. p=1;
% k6 A/ S( K; sB. *q=2;
* @" ?$ d$ v& X2 j9 hC. q=p;! v/ D+ I/ Y; ]/ s' M4 n; P J
D. *p=5;
1 t, Q( x0 y; a! G 满分:4 分, A0 }# G/ x: i7 [
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); }3 G% L) O5 m0 {2 p
A. -1,5
/ }$ V. g6 t: o0 L1 I& S, X# HB. 1,6
! T0 ?; {! B+ g1 v6 ]C. 0,7
4 ?, p5 Z, `" I" rD. 4,102 g" N1 q$ u! L2 ?* T0 K/ e: E! v
满分:4 分
% N, _) D1 @" z7. 有如下程序 int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[3],b;b=p[5]; 则b的值是$ Y2 d$ K' z2 [% \' @" }" G
A. 59 m" V3 E$ ?: y. |! @7 F; @
B. 6 o \: |8 k+ Z1 c
C. 9
0 W) v+ |9 m3 x7 ED. 8
) z: [: t& ^/ L0 p% i' V Q 满分:4 分
5 H# m# x5 L1 m) O& a8. 以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... }0 H2 O- h" ~4 O4 X
A. 语句 void prt_char();有错,它是函数调用语句,不能用void说明
9 o* A }+ F) [) j+ U) SB. 变量名不能使用大写字母
% O6 i8 ~' A i% b+ ~2 v$ YC. 函数说明和函数调用语句之间有矛盾
& J) S0 W D" G" vD. 函数名不能使用下划线
! a, b9 z4 o3 o5 K 满分:4 分
. \5 S4 @; i6 f4 j9. 有以下程序: #include union pw { int i; char ch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是 C: v, |2 n( q% L
A. 13. v \! L& V+ m& Z
B. 145 [( B5 a- [! o0 t( ]6 M# ?
C. 2087 h9 m& U' d8 C+ e9 W( {1 o# A1 x
D. 209
- p( f1 l8 F, R" |! n 满分:4 分* K& R% Z+ x B- |
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]); } 上面程序输出结果是/ q& Q) n" o5 V5 P' P
A. 6! M) n4 ?; n6 M
B. 8
) s, A4 T- m: ]& q6 D/ QC. 44 ^$ g& s9 v3 O. X0 i
D. 2
; ?& |4 e/ i. L* T' [& q 满分:4 分
- D3 e, f E) ?/ K8 k. E( L+ t7 j二、资料来源(谋学网www.mouxue.com)(共 5 道试题,共 20 分。)V 1. 已知:int x;,则下面的说明指针变量pb的语句______不是正确的。
\2 e0 C+ s# R( RA. int pb=&x;& v H; h0 P9 p! X* p) \+ o
B. int *pb=x;( H3 Y: {! t- n/ P0 w9 C
C. int *pb=&x;
/ F# {" X; c7 \$ Y2 [( F3 e3 yD. *pb=*x
* ?1 k' J7 l( R! W, Y+ Z. A 满分:4 分
7 j, `6 D: G$ H, |! V/ P( [4 c2. 以下对一维数组a进行初始化,错误的语句是______。
# h" u i" _3 }' V. v! XA. int a[10]=(0,0,0,0,0);+ S4 p' V! I; K: V1 z* B! ~9 \
B. int a[10]={};3 D m7 m }- T/ ?7 c% ^4 @+ I
C. int a[10]={0};, _/ H0 T3 C7 |9 j5 I! {
D. int a[2]={10,9,8}/ c5 B- P! W- _& `8 W) q3 q( e2 E0 K
满分:4 分
, U) a$ |# t) i) y% o3. 关于文件的打开方式描述正确的是:______。
( I8 I! i) L. l7 G! `5 _" pA. r:打开只读文件3 B* b8 k) \/ ?7 O' V! m: ?3 c
B. a+:打开或建立用于更新数据的文件,数据追加到文件尾
. `4 o5 z5 k" D' q5 G7 t2 VC. a:打开或建立一个把数据追加到文件尾的文件- w; I6 t: N# v* Y6 w- Y
D. r+:打开用于更新数据的文件
% U8 E4 w c9 \ 满分:4 分
- I4 t+ U" b2 ^7 P0 E- s0 ^4. 不与while(x)语句中的x等价的是_____。
4 z# Z7 c- B* F% ]9 V( x' \A. x= =0
1 B3 ]; y8 o5 c2 I. k& CB. x= =1( d1 r8 P# ?% Y9 }: {! H) |# l/ m
C. x!=1! {, |4 c( N" Q5 ?; o1 x( d- v' r
D. x!=0
7 a- P! O/ E0 U! A9 } 满分:4 分3 N9 p2 b2 H: m! n: Z3 i& |
5. 以下叙述中正确的是______。7 ~0 R, l5 c. E5 A* g7 J
A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出& `: m m/ E/ b# Z ^
B. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息: z) l! v# @7 E" ^5 \" l
C. 可以通过赋初值的方式确定数组元素的个数
- u J- j' b/ hD. 数组名代表的是数组所占存储区的首地址,其值不可改变
$ v8 G/ s5 a7 i. S2 O. N 满分:4 分 . }" u% Q' I9 m E u- ?: ^3 w0 D# ]
三、资料来源(谋学网www.mouxue.com)(共 10 道试题,共 40 分。)V 1. 模运算符要求两侧均应为整型数据。( )
/ G+ ^' C: U7 _% Z) T5 oA. 错误
8 P7 h( c. Y& j6 ~0 G2 ^B. 正确
* F) u8 B* D& f' e! k/ Q 满分:4 分8 j# ^; B- z' p& R: B
2. switch语句中,各个case和default的出现次序不影响执行结果。( )
& e# k5 G, P. f7 R* H' {: `2 xA. 错误! Y* F, z4 M# k! a# n& b
B. 正确7 ^$ D# m& G1 F8 j* j0 u2 I0 j
满分:4 分
* y: m7 w: l9 k3. puts和gets函数只能输入或输出一个字符串 v9 A) | L$ ~
A. 错误9 Q# o% r5 p* q8 A f* t2 F
B. 正确. t/ G/ i$ i" l* O* a6 ~4 ^: z8 j0 Y
满分:4 分
, J. k* _" Z! q a4. 语句int pt中的*pt是指针变量名。* M! H& s$ Y7 {4 R) r* s* S
A. 错误# t; l1 e V0 e; ^$ ~# `
B. 正确
$ m/ C4 U. b/ W 满分:4 分
7 Q- b. T- h8 ?6 k, [5. 若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。- }* c# \% g& _6 j' ]
A. 错误
! N! {2 E+ [7 h! Z; o3 FB. 正确
) f2 Q- Q) W, U 满分:4 分2 ]8 y, v2 i% T; \# ]
6. for(;;)语句相当于while(1)语句
7 L/ L6 D" f9 P# \9 wA. 错误& E/ V4 a$ F! L! m& a/ V# p
B. 正确( ?- l' T. W' _- t
满分:4 分- d. `+ \0 T j0 e/ l7 ~' \
7. 数据结构指的是数据的组织形式,数组就是一种数据结构( )
8 k& D/ } r5 _& p. V( C: s" M& \A. 错误
3 p7 d! b5 [. L# k4 BB. 正确5 q2 C; a7 s, a4 P4 u0 a2 i h) R
满分:4 分
8 o! C) C7 J+ }: N' l3 x, C8. 共用体所占的内存空间大小取决于占空间最多的那个成员变量。
0 Y& O6 z$ t$ j, BA. 错误
: S, _( o7 r5 g, h9 w5 r3 e: ZB. 正确
2 E7 K: x4 D# Q0 P( A 满分:4 分; n& J/ u5 _$ b& M
9. switch语句中,多个case可以共用一组执行语句。( )
[* p* }, r# }4 y0 s d I. x0 tA. 错误
1 r( k2 E; b$ [1 C6 aB. 正确) Q c: r( M+ s( T5 w
满分:4 分7 Q9 C2 C+ M2 n+ s
10. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。
1 f: g' z6 d; i2 i) ~7 o5 ]A. 错误
! L7 h! W7 d9 r% N, t9 O* FB. 正确
: l. q( M9 d/ V; a3 z 满分:4 分 . y$ P% \" q2 f# E- y7 Q
# J6 o @5 v& T
/ H) Z- X" f' g `# z2 ~2 w o
W- A9 x, k5 o ] |
|