|
一、资料来源(谋学网www.mouxue.com)(共 10 道试题,共 40 分。)V 1. 以下程序有错,错误原因是 main() { int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ...... }
7 T y/ `6 D& ^- T1 b3 p, W+ BA. p和q的类型不一致,不能执行*p=*q;语句+ N( H- @0 p4 ~4 H4 T
B. *p中存放的是地址值,因此不能执行*p=40;语句4 |7 D) h& U5 Y. ~* b
C. q没有指向具体的存储单元,所以*q没有实际意义! w" ^- \; J5 E, }* L
D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
$ x9 _1 c& F! o* P" d1 G 满分:4 分/ y/ z8 M0 r% Z* [. ^, a
2. 在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是, Y+ G* ^% R. k# p+ t
A. 1
4 s% y Y. e+ g- d5 F: Q; G' pB. 2% K. [3 K& u4 f9 x- \
C. 77 z5 \ P o, M( T8 D$ ^
D. 115 w' ]& ~ O! J/ b6 Y2 K
满分:4 分
" [5 S' I* r: z8 x9 c3. 若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是7 f$ W% y; y. T) o: }5 L
A. a[p-a]- \2 l g. [3 L
B. *(&a[i])
$ Q' s, x- J4 b8 S; BC. p[i]
" }- F+ o7 u- z2 f7 N' n" a$ U$ k6 [D. a[10]+ Q9 x+ O9 h3 b5 j7 O
满分:4 分4 B" f1 c, L0 Y' H' |) J6 c
4. 有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是$ `" C* c! A2 K
A. 24 i6 b* K& I6 O$ F5 x! ?
B. 4
7 a1 A" z% k6 NC. 6
2 O0 c( n9 Q) s4 ^% LD. 8/ y6 T1 W' u* w4 \+ q
满分:4 分
( s. b5 B; V* v5. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是* H/ k/ ]5 H, n3 b/ q: o- g
A. p=1;& n: y, \9 \4 G; F: h* v
B. *q=2;
; u$ m% @ j- ~0 I) dC. q=p;
1 S1 a3 c/ O7 z: t9 FD. *p=5;
$ L R% X& J8 i0 B- u; i 满分:4 分! f" O" ?# u* C1 Y
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); }
$ Q- ?& O \" [2 O- X& {A. -1,5
, S8 O! s( d A7 ?$ l: IB. 1,6
0 [& x1 f7 D, v! |/ x4 T9 x" OC. 0,7
' l9 f' y$ ]; J- ZD. 4,105 M7 i0 v/ P! l- ? T
满分:4 分
: F8 B- M4 d( |" u! H) ? Y7. 有如下程序 int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[3],b;b=p[5]; 则b的值是+ n7 k c. P" K& Y$ {
A. 5
% q( Y( ]1 E, i2 d: `( @B. 6. o. }" B3 ^" z$ a) M; W& F
C. 9
! O x5 _$ g( h2 HD. 8
- I' R8 G! h* M4 r! [+ `* Q 满分:4 分
2 D9 U' X! o4 y( f8 d$ M8. 以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... }" j" i. J l" c' I! d; }3 _
A. 语句 void prt_char();有错,它是函数调用语句,不能用void说明/ D2 z! |4 t- k9 H
B. 变量名不能使用大写字母
/ A/ J% |9 ^7 _, a+ n. }5 FC. 函数说明和函数调用语句之间有矛盾1 }+ g, J% j1 {& W" }
D. 函数名不能使用下划线
- |( e/ W% }! D; t+ F3 f 满分:4 分
) @' r5 i2 v* y0 E6 ]9. 有以下程序: #include union pw { int i; char ch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是- v; E; t7 t' A# q& N$ D5 K
A. 13
' {8 d6 J$ i6 V @B. 14
* d& S! M8 `4 nC. 208, E0 q6 m; r8 \
D. 209$ L: l6 Z. o8 o0 S" D7 R) D4 G8 @
满分:4 分" q1 p5 q$ c) `5 R
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]); } 上面程序输出结果是
6 y, O2 i( j0 _, \A. 6: C! l6 J* D* R1 v) h% N
B. 8, Q5 ]) S$ g5 t! z
C. 4
% @# C( u$ I6 O2 CD. 2
: `% x9 c4 _" N+ X 满分:4 分
7 G/ \3 o3 X& p% ?$ C+ w+ `二、资料来源(谋学网www.mouxue.com)(共 5 道试题,共 20 分。)V 1. 已知:int x;,则下面的说明指针变量pb的语句______不是正确的。
4 h4 m+ F9 K2 h, t4 cA. int pb=&x;
3 q$ d! C8 f3 U. Y* y! [# `B. int *pb=x;
2 z2 w- V8 \) }3 h5 c T0 HC. int *pb=&x;" d" o1 r3 b* {0 |$ J4 }* y
D. *pb=*x% G' ]0 j3 n" P' q; q. ^) v
满分:4 分
- d1 n) L( d3 G* F) K( t2. 以下对一维数组a进行初始化,错误的语句是______。1 P, b' }8 p; F0 Y5 E/ L
A. int a[10]=(0,0,0,0,0);. h0 V5 @; o; M% i" X. \6 a8 z
B. int a[10]={};
% H( ?9 m0 t. M3 N9 B) b( ?C. int a[10]={0};# f9 {- C. G/ W5 }) l8 s5 W
D. int a[2]={10,9,8}
5 o4 Z: [+ N% a2 b/ n 满分:4 分
3 |% }# C0 y \& J' B3. 关于文件的打开方式描述正确的是:______。
# d* A) `' D8 l. \$ W* TA. r:打开只读文件4 g, y; X! m5 {3 w8 ^9 w
B. a+:打开或建立用于更新数据的文件,数据追加到文件尾0 A) P7 S6 @+ U0 U8 @1 n
C. a:打开或建立一个把数据追加到文件尾的文件
% X6 j2 d) `5 X+ [9 oD. r+:打开用于更新数据的文件% [$ [0 C$ X$ F3 l5 X X7 {
满分:4 分
' Q3 Z) [5 Z: N6 g, p4. 不与while(x)语句中的x等价的是_____。
- e6 j: L. C) l. E0 {A. x= =0' B9 X9 v& Q8 \0 H3 ~* A
B. x= =1
) L1 ^( a7 l3 E& t( H$ ^/ oC. x!=1
& [# U- y1 N6 y" `% k5 l, ND. x!=0
& l; k2 K, J& J9 H: f 满分:4 分
, _3 t( `5 w% u) V8 @) \: b, W5. 以下叙述中正确的是______。
- j8 q6 l% z0 N- O" rA. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
/ _" J5 C5 }" c* j7 h/ [B. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
6 p9 E8 Y1 m- @4 k+ kC. 可以通过赋初值的方式确定数组元素的个数8 x m3 Y @3 g2 R5 `
D. 数组名代表的是数组所占存储区的首地址,其值不可改变
/ O- n) y9 O% ?7 ?' _# y$ C 满分:4 分 9 _# p; J; C P7 z- @7 n
三、资料来源(谋学网www.mouxue.com)(共 10 道试题,共 40 分。)V 1. 模运算符要求两侧均应为整型数据。( )7 p& D c' s; [1 A; a
A. 错误
|+ O1 Y# r" z" ] p Z0 RB. 正确) b$ D4 i* H& i- o3 t) y }
满分:4 分
$ m& Q5 |! y' {9 m7 }2. switch语句中,各个case和default的出现次序不影响执行结果。( )
$ t- @9 E. Q$ u/ Z) Y- tA. 错误
1 a3 y+ |; F$ I: j+ A* T4 p# ^* R* BB. 正确
m& o- ~& g. K% s* K" z% [ 满分:4 分
4 ?; a9 K2 l. Z' \/ `3. puts和gets函数只能输入或输出一个字符串1 F* a0 ^; j3 R
A. 错误1 z0 T5 @9 r- M. V( q
B. 正确
# P5 B6 w0 z. B& e5 n6 T7 G9 ] 满分:4 分) E/ A, a4 T/ \9 F8 D: h
4. 语句int pt中的*pt是指针变量名。
1 l4 F' c& g# dA. 错误
; s' p* n4 R5 JB. 正确, N$ d9 m6 W9 t
满分:4 分, K- ~' L, M% Y7 r2 S# g! F
5. 若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。
' o5 S1 u: Z4 CA. 错误
) N+ w9 p3 }3 m1 X$ M" gB. 正确
~, \5 F7 T4 |, w. R4 z: S& X: y 满分:4 分
5 y4 D* {, d% k6. for(;;)语句相当于while(1)语句" |$ \5 v* \! a. G+ Z1 F' K- B
A. 错误
1 l4 }5 M6 r- c' _, E KB. 正确4 k3 \) I9 Z$ D
满分:4 分
v5 B5 g! R# S ~7. 数据结构指的是数据的组织形式,数组就是一种数据结构( )/ l: P- Q; Z4 A9 ]# B
A. 错误
. e% K/ S. g/ ?# ]B. 正确
- p; d$ Y# R4 @) t# v7 E. J 满分:4 分
# U- S: E/ n5 \. ]% P/ w8. 共用体所占的内存空间大小取决于占空间最多的那个成员变量。9 y5 b( c, }2 e4 q% v# E
A. 错误
% r* M. V2 f! t& }. H4 r% JB. 正确
( @5 G. d8 s. A7 R { 满分:4 分$ t4 `& R2 f/ C% k+ Y7 B
9. switch语句中,多个case可以共用一组执行语句。( )" N* H% q& u# a q4 F
A. 错误
( n8 w/ n7 w1 v2 E4 Z: ^B. 正确4 Z2 Z( c6 F) m, }
满分:4 分
' Y, U. K% z2 U r* i5 o6 D10. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。5 @$ p3 N" R' G0 |& E
A. 错误
) F% w3 u$ q# W" TB. 正确/ E. K$ }2 `% o1 t3 k7 b! k
满分:4 分
8 Z0 v4 E7 k. }; X4 i
7 V! s: Z8 I; k9 `# D) D& y, w- h& l0 s/ r
1 A4 P* L& v/ V3 k |
|