|
一、单选题(共 10 道试题,共 40 分。) V 1. 下面程序段的运行结果是 char *format="%s,a=%d,b=%d\n"; int a=11,b=10; a+=b; printf(format,"a+=b",a,b);" \- ]' S1 S8 \+ Q5 [! R0 B
A. for,"a+=b",ab
- l3 A& @7 c' j) I% v" NB. format,"a+=b"" L/ X' o3 L; }+ s( W
C. a+=b,a=21,b=10
3 B; ^8 f" G% }% o1 X% X6 ND. 以上结果都不对9 R' s: Q! E; m5 s4 h9 W; g/ p
* ?7 a3 J' p3 F1 f4 ^& |2. 下面程序的运行结果是 #include main() { int a=1,b=10; do {b-=a;a++;}while(b--<0); printf("a=%d,b=%d\n",a,b); }
6 U! I) M+ F% y$ m& C. fA. a=3,b=11
! p2 x, z: f8 y4 IB. a=2,b=8/ L. B. _6 ~) V- c B. r
C. a=1,b=-1
$ Y; Z5 u- X/ J9 J+ @* `" oD. a=4,b=9# r* V2 M! N2 c# {
/ [3 _( l7 y7 c+ t, N3. 以下叙述中不正确的是
$ a3 P2 ~5 o0 L. X" ~. V: u/ Z" E+ JA. 在不同的函数中可以使用相同的名字的变量& @+ R" C9 q8 I" F& s$ M* o
B. 函数中的形式参数是局部变量, S) O# ^: i1 l
C. 在一个函数内定义的变量只在本函数范围内有效2 e/ q4 e& S8 u7 U. h0 g5 \5 G J
D. 在一个函数内的复合语句中定义的变量在本函数范围内有效4 t% R' X+ {% M8 j8 I6 O) ^
0 Q" j7 k* Z( Q4. 请选出以下语句的输出结果 printf("%d\n",strlen("\t\"\065\xff\n"));" Y) j$ e# v$ r0 l. F z
A. 5
) ^8 B( H5 R* } a5 yB. 14# V4 Y% t# S7 w% t* ?
C. 8
. m8 t; }; C+ N% n6 Z5 [D. 输出项不合法,无正常输出
X: Q8 j K \8 Y5 y9 r @* y+ G7 D9 @9 n' f4 o0 ]
5. 下列程序的输出结果是 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y); }
5 H6 {2 C$ a1 `" q; b4 A/ l. ^A. 36 V1 Y, e; g) ]. t' x& b0 ^ Q
B. 3.2$ |, o* o& A5 @
C. 0 \" I; V/ z1 o0 g% V
D. 3.07 s2 |0 Q1 A( V9 }$ d2 N. h: @
0 n" k/ Z: ]) ]9 n/ G6. 下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}5 o4 Y; F! p$ R% n
A. 3( A. g& ]1 }0 } w+ N2 F% L
B. 47 M$ o) O# O) E& G% I
C. 1
* ?1 c( e7 a( W5 |- r6 ]+ M+ {D. 2
$ ~3 ?; k1 P& B9 w6 j o% P5 T" k; N# w8 E% ~& v! I c
7. 请选出可用作C语言用户标识符的是
7 a* E0 M; w9 ?A. void,define,WORD% t* o& ?3 M, g. H
B. a3_b3,_123,IF; |' y$ q c2 e, I+ X" i5 c$ t
C. FOR,--abc,Case
J$ z! P6 U7 R2 ^$ t I0 V! B9 iD. 2a,Do,Sizeof
& ~0 Z# n) }1 |
" z! \; y2 Q0 I6 C: |3 y8. C语言允许函数类型缺省定义,此时函数值隐含的类型是
9 ]. C( j( v( }5 C9 l/ |A. float9 p: r7 y) H) {9 n9 q" M& m
B. int
& B4 L% A1 v; [/ W- B0 w* }4 b0 rC. long+ E/ q& c+ R6 [
D. double) y4 k! z4 Y7 Y* j' |! `) h$ c9 |2 ? B
, @, d6 A$ p O) _
9. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
6 a: m* V0 Y: \8 G1 P1 k! xA. 4+ N. M0 s1 R7 ]% z' i
B. 16' g2 y" s. b! w1 n
C. 32
( E; J! o( x, v! V1 D# t8 iD. 52
, n0 g5 T) X& h' r; H/ L3 m# U% o E% t* |7 L. C8 i) {
10. sizeof(float)是
^8 O. Z; z: V# [' XA. 一个双精度型表达式
t# R& z: R. P# m+ j% ?B. 一个整型表达式
5 Y9 H. F) Q, }C. 一种函数调用
) _. u8 d$ C! Z3 N0 D0 y \3 JD. 一个不合法的表达式: U: S' p" V( ?- g5 k! ~" I3 e R
; S( _" e8 x, L8 ?; x4 x
$ { I. W5 l$ y. Z, w
# J8 V6 b$ `" {9 m7 w& Q, m 二、多选题(共 5 道试题,共 20 分。) V 1. C提供的预处理功能主要有______。
0 T- H7 D v+ `8 k1 C# @A. 宏定义4 @% L O4 {, w* T/ W2 ^6 Q5 d
B. 文件包含
O* C- U" Z. C$ b* HC. 条件编译6 p! I( h2 y |" ~
D. 异常终止
$ @+ d1 B9 Z/ ]" c: |2 K9 aBC
. j P5 f$ g3 h) d* G: E# v J g2. 下列说法中错误的是______。 o. N/ K! i+ F+ ?! @+ \! A7 N/ J
A. C程序总是从第一个定义的函数开始执行
; {8 \; a M/ w2 U7 gB. C程序总是从main函数开始执行1 P6 e% O1 g4 N4 d$ | H
C. C函数必须有返回值,否则不能使用函数
! _" [( _" F2 J# CD. C程序中有调用关系的所有函数必须放在同一个程序文件中
! G( e+ q7 B* R3 J u+ T! |/ {CD
- w+ o1 M$ k& _6 Y3. 以下说法不正确的是______。
0 o8 Y* _0 I4 D6 J g' h* O% pA. 定义函数时,形参的类型说明可以放在函数体内$ _! p3 n4 p; z* D8 `8 Y
B. return后边的值不能为表达式1 |, T) j( |2 v: U* q6 ]
C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准& F& |& |0 w' p8 Z) G
D. 如果形参与实参的类型不一致,以实参类型为准
- Q2 _- H3 q* {! g: tBD
; A! f/ U+ y6 F: k X( ?4. 以下对C语言函数的有关描述中,错误的是:______。( T$ E* k( E* w p( H
A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参# ]& f+ ^) n6 n
B. 函数既可以嵌套定义又可以递归调用7 g$ t3 o: M/ @' N( @8 p# _, b
C. 函数必须有返回值,否则不能使用函数
# e5 N( u& t& w3 ~0 c* OD. 程序中有调用关系的所有函数必须放在同一个源程序文件中
2 J" `! E+ u/ u. X4 x2 E" e! j( kCD
! `; J9 ^( @" v7 j5 x' ^+ r5. 下列说法不正确的是______。
1 t" Z! }2 Z' \& h5 D5 XA. C程序由符号构成7 S5 p7 G( D; m' B6 f
B. C程序由标识符构成8 o! _6 z" I) @
C. C程序由函数构成
7 C( ]: V' c; c- `+ D1 [; ^# ?) FD. C程序由C语句构成$ p4 [" x% z! I9 Q
BD% R* Y4 [! Y3 e5 L
" J3 @$ {$ I. W0 v
4 W5 a- r$ {8 ?: U$ L: d% a 三、判断题(共 10 道试题,共 40 分。) V 1. ‘ a’和“a”在内存中所占字节数相同。( )* C' P3 R" C4 @! d! a
A. 错误* s2 ?0 S( n8 A, c2 |( `9 x/ S
B. 正确
' m9 c# r/ z+ M" Y8 @& E+ e& \+ R0 h8 K m
2. 静态外部变量既可以在文本文件中引用,也可以在其它文件引用1 Z' Z3 f9 k; ~
A. 错误) Z! X7 {% w8 H3 p1 y y
B. 正确! E0 O# o; p. Q s4 x7 W
4 U3 E* M3 G1 Z1 t1 M* J3. 使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”( )
5 ?% b/ a9 ^) `5 ]A. 错误7 i M4 X w& m7 q) G V* @
B. 正确
1 n) G% V# X, G4 _- ]! l, x. D# h" ` [5 @' o1 p9 g
4. 函数必须有返回值,否则不能使用函数
T0 k3 M* u+ F! Z! CA. 错误2 Y7 n$ ], j; ?6 f7 \" P, R: @) a5 D
B. 正确/ U, V$ D3 D4 o" ?$ ?0 w6 i
3 v/ m0 U6 z5 A6 P
5. C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
9 s, }, \0 W, T* K, j: xA. 错误
5 r6 A- T( Q# D3 E1 P: |) AB. 正确: z* q7 O3 q+ Z1 [! ^! |7 B
* L; A3 b: ]# i! S/ P3 M( P6. C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。( )0 q3 j. X5 v0 @8 P% [% e
A. 错误2 V. Z0 j' ?( u q8 N
B. 正确4 K6 ~: k& t8 {, |5 ^4 p- b
* I# O* B) Y3 \
7. C程序中各函数之间既允许直接递归调用也允许间接递归调
& R" i* K9 t' C. }% B% _A. 错误% f& O6 i! N& ~# F0 c$ p3 y2 N
B. 正确( i) D: T) z. C/ m
" w; k0 T* h V! |' {* r# y7 l0 D8. 调用函数只可得到一个返回值,而用宏可以设法得到几个结果。3 E9 @/ R0 @) o. |3 I% B8 r! I
A. 错误
' m3 K: n0 D* u: ~% `B. 正确7 [7 n$ ?# O( b/ N4 q, ~
+ y' l1 ~/ E+ M8 B5 t' @3 i' }4 @' Y9. C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。( )2 _& j/ u6 H+ p& {7 Z( d) Y
A. 错误
5 D# @* R. M% |3 HB. 正确, A0 ] }' l9 B1 l
! \* o* ]! [1 m/ W! j
10. 使用printf和scanf函数时,必须添加#include <stdio.h>命令。( )7 R6 N% h4 b; z/ a% A
A. 错误1 ]5 M' v1 u. @
B. 正确
* N G4 {, L+ C$ |8 Q
+ a, e# }6 S ]" Y* Z! Y$ b8 r0 ~/ Q
. H0 f2 ?3 N! A5 j+ z3 C/ g4 i ! d1 O; W& p# l, Z) @) E
; T7 M# P, N% _
) f$ C" [3 e9 m1 b0 [' A! u2 n
! h1 I; ]6 F/ ?# I6 L; G) S
" g; z1 {/ q/ Z" X8 R; N; D' p# k# n) t B$ B
7 U# A) ]) W: j+ S6 `$ F$ U1 @9 b& W5 _
6 h( a0 l) {- ~+ M5 t% E8 Y
( F4 c! a: j" ?1 A; R1 t5 z) j3 a9 k9 ?5 g2 O
( x; W3 p' }: U- T- P |
|