|
一、单选题(共 20 道试题,共 100 分。)V 1. 若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。- I( `( d/ [ b
A. "wb+
- d: T; u+ @' y3 KB. "r+"
. W5 W0 I1 `8 mC. "rb+"
! |+ d$ p( O( \) ND. "ab+""8 U" X' O, n# L& L/ a$ E
满分:5 分. Q+ X" |5 J: [$ u( U
2. 下面对typedef的叙述中不正确的是( )。
- Z* [$ a+ S5 R; DA. 用typedef不能定义变量名
; G8 C& Q6 |. d: f0 P; [9 G0 yB. 用typedef可以定义新的数据类型% n( d" Q% I1 i; h r, c
C. 用typedef只是将已存在的类型用一个新的标识符来代表
1 Q4 E* k& t0 ?3 i; G9 i3 ]$ cD. 使用typedef有利于程序的通用和移植& V& _; p* C1 K2 T0 F* v, y3 u
满分:5 分% P3 j- |% Y: ^
3. 若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);0 Q! C: C% d4 B0 ~ I
A. a=10,b=15,c=10a=10,b=5,c=10- D& ?' |6 ~: t( D
B. a=10,b=10,c=10a=10,b=5,c=10
' u% J5 D4 \- G8 QC. a=10,b=10,c=10a=10,b=5,c=15+ ?1 H% e( ?5 f
D. a=10,b=10,c=10a=10,b=5,c=53 F2 ?# M' h g* o5 }' k `
满分:5 分+ b& S5 O1 v% f
4. 以下能对一维数组a进行正确初始化的语句是( )。) [7 @4 D9 E8 X& v" z+ D6 Y( O+ D0 K1 L
A. int a[10]=(0,0,0,0,0);; Z2 R- d6 y5 q: w
B. int a[10]={ };
2 x: d% S/ c8 r) o f+ YC. int a[]={0};
" D' Z# v8 N s vD. int a[10]={10*1};
% k! s" U/ \ O& `+ D: }0 U, | 满分:5 分8 P1 t7 p t1 p. k' E$ B/ Z6 N
5. 当定义一个结构体变量时系统分配给它的内存是( )。
5 g2 k, l+ {% N3 U$ GA. 结构中第一个成员所需的内存量3 A2 J/ c7 s( h1 F1 e9 M7 ^
B. 结构中最后一个成员所需的内存量! \ }; d1 c0 G5 L$ L: {
C. 结构体成员中占内存量最大者所需的容量
6 E- K/ c; f5 S4 Y5 B, [D. 结构体中各成员所需内存量的总和/ v3 I+ \1 X& m9 |
满分:5 分
: D6 c" W* q/ }3 f% e- k+ U6. 下面程序段的运行结果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);2 t' f" c5 }& ]! @2 A
A. 空格
+ Q8 x4 I( j' e0 ZB. \0
) _0 u" q$ U' H r' Q" x3 NC. e
- |; O1 s# ~4 j0 ?6 U. PD. f! K. O. A. x$ o) k) S* k; i4 c* b
满分:5 分
+ i! B+ @! V# k1 s# T7 O% K7. 有下面的程序段 char a[3],b[]="China"; a=b; printf("%s",a); 则( )。/ v* f! V# r3 L2 R( e6 \
A. 运行后将输出China6 m) t8 F* u2 V$ `, K& k* ~
B. 运行后将输出Ch* I1 d1 X/ G- ?7 I
C. 运行后将输出Chi8 r9 [" s1 g% @( ~
D. 编译时出错* J* n$ n; d3 j& s0 k! {7 X* M
满分:5 分
. S8 d% m! O. _8. C语言程序从main()函数开始执行,所以这个函数要写在( )。/ s3 U% }" R; `7 L. D# A: N) N7 I
A. 程序文件的开始
- o5 V( u* H9 c' f gB. 程序文件的最后; z" H. u' y: C9 v
C. 它所调用的函数的前面6 D6 ^8 L! D) c. d1 D" \
D. 程序文件的任何位置
# r! F' I) {: [& q8 w8 D/ G' Y! ] 满分:5 分7 b3 I; N' t+ o& r; R2 I
9. 若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。3 j$ t! Z; B5 N2 Q' X8 m
A. "wb+* a$ t# R5 z9 [5 O. v6 J5 i
B. "r+"
( T1 Y, f( W$ _, R- r3 W3 j5 a; sC. "rb+"( u) a1 m V% Z4 n% P; Y4 P
D. "ab+""9 N% c* p. ^) w5 j5 a9 N8 y- {4 b
满分:5 分
% b5 M0 m% l9 `: W8 O/ g5 e) \& }10. 已知ch是字符型变量,则不正确的赋值语句是( )。
" K' a; _5 d- S. k. S2 H( qA. ch=5+9;
: D h1 H' d: o6 @' }, rB. ch='\0';, [. ]- f" z4 B$ T3 L8 E4 r. b8 f( {
C. ch='7'+'9';
/ g! N% x# i0 s# v: pD. ch='a+b';# a: P2 Q6 c- t. G; ]% U" e5 v
满分:5 分
5 c! k% t; [' p; G11. 执行以下程序后,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); }
^& \# l, o: o" B' x8 E5 ?3 e7 IA. 120
0 Y2 J8 @$ y! u, D' ~) H& gB. 803 h" r% Z8 j8 n! I- Y7 Z4 |
C. 12# k5 ?0 S$ D5 V, f
D. 8, R; M5 [6 b. E
满分:5 分
o4 n$ p( t9 [1 K12. 若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是( )。8 W1 M9 c% [9 b/ ?
A. 2! L7 v7 X1 c5 B8 k
B. 3+ m9 b, L) r( d0 l# f3 z
C. 4$ @/ ^! q- G3 J: F
D. 无确定值
% k1 O3 i5 X' {+ [ 满分:5 分
U8 `0 \( U. o/ @( _9 x" Z13. 函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针( )。" h# B2 E# A) a. W2 V4 w' O
A. 移动到距离文件头10个字节处- }% s3 p: s. \3 `' J" O2 m9 s& K
B. 从当前位置向后移动10个字节
& j- Q% m- R4 u- c# }( HC. 从文件尾部前移10个字节
2 t' M2 r2 k% V& _5 x5 yD. 移到离当前位置10个字节处
+ i# _2 C+ G6 @6 w/ S- l 满分:5 分
1 o7 ~! y" T" ?) w14. 以下程序的输出结果是( )。 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);}
- i. Q' X% U7 {& Y+ T5 wA. d=10
5 D7 i8 z6 _1 J+ R- o. \5 w( F5 i- dB. d=15
7 x5 {! Q$ D2 K& XC. d=20! M' h% M) T$ L! l9 L) M
D. d=25! I7 A# [7 W; n7 |
满分:5 分
" u% w7 P, m. d: e* P# k& A. B15. 当正常执行了文件关闭操作时,fclose函数的返回值是( )。
4 ~/ l4 o$ Q% Q/ I S# qA. -1, x6 Y( Q' z& @, p+ ^+ `
B. 随机值
2 z( i' {$ N5 pC. 0
& L) J, d: O( M: U( g0 n- P! XD. 1& m# A% @3 H8 G# D9 U
满分:5 分
2 V2 m$ ?) S! o( m3 Y7 c16. 若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。
5 g+ ^' g0 E, T/ SA. *(a+1)
1 ?* U& g8 x4 A% n+ L7 [B. *(a[1]+2)& t# B( A/ o: H
C. a[1]+39 U, Y! g6 k- {
D. a[0][0]
" _, @2 }$ h( z 满分:5 分
1 ~5 [; z# A; @& k. k8 Z17. 若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( )。
. K1 Q" K p2 [" [8 h8 M1 ?; m/ bA. a, p, &*a2 K, q; G7 ]' ?! T: I
B. *&a, &a, *p7 ?; C2 m3 _ B. I8 r/ K* l
C. &a, p, &*p. X# i) r/ _0 J& k' a" ~4 X
D. *&p, *p, &a"! o8 ]4 A: [/ {: Z/ ~9 z
满分:5 分6 T* ]/ i' n; t2 D4 `
18. 以下程序段的执行结果是( )。 int x=-3; do { printf("%d\n", x++); }while(!x);
3 a5 ?4 i5 {. e9 g4 qA. -3
* o7 E7 C( }. ~* SB. -2
- u& b; U; F0 H8 Z. _C. -19 B" X5 W$ ~ u0 k
D. 陷入死循环
& d3 L: i* Q% m1 \/ z0 f1 o 满分:5 分
9 h: s1 b: R l6 Q& J, V19. 以下对C语言中共用体类型数据的叙述正确的是( )。! ^6 g a* D: O7 V8 e
A. 可以对共用体变量名直接赋值 q# v. i0 `, X c6 ^6 Y
B. 一个共用体变量中可以同时存放其所有成员
$ E$ C8 |3 ]- ^6 r: C. BC. 一个共用体变量中不能同时存放其所有成员# H' {; ]1 o4 y6 Y* m- n: I6 T
D. 共用体类型定义中不能出现结构体类型的成员" o8 f O ^& i, j" f
满分:5 分
4 `2 o" e/ H7 q4 i) }2 E% c7 p20. 以下正确的定义语句是( )。
" d" R ^, f7 b% h9 D8 T yA. int a[1][4]={1,2,3,4,5};
. R- x8 y! g) L$ s0 H9 \- E. XB. float x[3][]={{1},{2},{3}};
, c# q. z. X# v" b5 H9 hC. long b[2][3]={{1},{1,2},{1,2,3}};1 O' ^0 m/ ]4 Q# \
D. double y[][3]={0};
1 k0 d& w0 X' V6 R5 |7 r 满分:5 分 , v0 y- S f4 e3 | l/ _
- {! P* a2 g# X$ s, a |
|