|
一、单选题(共 20 道试题,共 100 分。)V 1. 若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。
1 E7 T4 j$ N! C8 L& mA. "wb+
5 P* b" E/ b6 p: B' ?' g. jB. "r+"
( o- q# G; q3 @7 f: Y0 ~C. "rb+"
5 \! q* s e2 C* g( k$ xD. "ab+""
8 b7 B5 A3 T, O+ Z! y 满分:5 分0 H. @& \! p6 c% p
2. 下面对typedef的叙述中不正确的是( )。
# d T) R9 B; O0 i" i' IA. 用typedef不能定义变量名# G {3 }$ U& [8 X9 G9 p
B. 用typedef可以定义新的数据类型3 e+ j& c% b$ M( B- E
C. 用typedef只是将已存在的类型用一个新的标识符来代表
9 E2 @& J* r2 K5 U+ h1 _D. 使用typedef有利于程序的通用和移植0 k) U- I: I, ]7 a
满分:5 分
9 \/ C: ~* l6 v3. 若a、b、c均为int型变量,则执行以下程序段后的输出结果为( )。 b=(a=10,a+5,c=10); printf("a=%d,b=%d,c=%d\n",a,b,c); c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);
# o6 [5 B9 ]% Q5 f4 K8 K6 }3 p- IA. a=10,b=15,c=10a=10,b=5,c=10
+ n5 A6 `6 e0 P1 r) f# pB. a=10,b=10,c=10a=10,b=5,c=10
, J. r; P- B7 X; r3 b& k( ~% EC. a=10,b=10,c=10a=10,b=5,c=15* \/ I2 `+ @/ w0 a7 Q! l9 P2 \
D. a=10,b=10,c=10a=10,b=5,c=5
5 B/ w9 ]& H/ E4 @8 n 满分:5 分
5 }* K5 _6 y! F4. 以下能对一维数组a进行正确初始化的语句是( )。4 j0 ?. @' A# i4 s" z6 ^
A. int a[10]=(0,0,0,0,0);" k6 T7 S0 H6 V
B. int a[10]={ };
. {! W; ] Q, ]/ y# ~C. int a[]={0};% W. [- k r; E# Q
D. int a[10]={10*1};
4 t- {) S2 l, x% M' Y+ } 满分:5 分: Z' e6 G9 }. L8 O
5. 当定义一个结构体变量时系统分配给它的内存是( )。
& E9 a1 ~# g2 Y- Y4 b% iA. 结构中第一个成员所需的内存量
& n: \* C/ H& W8 c ?( M+ UB. 结构中最后一个成员所需的内存量
b$ c: v0 \8 Z# `. ]C. 结构体成员中占内存量最大者所需的容量
* f$ C, a" H! G5 S; g9 h# WD. 结构体中各成员所需内存量的总和2 l" k0 l8 a) }$ q3 t1 ~( d
满分:5 分
" g) J0 D2 v6 M6. 下面程序段的运行结果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);3 q2 j% F* ^3 F0 }; V/ D
A. 空格 ^: E3 I0 O( ^. z% U$ e
B. \0( T- n( d! T% @! C* q
C. e
P4 e+ {# h1 ?+ E& D) e* G* GD. f6 _+ d6 r; q9 t7 Z2 K
满分:5 分' B: \ ]) T+ M7 E
7. 有下面的程序段 char a[3],b[]="China"; a=b; printf("%s",a); 则( )。6 T! e" g, l; A! k: Q
A. 运行后将输出China
/ ^# p7 F( b1 a4 X; m8 EB. 运行后将输出Ch
; A' J$ H$ a) |. }* N$ O' jC. 运行后将输出Chi
3 y# }0 h: A8 p+ i; J( CD. 编译时出错
) B4 a) \/ l! X% b" O( ^+ x" A 满分:5 分: x- ^! O4 `8 n' c2 o2 ]; x5 V
8. C语言程序从main()函数开始执行,所以这个函数要写在( )。* x$ `4 ?# U# }. I0 D+ Q" \1 l9 a
A. 程序文件的开始8 A7 j3 t3 E0 ~
B. 程序文件的最后; C& }! T4 w y+ t7 n* H( c# Z
C. 它所调用的函数的前面3 O0 B* L1 f8 ~. q7 s
D. 程序文件的任何位置; m* R0 \. ~5 B5 s% V: g/ Q$ I" n
满分:5 分- t6 i" Y6 v& T2 S7 F
9. 若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。2 x2 P7 o2 E; ?( o1 ~- v, V
A. "wb+! @5 h" e0 _; i3 ~ y- x
B. "r+"; O/ j: B. P! l( l8 y# _
C. "rb+"! ^" u% D0 V7 c. M+ [+ l
D. "ab+"") g" y+ J0 m1 t$ \* g; e( V9 P
满分:5 分( ^% _- B3 z; f! s$ R7 Y9 |1 A* U
10. 已知ch是字符型变量,则不正确的赋值语句是( )。8 ^6 M- B$ t" o( n5 ~/ C
A. ch=5+9;7 E2 z9 u! ?; [2 e& e/ S: ^
B. ch='\0';
. _$ k; W p3 Z1 X. sC. ch='7'+'9';- Q1 j' p" M& d- j4 T7 p
D. ch='a+b';
' u! S. ~0 e$ q 满分:5 分! ^* N! N, D r) V5 T* H
11. 执行以下程序后,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); }
1 P; O; J* h4 P4 n' W* a+ q7 Z0 Z3 PA. 120
3 ^9 S+ C: h6 G0 a5 F% EB. 804 q9 ~/ t2 t$ }/ s( Q3 B. J! [
C. 12
* {/ q: J& n% o* a' G% iD. 8
1 R- K/ l1 p# _# M& R7 U# f3 g7 i 满分:5 分
& {8 {# m" D2 Q9 Z9 ]! V12. 若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是( )。. r" _& I2 h5 ^ @, i" \
A. 2( {* u) C& G4 |' Q9 n9 B$ ~/ d
B. 3
" N/ |# L8 F. {& K, w1 NC. 4
4 }; ]6 i" S5 n$ y( b' t: b5 Q/ MD. 无确定值# m1 e5 l ^, L5 z% c4 Q5 m% S9 @
满分:5 分
# f$ k9 [9 @- z, l. l: e% @7 T13. 函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针( )。: F* J1 @% C1 R8 k, z6 q4 I
A. 移动到距离文件头10个字节处6 \( ?" u9 w. P- Y6 q) {) s$ K+ j9 R
B. 从当前位置向后移动10个字节' d6 m1 A" O1 S' Z% O) I2 x
C. 从文件尾部前移10个字节
8 T, P! U) x6 f7 E0 H3 l1 pD. 移到离当前位置10个字节处
* r$ }0 R9 ?9 I0 \" g4 |/ p 满分:5 分
( L% M4 {9 s: ^) ^14. 以下程序的输出结果是( )。 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);}
: m% o0 |, [8 ^A. d=10" E$ S2 ^ t7 T7 n
B. d=15+ _, l y* u" F. G+ q' Y2 z
C. d=20
+ \1 H/ R4 |0 o0 O* sD. d=25
0 n% D8 F) j' w3 b( @# {( C( [9 z: V; W 满分:5 分
' K% U% {+ h" I15. 当正常执行了文件关闭操作时,fclose函数的返回值是( )。
* c1 H2 S3 L+ C5 z+ ?A. -11 w* f) t2 e5 C2 F) a) E
B. 随机值
0 b J( f; a9 V* E: {* U0 Z8 mC. 0
9 n" O8 E4 c6 [( {8 J0 ND. 1
! N% i' f; G4 K; x/ i( ^ 满分:5 分
9 s+ j4 L( k9 r, ~- o8 v2 N16. 若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。3 i, z0 t1 s( I/ q
A. *(a+1)
, c: I7 Q" l% \B. *(a[1]+2)
7 ^. R% B h, E/ R) [2 @% UC. a[1]+3" ]1 g9 M* K9 ^0 w6 W
D. a[0][0]
. E" Y6 w% v* u 满分:5 分
3 l5 J5 h/ W9 [5 K0 `5 \17. 若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( )。
3 F: l3 P& P* L( r8 a8 dA. a, p, &*a' c' o, l5 Q: `) F/ i& Y
B. *&a, &a, *p
& Y+ V+ V5 D& GC. &a, p, &*p
6 i+ G* I9 X1 z" lD. *&p, *p, &a"8 Q) m8 ?( j& H% h! F" p b
满分:5 分0 W$ O. \' ^+ }" P( F' M7 \& m) r
18. 以下程序段的执行结果是( )。 int x=-3; do { printf("%d\n", x++); }while(!x);
: [2 l; g: n2 u: _9 rA. -33 i0 S! O) `0 T3 y5 J% w) Y% ]! ^
B. -2# E& [5 V" y. x" n) f. S e# ~
C. -1
' ?* b, ?3 p! cD. 陷入死循环7 G. _8 e Q! i! R- V) g# e
满分:5 分+ J; m1 x8 i% U( f( R
19. 以下对C语言中共用体类型数据的叙述正确的是( )。4 O6 z `# [; E8 H4 w
A. 可以对共用体变量名直接赋值7 {4 |2 Z/ J+ E& K1 `" J" ~
B. 一个共用体变量中可以同时存放其所有成员
. T- s5 N2 S' G9 e- v: hC. 一个共用体变量中不能同时存放其所有成员, t' @& O1 u# h$ p4 r
D. 共用体类型定义中不能出现结构体类型的成员! t$ ]0 f$ Q. g4 _, z6 D0 E; \
满分:5 分. v# M" f: z) ]/ n) v: z; X2 P( P1 _1 V
20. 以下正确的定义语句是( )。' ^" O! }) P$ c" q( U3 r( E; Y
A. int a[1][4]={1,2,3,4,5};
- k/ [/ X6 K" |( [3 RB. float x[3][]={{1},{2},{3}};
: \& C* [2 t, C+ ~8 |% bC. long b[2][3]={{1},{1,2},{1,2,3}};
( r, U2 ^, k. t4 |% A+ xD. double y[][3]={0};9 [' h/ c1 y A9 c- U9 W
满分:5 分
$ c! U5 ]% m/ [7 y" h( d
0 e- ~9 ^. R4 m9 D5 ] |
|