|
一、单选题(共 10 道试题,共 40 分。)V 1. 阅读以下程序及对程序功能的描述,其中正确的描述是 #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( v3 {% p# s2 W: LA. 程序完成将磁盘文件的信息在屏幕上显示的功能$ D. `. q4 O5 \7 v: R
B. 程序完成将两个磁盘文件合二为一的功能3 v/ N/ T4 R% D) Z
C. 程序完成将一个磁盘文件复制到另一个磁盘文件中 P! [/ r7 _# N5 o) f2 M
D. 程序完成将两个磁盘文件合并并在屏幕上输出6 j: Q+ @8 Z1 M' C& E5 E& @) a- w
满分:4 分
2 q4 _- P N4 S2. 以下不正确的叙述是) _4 F# w4 d, L$ q2 _* V
A. 在C程序中,逗号运算符的优先级最低
; J& ` i7 B$ n+ Z: kB. 在C程序中,APH和aph是两个不同的变量7 b+ R- K4 {0 [1 Z7 {- @
C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变3 b6 I. f+ y2 W# x6 M* n
D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
! S4 i7 e" Q1 _ 满分:4 分3 L) A0 S6 ^$ t% C2 A! K$ X# E
3. 下面程序的运行结果是 #include main() { int a=1,b=10; do {b-=a;a++;}while(b--<0); printf("a=%d,b=%d\n",a,b); }
1 Z* A+ h6 N& I% @4 x' n+ hA. a=3,b=11
4 ?8 L6 @5 g) w! I/ cB. a=2,b=8
6 x2 F0 v& w, v/ w* M* T# A" S' ^C. a=1,b=-10 d1 d9 W+ U0 L" F' }
D. a=4,b=9
; K2 L' o- G$ l% V7 {- L( K 满分:4 分, }4 G9 t( h \( Z
4. 设有数组定义: char array[]="China"; 则数组 array所占的空间为
+ `0 g$ v, W1 Q4 S7 ~A. 4个字节
. w, @5 O5 K6 YB. 5个字节
, K' ?- k( t* {C. 6个字节, W( s0 G) |) d: S+ ?# x
D. 7个字节
# w$ {1 W9 L% S, ]7 M3 I 满分:4 分
1 @1 }- g) E& B$ ~5. 设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是( f, ?) K: H4 x9 U
A. struct结构体类型的关键字
3 ~: Y9 D' w0 x' p& r+ p8 iB. example是结构体类型名7 r* P% X/ j H& w J2 b
C. x,y,z都是结构体成员名
* _) B' ~$ n1 B: j- ^ Z5 R9 t4 sD. struct ex是结构体类型名- ]% ~. a. _* L
满分:4 分; T" {+ p* a _2 G0 e/ F0 E
6. 下面程序的运行结果是 #include main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }" Y" c: o8 P' a/ u( k7 E- [: C
A. 1: V5 S; d# ]. t" X
B. 1
. T2 V) [5 F) ~) L- V0 xC. 8" i- k" A; C" `4 \! p) j; t
D. 0
+ F) v; N3 ~* H% l4 ?, _: [ 满分:4 分
% k) w. g' j5 j8 ~3 [% Z( _3 I7. 有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是
, H4 j" n0 ]; O8 W; P3 fA. 2. h! |* L- f5 B, Q$ H5 z$ p
B. 46 e* D, z [3 C% r
C. 6" j6 s: c" w, u R5 e
D. 8" e( ^9 k$ X5 Z
满分:4 分: W# O% h/ }: m, l- k7 }
8. 下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}
' q( Y6 V1 z! L* I' m1 z) sA. 3
8 \# i) v3 b( n5 ~. IB. 4
5 j9 C+ U+ g' i5 h, hC. 1
4 Y V+ c3 J& D2 x; Z4 X; V! ?4 MD. 2) s. i. z& }7 f& b. |" ~
满分:4 分
$ d, ~3 p' l2 e4 @8 E9. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
( F( t. @" |- P/ GA. p=1;8 z% k/ Y* ^* _- x( {
B. *q=2;7 J: {* v. O! P# m( E# ^
C. q=p;
% W4 Q/ q# E' D4 ?4 |, ID. *p=5;* `9 E; r5 H" C+ X
满分:4 分
9 P. N; I2 z& C& n4 ]10. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是
7 i+ ?1 @4 I j+ m; }& _7 C3 ]! aA. a=20000+20000;2 |/ I1 R* s% G
B. a=4000*10;% W- ?$ a6 a/ f4 o
C. a=30000+10000;' U; K% [' \, j
D. a=4000L*10L6 `- i; F. J' Q8 m, Z% i1 y( n0 D
满分:4 分
+ s0 |# E( z9 M( d/ i0 }4 O( [! k+ `& i" }) D9 k7 D n
二、多选题(共 5 道试题,共 20 分。)V 1. 下列说法不正确的是______。9 n$ N0 I9 {3 r3 n' v
A. C程序由符号构成9 j: v/ J2 ]) i9 x }8 w
B. C程序由标识符构成: P: p5 x+ l; @ T5 `( X
C. C程序由函数构成
$ e) ^/ H+ R1 eD. C程序由C语句构成
) u' R2 n) F$ } 满分:4 分
% J( x8 @2 ~; S1 q, `2. 在文件操作中,用于检测和设置文件状态的函数有______。
' s% O) s- m2 V r9 H. k% e8 QA. 文件结束检测函数feof()3 y( A( v6 J7 u3 ]; V
B. 读写文件出错检测函数ferror()5 X% V+ w9 k0 H) s+ `8 V6 i3 o& Y
C. 文件出错和结束标志文件函数才clearerr()
( q. n2 R; Z4 E0 PD. 文件关闭函数fclose()/ E6 o# e$ ]6 G6 P
满分:4 分( \ ~9 u' {: w3 g4 q1 N, ~
3. 下列关于#include命令的叙述中,正确的是______。
& a" R# U- M x4 MA. 一个#include命令中只能指定一个被包含文件8 M3 B$ ^% d- N9 M
B. 一个#include命令中可以指定多个被包含文件
0 ]8 `1 A- g2 ~1 SC. 一个被包含文件中又可以包含另一个被包含文件
3 i6 v/ X6 u- }, ^3 o; y! } {D. #include命令中,文件名可以用双引号或尖括号括起来
: v7 ~3 _9 A* x; B; Q0 u/ P 满分:4 分, r, i3 N k( z% \- j/ i
4. 以下对C语言函数的有关描述中,错误的是:______。( J: |. S/ a* v) ~& O
A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
1 P* }2 c0 l4 u" QB. 函数既可以嵌套定义又可以递归调用
6 E, k" U" X s/ T! n. I: w# @9 B5 ~C. 函数必须有返回值,否则不能使用函数) @' p& g) _5 F8 @* s! y
D. 程序中有调用关系的所有函数必须放在同一个源程序文件中8 U! B9 u7 i. z- ?. y4 q
满分:4 分' ?7 U8 Y6 w9 ?" ~" P
5. 对函数的正确使用方法描述 i/ e" s1 P/ M
A. A、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组
6 C; c7 u( k( q; kB. B、实参数组元素和形参数组元素类型可以不一致
( v4 z) i) p0 T9 w) N/ H5 g/ BC. C、形参数组长度可以不指定
4 @8 r6 p. W6 Z6 MD. D、形参数组长度可以大于实参数组长度. {, W2 e. J: L
满分:4 分
. Y) i4 g O L( Y0 L
* `( B; W/ p* X2 V8 H/ z' O- m三、判断题(共 10 道试题,共 40 分。)V 1. 宏名必须用大写字母表示。
/ j, m9 o: f! x! d5 A) vA. 错误
5 w9 G1 i& m) g, bB. 正确
8 }& G4 ]* Y+ ?9 o 满分:4 分
; c6 m* a% S2 C+ i, N2 [0 z2. switch语句中,各个case和default的出现次序不影响执行结果。( )
. @+ o2 K* U% l8 K5 z5 PA. 错误
; M6 K# o) Z% @B. 正确
6 E4 ~# V1 |- r- x 满分:4 分$ l. u& C E% ~; f8 p3 m! l
3. 一个int型与一个double型数据进行混合运算时,其结果是double型。5 E6 E7 {+ z+ U3 w
A. 错误
1 U9 H+ T& B; J( S5 r5 jB. 正确
+ l( H0 x- K a3 S3 N$ R2 l, n 满分:4 分
3 u7 Y: ?. p8 k5 i4. 共用体所占的内存空间大小取决于占空间最多的那个成员变量。" T0 Y) V/ f1 y* E$ F5 c2 _3 [
A. 错误8 w/ ~+ h! z$ \1 k6 x( V. N
B. 正确
9 _1 H k6 |: D3 O 满分:4 分* c6 r1 U& c( \/ b9 k+ q4 G
5. 模运算符要求两侧均应为整型数据。( ). p, S$ x X* ?+ S+ J" \" Q
A. 错误% b2 ?0 {+ M+ G7 u
B. 正确
4 O! _" m* c5 t3 j t( G# D# M 满分:4 分% y* W s. v" I$ p/ ~
6. putchar()函数可以输出一个字符串
: ]" c! I2 O5 {7 L& OA. 错误
, O3 P5 y9 r& }B. 正确' b/ |! r* ]: c/ W5 G
满分:4 分6 _0 l F7 C. U, a7 |0 \- h: ^
7. switch语句中,多个case可以共用一组执行语句。( )1 G$ d* \) t* Q; E v$ F6 u
A. 错误
, G% R4 _) P) q2 _! m% P; D1 DB. 正确
& y/ B9 w( ]. {; A 满分:4 分
8 N- n9 v8 V5 t7 H8. 语句int pt中的*pt是指针变量名。3 R& S/ d' F: p- P7 ?; {/ o8 D. t
A. 错误
! L. L5 R. r: |- \+ W6 s0 o6 A9 DB. 正确
1 e( h8 C; O3 v' Z5 S2 l; W m5 y 满分:4 分, p- _+ O# t! M
9. C程序中各函数之间既允许直接递归调用也允许间接递归调
- a* e; {& l; A" s# K+ d6 }; S* dA. 错误
9 f0 S; h L5 R3 v" ^B. 正确
6 s4 |0 l( W! z3 t5 T# K 满分:4 分
' _! T; F8 p/ X: ~. w+ P& g8 F3 K10. 函数必须有返回值,否则不能使用函数$ K" }; y( e! P1 J3 O* [
A. 错误
2 H, V5 k4 S* d: NB. 正确. [* T' t1 x; n: U$ t1 Y! N) G
满分:4 分 4 A& R8 a, n# _1 x% x
& t. s3 \2 B/ J, n& P% e2 [" W0 A
|
|