|
一、单选题(共 20 道试题,共 100 分。)V 1. 若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。
2 I9 R n3 }( E' GA. "wb+# c7 \; |6 I3 ~! z
B. "r+"
1 M, y* D7 j8 o" XC. "rb+"+ u7 e" ?( ?+ H) W( n9 I" x0 \
D. "ab+""
3 s; K9 I0 N: e. U3 g 满分:5 分
$ I0 U2 j) \7 _+ D9 s' o5 t) J2. 下面对typedef的叙述中不正确的是( )。
% |+ f* \; l( B EA. 用typedef不能定义变量名
% a' n$ k* o2 D0 S" C0 A( M4 MB. 用typedef可以定义新的数据类型# X1 i+ U9 K" [6 M; ?! O/ D
C. 用typedef只是将已存在的类型用一个新的标识符来代表
1 D" K, R2 b! A9 `( XD. 使用typedef有利于程序的通用和移植) @* d' H; E* I5 K, U
满分:5 分
5 f6 J5 U: I% X* J' d' Z7 E3. 若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);' ]; y' o Y; ^& S% ^
A. a=10,b=15,c=10a=10,b=5,c=10, o; H: n9 N+ ?- r
B. a=10,b=10,c=10a=10,b=5,c=103 `% e( E" c3 ^9 ]; q' L
C. a=10,b=10,c=10a=10,b=5,c=15! ?" |* } a% o- s
D. a=10,b=10,c=10a=10,b=5,c=5
) a# q7 t, |7 _: f A4 U2 v) G 满分:5 分
1 J* Y* A B3 D m' `- l8 }4. 以下能对一维数组a进行正确初始化的语句是( )。2 y# X6 E1 U* V" M9 V, m* v
A. int a[10]=(0,0,0,0,0);+ O" N+ \) z6 B* P- Q ^! S1 c( I# p* f! m
B. int a[10]={ };
& B, @7 O6 R, Z O+ DC. int a[]={0};
( c6 o `" l) T3 B1 Y! vD. int a[10]={10*1};; Z0 t# ?* k2 o Y1 k' ?- v
满分:5 分
& [8 ]/ d b2 B E# \5. 当定义一个结构体变量时系统分配给它的内存是( )。
0 C- j/ ?3 a6 e( bA. 结构中第一个成员所需的内存量
( L5 e4 s7 G5 [5 [B. 结构中最后一个成员所需的内存量
; E u/ U$ O7 h" k3 x( s4 Y* LC. 结构体成员中占内存量最大者所需的容量$ a# M9 O; c" O
D. 结构体中各成员所需内存量的总和
% p) y2 e% W) z 满分:5 分8 A$ _% Q: ^, Y1 Z' ]& i8 _
6. 下面程序段的运行结果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);- O2 @' m) w4 J7 e, q; ?2 S( y1 @
A. 空格
& [$ t% \/ {* n9 e q) WB. \0
1 C5 y1 _- V; jC. e
3 n. N/ k* G% E1 uD. f& M. y( B& ?% H" G$ `
满分:5 分
9 u! P5 t# D: Z0 z8 O7. 有下面的程序段 char a[3],b[]="China"; a=b; printf("%s",a); 则( )。
6 @/ t& n" K( j+ \A. 运行后将输出China H/ |8 V5 o' E2 v
B. 运行后将输出Ch
" V4 l. q- a# P ^7 PC. 运行后将输出Chi
! a8 P- k5 \$ p( hD. 编译时出错/ t `& I; {" R f4 ^7 V0 I7 s
满分:5 分
2 q! G# B( E R1 O8 V8. C语言程序从main()函数开始执行,所以这个函数要写在( )。
4 L' g4 k" \* f; T9 q0 j/ K# wA. 程序文件的开始
$ }' R+ l# v1 U! CB. 程序文件的最后9 y y1 d+ R) d" n4 f! ?
C. 它所调用的函数的前面
; d: u/ ^& _- cD. 程序文件的任何位置
/ f& _5 Z* H1 A K& w1 {' @ 满分:5 分1 f2 X- K0 o; H% e- ^, }3 W
9. 若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。) U6 Q% y0 |& w F
A. "wb+
* g( _, e4 Q! M% MB. "r+"$ ]( I5 f' f0 D
C. "rb+"
5 ^2 a" A) U( \( z; S5 z( vD. "ab+"") x: l) M# i# ~1 p3 h& k
满分:5 分+ a/ t |; f r, U* s6 ]
10. 已知ch是字符型变量,则不正确的赋值语句是( )。
$ n" O8 A/ |7 v/ v% V+ fA. ch=5+9;, n7 i$ Y/ I, ^
B. ch='\0';" Z2 G( U$ u: [9 f- }
C. ch='7'+'9';* F& n1 V( j1 y* H) k
D. ch='a+b';: Y$ l y, P% k% D' @
满分:5 分
# d4 ]; ?! N M11. 执行以下程序后,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); } D6 E; ^' e. K1 ]6 i
A. 120! Z+ X' |: J9 r* o8 T* ?6 u# ?/ u8 @2 r
B. 80% |" O. E( ~" O& q
C. 12# w! m: x' t) `/ a' O. |
D. 8
2 A1 T6 q- ? b2 @# v6 ^ 满分:5 分! E9 D" E& d- T O+ ]$ S, |
12. 若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是( )。
! z, ]) X! w% _8 }* h4 yA. 2
+ b1 L' a/ G- f" A; a1 iB. 3
* k3 D9 T- [# x' {0 G0 VC. 4) U+ D0 V- p! }' h+ i9 M8 ]: F
D. 无确定值
4 S0 l7 E8 ~: L; s D- U6 R 满分:5 分
6 k' m) j. W( G! C8 F( B+ ~13. 函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针( )。+ @" {: E* Z) s
A. 移动到距离文件头10个字节处
- C9 S) J. N1 T6 l3 F# ^% hB. 从当前位置向后移动10个字节. R9 D' O' f c- d! ]- w
C. 从文件尾部前移10个字节
! T+ {: ]0 k: v- m" I' CD. 移到离当前位置10个字节处# a6 `: {6 c5 U+ H: [
满分:5 分4 P: F+ r. C- k% n
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);}
4 f& P9 l, W5 N% cA. d=10
( h6 k$ A$ t6 p2 f; l% xB. d=154 E p- C; r/ h/ V% h9 `2 _
C. d=20
' J$ [+ f# r- K3 [3 ]: uD. d=254 y8 _, G( {$ Z3 D9 D" `9 p H$ D
满分:5 分& K) V; Z6 o8 O) K1 O# X5 o
15. 当正常执行了文件关闭操作时,fclose函数的返回值是( )。
' n9 E9 Z3 |- N$ L* OA. -1
. l, ~, D9 \ ]B. 随机值, _) r+ _& @' l" U
C. 0* `* V- s8 y8 E
D. 1" L) S3 a' H, H
满分:5 分
8 `+ T4 o2 b! l) U" M% V( s' L9 n16. 若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。
6 L7 R8 D" S5 W; uA. *(a+1)
0 P6 {/ E( R. K, v% |/ t( ?B. *(a[1]+2)
* E0 k& e/ c& r9 q+ C7 |" [C. a[1]+36 h2 r f, | o. D
D. a[0][0]
3 `9 D7 O2 a( u) H 满分:5 分
( g! b7 C/ G, [, f9 ]. ~, K9 D17. 若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( )。
. d. V' m9 d7 b. eA. a, p, &*a, [9 x* j9 \5 G5 |: G v/ P2 ~
B. *&a, &a, *p0 i! H& {; F( f' L6 m/ |1 H2 q4 L9 u
C. &a, p, &*p5 K8 K u5 y- A! v9 j
D. *&p, *p, &a"
1 {& I& A( a( T% ?% o( p4 H 满分:5 分
7 w4 O3 L8 _& @4 i! g0 `7 M. J18. 以下程序段的执行结果是( )。 int x=-3; do { printf("%d\n", x++); }while(!x);2 J0 |1 T# p0 D2 r* G( _( X' x
A. -3
* U8 V9 C/ F( Y$ B vB. -2
& O! [* [, _+ E* t. YC. -1
' T1 Z& q9 U; H/ B+ ^, rD. 陷入死循环9 \* f; |! m9 |1 Q1 p) c
满分:5 分) m! g7 @9 I8 w7 V9 n/ m# _
19. 以下对C语言中共用体类型数据的叙述正确的是( )。& Q% u& o8 R+ C
A. 可以对共用体变量名直接赋值2 @7 v" H5 a. ~* }' e; q
B. 一个共用体变量中可以同时存放其所有成员
* T2 L3 ^% {/ }3 BC. 一个共用体变量中不能同时存放其所有成员
* l7 G0 ~. {1 {/ U! `$ G$ ]$ |D. 共用体类型定义中不能出现结构体类型的成员
( {1 {+ x5 Z6 L+ K% S5 f: s' } 满分:5 分
* I' x' ]! K9 ]% Z& d; t20. 以下正确的定义语句是( )。
1 L. X3 i! r" k9 K' c0 b: ]A. int a[1][4]={1,2,3,4,5};" P1 r* m0 {! w
B. float x[3][]={{1},{2},{3}};3 p. e/ x9 J: f+ x$ l; M, c9 l
C. long b[2][3]={{1},{1,2},{1,2,3}};
' V' m2 x0 e1 q3 }: S! M( _' m8 y/ {D. double y[][3]={0};
$ c& [# Z. I7 _* | 满分:5 分
7 T; ~( `, @4 c3 b7 l
/ F8 W# k; m! v. _) J |
|