|
一、单选题(共 20 道试题,共 100 分。)V 1. 若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。, g7 x8 v' c: F1 y, J4 W
A. "wb+
I4 e- `. `8 }! F/ EB. "r+", D& P2 Y, B# q* B
C. "rb+"
% B! G) g* t2 P: Q- j6 M* V3 T8 \) iD. "ab+""& f5 [( G3 r' c5 i6 G7 c
满分:5 分8 H& q1 s. w6 y
2. 下面对typedef的叙述中不正确的是( )。( h5 W0 n7 H& g N1 k5 m- } |+ `# Y
A. 用typedef不能定义变量名
; e* }$ ]/ }' Q( P7 k, FB. 用typedef可以定义新的数据类型
! R5 v4 h) l7 `& f1 m3 H$ Q1 DC. 用typedef只是将已存在的类型用一个新的标识符来代表9 t3 y. i4 ?) i/ R% C/ }0 Q3 i/ z
D. 使用typedef有利于程序的通用和移植0 O3 e/ ?( R5 ^ g( ~/ U* I# S. l% s
满分:5 分
% E* G7 x* n4 n3. 若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);
6 [# S, l, n! z$ J+ {9 B5 sA. a=10,b=15,c=10a=10,b=5,c=103 @% y- N" j6 ]) [, M- @" }; ?
B. a=10,b=10,c=10a=10,b=5,c=107 _: a9 n( q1 q. z% Q& ^) E
C. a=10,b=10,c=10a=10,b=5,c=15
9 g* l! e Y: S d3 zD. a=10,b=10,c=10a=10,b=5,c=5
7 u* n% c2 z/ F6 f G( t: |- d 满分:5 分
( O; G6 f) {' o1 T- B/ V4. 以下能对一维数组a进行正确初始化的语句是( )。
c5 N M7 R0 ?! V% p" z& GA. int a[10]=(0,0,0,0,0);( g( |5 ^9 v0 ^7 q4 `
B. int a[10]={ };3 R0 G- d% s' u, k, v3 o
C. int a[]={0};
M9 g! k4 F& p" g8 X, _0 j/ G# B) pD. int a[10]={10*1};2 T0 F% C% c1 J' i/ S
满分:5 分4 Z7 v: e1 q+ |" V
5. 当定义一个结构体变量时系统分配给它的内存是( )。' t0 P# \4 W" r; e
A. 结构中第一个成员所需的内存量+ t6 E e f; o1 ?9 N J* d
B. 结构中最后一个成员所需的内存量8 H" `' K& b' F! ]& \4 ~
C. 结构体成员中占内存量最大者所需的容量; V8 H4 M3 n4 d' q8 p5 n' G5 ?. l N
D. 结构体中各成员所需内存量的总和
! L. @, Z$ L$ D4 v1 O 满分:5 分
& j: }! {- ^2 s5 u# T$ |, b/ E6. 下面程序段的运行结果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);
. Y$ p; E4 H5 F4 sA. 空格# C3 k5 i$ `' \: L; t; B. D; p
B. \0$ n( t3 {3 j( V3 @) K& E
C. e; l1 H: Y5 @+ @/ q4 g* i: O; e
D. f+ {8 S- D6 a! G @: G* a
满分:5 分1 ]6 m3 {) B4 C( C
7. 有下面的程序段 char a[3],b[]="China"; a=b; printf("%s",a); 则( )。
2 k; ^' I/ o: x( G( v4 OA. 运行后将输出China
5 N5 T( W6 r* n! XB. 运行后将输出Ch
( Q( j7 J: u+ @/ H$ v$ A3 _C. 运行后将输出Chi
! e! l9 i. Z" i, a- [! MD. 编译时出错* `6 R; l8 O4 v( }! c8 x. Y, B
满分:5 分' y P% I: q5 J& o' b$ O$ i
8. C语言程序从main()函数开始执行,所以这个函数要写在( )。& i0 @1 ]8 l2 t
A. 程序文件的开始
" b$ v% P, J! {0 i6 s+ W, R; ^: BB. 程序文件的最后. A6 b1 J) `4 K4 X0 b9 `# u" G" X1 L
C. 它所调用的函数的前面6 a8 O& h7 N" F/ E) l
D. 程序文件的任何位置
, V0 c8 W6 \8 f2 C. o% B; q 满分:5 分
/ t. X2 f3 J( m2 C" t/ t9. 若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。
' |% X+ K+ S4 `5 H' Q4 m& [A. "wb+: _3 n& Q9 X/ `% b
B. "r+"' X( U8 l6 \8 l0 d9 K
C. "rb+"4 f# Q: ~" b1 ?1 a, x
D. "ab+""; _9 r3 v6 P& A
满分:5 分5 B) u1 J. U+ ]1 f$ s7 ?9 F
10. 已知ch是字符型变量,则不正确的赋值语句是( )。( c- C) ~$ ^6 I3 o. ~2 v
A. ch=5+9;! ?( N& r. Q0 D7 p' }7 J
B. ch='\0';4 Q4 |3 P( Z$ w6 y8 d. g
C. ch='7'+'9';
6 B! B4 E! C SD. ch='a+b';
- \ [- x; A: e+ H+ y( @ j* U 满分:5 分
, q9 \* K& s0 s. ]) S! @# i$ [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); }# n3 L9 W8 ?8 @8 M$ s& k
A. 120
5 H, x' a$ N( W& TB. 80
. S3 H6 V6 ~4 lC. 12
* o3 P5 w* v1 L* jD. 8! S/ m/ c) I' l6 i/ [
满分:5 分' k* u, Y$ R; h
12. 若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是( )。' P" W: P- j) j, L Z5 u/ M9 N
A. 2$ B* W- R8 B% W$ W/ O8 L! b& n$ V, j
B. 3
* J; n" K! o! _1 ~C. 4 Y" z9 {: T" j
D. 无确定值" D) |2 B5 }7 Z9 a/ O
满分:5 分& h% p4 c: ?6 p: J' E
13. 函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针( )。
0 `$ F/ H1 K k& vA. 移动到距离文件头10个字节处: l0 a e" }( s) ?" d. N1 K
B. 从当前位置向后移动10个字节# V7 z3 y3 e P, K( g* d
C. 从文件尾部前移10个字节
5 H( r+ [8 o( ?" f+ }D. 移到离当前位置10个字节处
3 P% n- P* ?3 f- X/ j. W- h% ` A 满分:5 分
8 [) I9 u; q! |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);}2 O# G g& r, S# I
A. d=10& A( z `/ I" d* S/ h- M7 d1 ]4 p
B. d=15
: z- M5 V: h" JC. d=20, L) `8 P1 B. O. ~6 a# }4 G. u
D. d=25: ?5 \5 J* p5 Z
满分:5 分# W0 P2 N }+ H5 n, o+ z
15. 当正常执行了文件关闭操作时,fclose函数的返回值是( )。4 V) ^, u# [* E' v, o
A. -1) j: n. j+ c; K3 Q+ \ F- w
B. 随机值
' ]1 h4 y) g# q- zC. 0
0 J |% E" K( W) F3 O( bD. 1
+ \+ G1 z6 _4 z2 D1 \ 满分:5 分" d# D& X( h, W$ U0 r8 `& H* F/ M! ?# {
16. 若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。
. [0 j$ T2 }3 O9 c4 \, y9 a1 fA. *(a+1)* B2 i& | T) G
B. *(a[1]+2)
! O. W3 [; W3 yC. a[1]+3
5 z9 j, K' }) x& h/ SD. a[0][0]
4 i- f4 z! ]! A, |: n4 e! | 满分:5 分$ g& {0 f! H, o( X& w" v
17. 若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( )。4 S/ v/ A1 D, l# f% \: @9 Y5 D. A
A. a, p, &*a, c- w! l( A4 Z" j
B. *&a, &a, *p
. y# }% {8 `) d/ pC. &a, p, &*p5 H6 |# m( k" c6 Z4 G1 X8 _8 d
D. *&p, *p, &a" ~3 k# q+ h8 O8 Q. b" v- T8 q( N
满分:5 分
; D: ?, ]3 T0 I5 [0 [( C9 ]; W6 N18. 以下程序段的执行结果是( )。 int x=-3; do { printf("%d\n", x++); }while(!x);
: P6 `/ |1 |* h' W9 VA. -3
1 _1 H5 k! N0 J$ C4 RB. -2
) ~4 N% F$ `6 MC. -1* M. c4 y3 v. V) ?" W7 \
D. 陷入死循环4 l% M9 f# F0 R/ c
满分:5 分
- x7 U* ~' a; ^% d2 U. l% G) i0 W19. 以下对C语言中共用体类型数据的叙述正确的是( )。
4 r# v- j4 V$ Y; O1 }! |A. 可以对共用体变量名直接赋值
/ o0 f7 U4 B8 [8 P6 ?, J/ F$ Q( tB. 一个共用体变量中可以同时存放其所有成员2 _. B: m6 g& ~0 O6 p$ c
C. 一个共用体变量中不能同时存放其所有成员' R9 Z; e7 G; @5 b& A m
D. 共用体类型定义中不能出现结构体类型的成员1 ]5 c( J9 q h- i
满分:5 分! i9 F' F v! p* c' g9 j7 {7 I, v
20. 以下正确的定义语句是( )。
$ q0 x: i* [. k% tA. int a[1][4]={1,2,3,4,5};% C, V( Z6 `' D* ~+ w2 T# s& y
B. float x[3][]={{1},{2},{3}};9 {8 Q2 C- V) ^2 P7 Y
C. long b[2][3]={{1},{1,2},{1,2,3}};
( U% q( d2 |- o! v3 J+ f' G" VD. double y[][3]={0};
' ]0 }& M1 B& t) l8 b1 C 满分:5 分
: b n' E( [8 w* t
+ T8 W2 }. |. F6 X7 g |
|