9 Y1 g* D9 `9 {7 O6 R1 c试卷总分:100 得分:100+ h1 x* {# F% ^" R3 }( F2 A9 v
第1题,一个C语言程序是由
# W& m* U; p; V& xA、一个主程序和若干子程序组成
) ?" `' u% t# C. pB、函数组成
: O5 J/ B( ~8 R2 `" WC、若干过程组成1 y; Q) g* H( i% W# C
D、若干子程序组成
- g- j8 h$ x, e6 i# t; h, U6 l1 s正确答案:
& d' I, ~2 v- U( {3 ] p
/ a0 N, |* A ~2 ?
6 h, ]/ H% X, E" Z- Q2 u4 u第2题,C语言中,能识别处理的文件为
* H' V. H: g2 C8 C) l GA、文本文件和数据块文件4 W& y0 W% d6 c
B、文本文件和二进制文件) ~3 }5 U g" y2 G
C、流文件和文本文件
) X( j; s2 v0 JD、数据文件和二进制文件. v9 i7 F- L) D8 b1 ^# _3 ^
正确答案:
0 U& _' J: O( o' _1 r! {
0 u8 ?5 j! c' {2 L0 l, S4 T1 Z# B& @% Y' u
第3题,下列程序的输出结果是 int b=2; int func(int *a) { b += *a; return(b);} main() { int a=2, res=2; res += func(&a); printf("%d\n",res); }2 S8 [, F: s2 p
A、4
! G* R- S" m( [ W" m7 b. MB、6
' _2 M$ g# K5 F; m$ q. @C、8
5 p- D* R, s W0 O4 V" A: s9 WD、10
: p( W" M9 a, X# G1 h3 C& a" R. i正确答案:& b$ w! m0 ^# ^" e f, O0 V/ t
' i5 a0 a: z' N
; ~2 l1 r9 ]0 y4 K
第4题,函数 rewind 的作用是
: w- D/ p9 p5 e$ f+ p1 ^A、使文件位置指针重新返回文件的开始位置* c. a/ C) ~. D, T9 M
B、将文件位置指针指向文件中所要求的特定位置
: R2 p2 [) y/ }" oC、使文件位置指针指向文件的末尾
4 L1 p; o$ L9 ^# oD、使文件位置指针自动移至下一个字符位置: j" c! ~5 I0 R6 l+ H: t' a' i
正确答案:
, w, t; T: ]: f U- I7 m; F+ _5 o* J5 E' B1 K6 ` y2 m; X
* x) W, F6 W6 c9 Y
第5题,若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为/ w j, b5 p; X V! B6 S; V$ H( v
A、4, {! ~4 z S, J" g9 F
B、169 S( Q0 ^- D8 i0 q4 @
C、32% z6 S1 D# x) L+ H+ M
D、52
' x! g3 S) [- h& f* [* L正确答案:
( j1 q2 Z& j9 @6 J3 g
9 B6 x3 c# }/ T9 G$ K" K% {" x5 ^* u3 s" G$ X! p4 O
第6题,以下叙述中不正确的是/ @0 o% r& I3 \. [0 ]
A、在不同的函数中可以使用相同的名字的变量
, @& }1 t6 j4 D! Y8 y) G3 rB、函数中的形式参数是局部变量
5 U3 q2 b N$ B" {3 z4 aC、在一个函数内定义的变量只在本函数范围内有效
" E2 A% ^) P; h3 r8 x. KD、在一个函数内的复合语句中定义的变量在本函数范围内有效
! Y" c( w( q# K正确答案:
! f) P" j" B; o2 \: A( n" e5 S& R: q, u: L3 J* }: `
9 H' `: c' ~8 d( x2 f7 ^第7题,下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}. R4 r/ o8 L- B6 B; e
A、3' j& E* P7 r. ? a# H* B) K+ h0 m
B、4
% w" v/ F$ d! E zC、1
$ d9 Q; M) i0 k O! OD、20 c: G0 r: ?0 h; h
正确答案:
" T" V% U! F( U! n2 i% H
6 |2 A0 ^/ W& d V6 r- e( a# L( K
. j3 _ ^# A5 Y8 j4 P9 i u第8题,下面程序的运行结果是 #include main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }8 w4 F6 @+ @8 d; T
A、1
0 G# L% J0 }' N$ RB、1
" C& T4 d! d& kC、8|8 C9 P' g7 A7 A' `& U, |, @# k
D、0
0 c9 G& D( r7 s) Z" U6 d正确答案:$ ?- y# J3 f$ x1 E
. U+ Z6 L4 p4 E
9 E& S D: H. J) O9 B
第9题,在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
" b2 n$ m( F! t Y: {3 {: x. nA、11 `9 ?$ r3 F# z, L
B、2
, M, ^: n a2 z, cC、7
; j4 @' s/ Z2 O5 q* U) R3 s& _D、11! T; T0 P; W, I
正确答案:! T; i+ q4 h b: K, ]! i
$ n. @, r% [& y0 y& q! j- ^
# k7 r( q0 V# i a/ k+ p第10题,阅读以下程序及对程序功能的描述,其中正确的描述是 #include main() { FILE *in,*out; char ch,infile[10],outfile[10]; printf("Enter the infile name:\n"); scanf("%s",infile); printf("Enter the outfile name:\n"); scanf("%s",outfile); if((in=fopen(infile,"r"))==NUL
% R" M3 p# l% i/ xA、程序完成将磁盘文件的信息在屏幕上显示的功能
7 f. \+ ]- l/ K3 k# U/ {: k6 DB、程序完成将两个磁盘文件合二为一的功能5 n6 o* }% S) |3 A; R- h
C、程序完成将一个磁盘文件复制到另一个磁盘文件中
9 K+ z3 z" s" q5 P4 {8 A' SD、程序完成将两个磁盘文件合并并在屏幕上输出
: Q: i$ @! |/ r5 z) G. _正确答案:
4 v; r# _; q/ Y4 q% q& A+ o& L7 y8 _8 n3 v& o
6 \/ \$ g$ @% R' Z+ J# C第11题,在C语言中,正确的int类型的常数是:______。
5 l# [* j% i2 g P" D2 BA、0
& {& R3 R0 A+ e1 v/ TB、327689 `9 G6 P5 ]: r3 i2 L; b B
C、037
" o1 I4 g" v% A# f* b4 w' ZD、0xaf
- _0 c6 S& y' a+ C- f: Y正确答案:7 {: P5 C. D J( Z8 D G
: P) ~2 \% b/ l( J
) d) b. d& J+ X i+ i第12题,设有如下定义:int (*ptr)();则以下叙述中不正确的是______。8 A1 U4 `/ _" b4 i
A、ptr是指向一维数组的指针变量9 T* m3 k3 m7 ~' N
B、ptr是指向int型数据的指针变量4 I- W! R& Q' x, w$ x
C、ptr是指向函数的指针,该函数返回一个int型数据
; Y/ F6 r0 y* RD、ptr是一个函数名,该函数的返回值是指向int型数据的指针
S$ a( ?) U7 N& V& X- b) K, D正确答案:
* @3 U6 h- s* ]% D
~* y7 Q) W G" d& h* L5 O7 D0 Q" `( g; Q# j' m
第13题,以下不正确的叙述是______。
0 l4 e" @* d, R1 wA、C语言的主函数是无参函数
' t5 h2 ?3 M! S3 e( N- _) L: JB、C语言的主函数最多允许有1个参数4 j7 G7 ^3 @. b9 B# u
C、C语言的主函数最多允许有2个参数" k1 d3 _* x) \
D、C语言的主函数可以有2个以上参数
% k d+ t. A9 \: V5 m2 x( ]4 i正确答案:/ _ {7 Z1 m. e! K% q7 N
, d* f5 \: i0 Z% h1 A. d0 } x6 B
第14题,以下说法不正确的是______。
# k* I! P6 g% t) D# {A、定义函数时,形参的类型说明可以放在函数体内: b$ l2 ^ e: X7 @
B、return后边的值不能为表达式3 ?' {6 c$ \6 ]$ B1 n
C、如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准( F2 J3 s o1 A# \
D、如果形参与实参的类型不一致,以实参类型为准5 f% ~9 T. y- S+ u
正确答案:( ?; a$ f! d5 t
6 Z( ]8 @( o1 M, L% v
( W' ^6 V1 t/ i: p/ n( q0 f7 I2 L- e* i第15题,下列描述正确的是
7 ]" Q- I3 Y, H; kA、由main 函数及其参数argc和* argv[]可以实现命令行方式' b. x8 @$ K7 P% _4 [7 T
B、使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
7 q6 v, q' Y! ] x2 ZC、字符数组并不要求它的最后一个字符是‘\0’
% m! k: |- i2 a8 hD、‘A’和“A”都是字符串常量
0 T9 [; N0 `1 j; ?9 L9 ~4 C& k+ t正确答案:
7 Z& Y- }! N4 G4 X' J9 x' y
1 M$ V3 D5 h { q# d
! D) Q6 p* M# b1 [第16题,putchar()函数可以输出一个字符串
: \: }0 Q! ], ZA、错误; g- ]9 Y* L2 B9 `$ R S1 {# S) {
B、正确, _! |$ I8 J& e! B# `9 X
正确答案:
: N" f J! [& {! H( Q
9 P4 b! J. c4 t/ m! w# ?, i& K. T& V, \) M
第17题,对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。1 j% m4 G1 X+ T3 Q8 E: y( ^" W* b
A、错误
7 C) [( a) w/ q, RB、正确
( H3 I9 v6 H4 H5 D) s$ y正确答案:* O5 \2 \( k2 B% A& Z* W& D9 i$ F
/ F4 e( K, I5 f7 h4 p# [& p
' F: s+ Z% t: ]第18题,puts和gets函数只能输入或输出一个字符串g) _) {1 i7 {, y& ^- Z
A、错误
& o3 _% q( @( f: G$ |! Z- t6 IB、正确
. U/ G' t0 j2 h% [; B& @8 R正确答案:
$ f' E6 b) |1 x6 I% q! W* k4 O9 z" M+ C% D0 d' b1 D4 n+ Z. E* c
: u$ f3 B" _0 w4 x! {
第19题,C程序中各函数之间既允许直接递归调用也允许间接递归调
M/ V& l; G) {2 Q, N9 xA、错误; x _( B. Z' R/ A4 R
B、正确
+ H* l0 g3 D3 k1 G) h正确答案:
/ C* `1 g' ~/ y9 R' T, \
6 Z% c0 b( Q4 S2 _0 i, A, t5 ^; ^: n0 ` S2 p1 h5 \( o! U6 i
第20题,模运算符要求两侧均应为整型数据。( )+ I0 j2 L2 ?: [3 ], v) F
A、错误
2 ]+ o2 G# k& ~ ], K2 p1 V' sB、正确
. u1 A H7 A. b' u正确答案:) G/ K [$ f$ S. B Z- }
3 B* @8 t8 J+ S% H7 O& ?& T- c. t( `! t% c, {* L% i3 ^
第21题,调用函数只可得到一个返回值,而用宏可以设法得到几个结果。( g) e/ r7 B% v: T: I. l
A、错误# X" |0 O' F+ L# j$ _; n% q
B、正确+ y9 O" X6 {& t' u: Q/ F' N
正确答案:# F& ^: r3 p/ Y, k/ h: N8 u
# |3 e2 k C2 n& X0 P! b8 A" ?
/ X3 E) u9 D1 Q' X第22题,使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”( )* `. V9 U5 J! O* ]6 h0 ~ F6 T4 V
A、错误/ x% i- z/ [, D" {0 u" Q) H+ B
B、正确6 m9 s: ~$ x2 y
正确答案:
: O" ?8 m: i8 i1 n- L2 l# G2 H0 _& J0 t+ N" o8 R
7 M u' ]7 _. ]# m- U) d6 N第23题,C程序的执行总是从第一个定义的函数开始
- c1 Z" ^) i. u" S: ?; FA、错误2 d: O+ g h% r, `
B、正确
$ w% x& Y9 R R2 r6 c5 \正确答案:
# d, n, q% j' g# N- I
* s, A9 L+ r! I+ u3 m
) C: l: K5 q8 S9 P1 P% L第24题,宏定义就是用宏名代替一个字符串,也就是简单的置换,不作正确性检查。/ T6 d) S1 W* Y
A、错误
6 W O S1 Z/ ~) {2 M8 wB、正确
% A$ S! S* B! s正确答案:, s; ~; V& ~: }5 _- q
& p: {, D' I+ ?% t3 V# @3 g# p, W @8 R
1 A) \$ L/ j. F: W9 E, k0 L3 W第25题,for(;;)语句相当于while(1)语句
# e; d1 N& X vA、错误l, u H3 e1 O C# A5 p7 s6 X
B、正确
: a! v4 L3 U) _正确答案:4 h$ ~7 Y9 w8 S( v3 i, Q
; f- c. f) A$ Q/ \/ \( N. C" r
8 ^" T3 |( R' o2 o8 a4 D+ }% Q