|
一、单选题(共 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"))==NUL5 n% c% q( \$ F( t" Y* n
A. 程序完成将磁盘文件的信息在屏幕上显示的功能
7 b" H0 `9 P+ \0 C5 uB. 程序完成将两个磁盘文件合二为一的功能1 _. d" f3 x4 P+ r
C. 程序完成将一个磁盘文件复制到另一个磁盘文件中
. `- y q1 m8 I; [* a- GD. 程序完成将两个磁盘文件合并并在屏幕上输出
9 k. q2 Q& P. h- A6 ]5 c; | 满分:4 分
. r# _. @- o/ O7 c4 G; I) {/ n2. 以下不正确的叙述是
& ] N/ |0 t0 T6 J* dA. 在C程序中,逗号运算符的优先级最低, T/ U$ F: m# v+ a0 F
B. 在C程序中,APH和aph是两个不同的变量
1 ?/ K: h: M6 P& fC. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变& p0 W" b$ _8 N3 D+ W5 p" J7 X
D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
. u! q$ Q4 r" O* w- _ 满分:4 分
$ V) \/ {1 T" ^" N3. 下面程序的运行结果是 #include main() { int a=1,b=10; do {b-=a;a++;}while(b--<0); printf("a=%d,b=%d\n",a,b); }* |/ D3 A+ _. a; ^' u# L
A. a=3,b=119 w; b' B. t0 O: T4 e! G* }7 E
B. a=2,b=8* ^7 J+ Q0 `# Z' m. u
C. a=1,b=-1- `; B! e$ l7 y ?
D. a=4,b=9
; d% z3 _3 n E9 r2 U3 j5 k# T/ a6 B 满分:4 分$ f! N) n: g+ H% ^0 c8 |+ K) ~
4. 设有数组定义: char array[]="China"; 则数组 array所占的空间为
0 W3 j# {' M+ o8 \6 s# S9 A' jA. 4个字节2 Z* `. m( Y5 v5 B" f7 Z
B. 5个字节
4 p% e* r' P5 s' zC. 6个字节8 p% C z* |3 r( X# T1 W4 f6 j
D. 7个字节
* N4 }1 T, E" H/ x( k' i$ [" j 满分:4 分
# Q! o- f/ Z0 T- W0 g5. 设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是( B$ v" u, j6 f
A. struct结构体类型的关键字
$ I% P6 x o4 O& }: F: Q5 Q( hB. example是结构体类型名2 f. {' l0 r4 q3 y/ w
C. x,y,z都是结构体成员名2 M0 u, p% @- o! | s
D. struct ex是结构体类型名6 p# p: J: L( o, ^5 N' w
满分:4 分
6 o- _9 G- E% V6 v7 J5 B) P& _. j6. 下面程序的运行结果是 #include main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }% j3 [# Z' y j% g
A. 1* A; m* E3 m* Q) r. g" H3 x
B. 1. U! a. h) \ K& A# p
C. 86 W0 e+ ~% \1 o) H6 b
D. 0
" L( n" E' |3 Y' o& a9 N* [ 满分:4 分
3 m4 B+ F F1 z+ O/ m7. 有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是" \, S2 B0 m; r; e6 O
A. 2" s2 s9 |7 t/ ?2 N; B1 o
B. 4' x) Z3 ~* ~" \/ y0 [" |# C) p
C. 6; W$ [- r3 q$ G; W& a
D. 8
7 w1 ]3 W# _1 N: \ 满分:4 分
7 D9 O3 M. G3 @6 y& k' ? p3 }$ r8. 下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}
6 D8 @3 z2 F" x/ k uA. 3
+ V1 X8 F0 }* b! s% @. H4 [4 KB. 4
' _/ N7 V M# |) tC. 16 W% U! B# k, L. {, t7 m
D. 2
3 Z3 ~2 i$ Y2 A. J 满分:4 分
* t8 t" K# l3 i* N9. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是" `% d$ @/ C! x+ P+ D$ ^
A. p=1;
& `4 W2 X6 H7 XB. *q=2;4 k$ T) Q0 r2 W5 @5 u( f
C. q=p;* T$ _! I( t& v4 N3 P6 C
D. *p=5;
! @4 i( N7 {: V- {2 {: J9 Y 满分:4 分+ p8 j% L) H9 v+ I% `! w
10. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是
. ^9 j+ j: N. G0 QA. a=20000+20000;, q+ k. ? F$ m) [
B. a=4000*10; w* T% ~) E' k
C. a=30000+10000;( K. X; w3 ^# \8 o" O' y, j5 v
D. a=4000L*10L
4 m; S8 \% Y1 Q4 C F; D; D- K4 {" Q 满分:4 分
& [( F$ b; Y. o6 G- x! z/ V7 @5 f3 F ^1 g2 e
二、多选题(共 5 道试题,共 20 分。)V 1. 下列说法不正确的是______。
' H4 O& H# @6 H9 {: QA. C程序由符号构成
. |7 d9 c( N4 |) T6 YB. C程序由标识符构成, b( V& V- `+ ?# d4 `/ S
C. C程序由函数构成
/ m: Y2 \3 m5 f9 y- E8 k5 g6 Y; ND. C程序由C语句构成
! e: z, \9 J/ k 满分:4 分* @( O$ L2 `7 R/ U
2. 在文件操作中,用于检测和设置文件状态的函数有______。$ o( A0 }1 [1 N/ X2 y
A. 文件结束检测函数feof()
& b. f! f/ A+ A, ?! d- tB. 读写文件出错检测函数ferror()
& U# p! R+ x; S4 MC. 文件出错和结束标志文件函数才clearerr()3 U( W4 m& M2 f l
D. 文件关闭函数fclose()+ M4 H3 e; i! \3 X% i
满分:4 分
$ {( I( c; s5 Z0 p) }3. 下列关于#include命令的叙述中,正确的是______。/ Z1 e$ q C( [) S
A. 一个#include命令中只能指定一个被包含文件
% Y4 e* t9 X& H8 [ EB. 一个#include命令中可以指定多个被包含文件
+ I( f4 m- ^9 S, k XC. 一个被包含文件中又可以包含另一个被包含文件
/ c) C- Y7 H x: qD. #include命令中,文件名可以用双引号或尖括号括起来) i6 H% `3 l* E' B% @
满分:4 分/ L* u. W" C% ~7 l% u
4. 以下对C语言函数的有关描述中,错误的是:______。# |5 i! K+ P- g6 s) h+ t, B
A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
: B/ [+ x* i) aB. 函数既可以嵌套定义又可以递归调用5 q9 r8 E4 [ U9 x. ~. f/ Q
C. 函数必须有返回值,否则不能使用函数% ?0 Q0 q3 F6 f6 D, _) n
D. 程序中有调用关系的所有函数必须放在同一个源程序文件中
* _/ z& {+ O$ ^) F 满分:4 分1 k1 l/ |7 D7 y4 [7 W/ W. c
5. 对函数的正确使用方法描述
( q0 {/ d* e# e9 }A. A、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组
/ w% z6 \. @" H+ tB. B、实参数组元素和形参数组元素类型可以不一致3 }) D+ P/ Y$ C, r7 Q
C. C、形参数组长度可以不指定 0 a: T* q/ |( j' \
D. D、形参数组长度可以大于实参数组长度 _. A' Z. Y$ r1 B
满分:4 分 0 y, w, T/ m7 Z* `% p
+ B8 a, e5 Y3 E# \# _( H# w三、判断题(共 10 道试题,共 40 分。)V 1. 宏名必须用大写字母表示。
0 L& Q, v3 z# IA. 错误* k( \! [: f: C5 k0 R8 M
B. 正确
9 W+ R+ {9 Z" }- c 满分:4 分# y) M: E2 g* N! e& b
2. switch语句中,各个case和default的出现次序不影响执行结果。( )
5 e7 `* Z) Y6 G3 C: [A. 错误
0 D- h1 n( A6 X* ` I0 SB. 正确
$ D% v; x$ R& J G" O 满分:4 分* d0 S! Z5 g5 l A, c- V& f$ D% D, q# d
3. 一个int型与一个double型数据进行混合运算时,其结果是double型。
4 h1 [: \) v* \/ F6 ?4 I* |% a3 ?+ hA. 错误; Z( K4 D- l/ v7 c
B. 正确9 a: u" \) l. w9 w0 o2 q
满分:4 分
# l0 S$ T% e' ?/ ?5 x4. 共用体所占的内存空间大小取决于占空间最多的那个成员变量。
4 [: X3 d) g7 B9 K: E! YA. 错误
! S- @* q% B# r( ^- Y1 \1 \B. 正确
x1 q7 u" Y+ q1 H5 i8 A/ M 满分:4 分5 V. I9 T. W6 B- j1 l5 t4 t- ? ]
5. 模运算符要求两侧均应为整型数据。( )3 u( B* K- a M' j, r
A. 错误
% C1 g' B! o' n QB. 正确; e) O1 I' i* R; r4 J& r
满分:4 分
0 ?% i4 f2 ?$ k& `6. putchar()函数可以输出一个字符串
& Y( d4 O }" y7 p7 sA. 错误6 s$ R; k& `! [ ~% D9 g5 p X
B. 正确7 t# M' d0 Z1 n" x+ C, y) I1 |, X: e
满分:4 分
2 J) F! ]5 `4 U# g% T. ?- B1 u7. switch语句中,多个case可以共用一组执行语句。( )& F s+ d `9 B, `& s6 E$ x8 O& W
A. 错误
0 C# P+ _" | d1 G# [2 U( U* mB. 正确
. M e6 v. a* e, ^& g3 S$ J+ } 满分:4 分
/ A# K: d$ c4 @* o8. 语句int pt中的*pt是指针变量名。
; j9 S/ L! J, ]& g4 }A. 错误4 b `9 L7 T6 |4 q
B. 正确
, `+ [6 Y7 ~) S( p$ C' A# y 满分:4 分2 W6 p) a" ^3 N' r" ?% @
9. C程序中各函数之间既允许直接递归调用也允许间接递归调
$ h9 K. K3 e; ]* y Z, z g8 o! JA. 错误9 Z \) G6 X2 K+ C
B. 正确
5 ]0 L# o$ e6 b- J% b. Q 满分:4 分: I2 p9 u% i; ~- i& B
10. 函数必须有返回值,否则不能使用函数
' [5 ]5 H, X- P; fA. 错误
& C. x" O7 l, V1 q, `B. 正确
t" \! f& G" e- p 满分:4 分
" g7 s% Y C" I) G i; ^
; ~) Y1 n" v+ b& v6 \ |
|