|
一、单选题(共 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);
: x# ^" L& W+ h2 ~) w4 o& dA. for,"a+=b",ab
; R# O) p! }' e. s& |B. format,"a+=b"
3 @8 \/ a- Q, m: DC. a+=b,a=21,b=103 ]; z4 a, N4 S" u- F: y
D. 以上结果都不对
9 d8 s$ A p# A! b
3 F* Y5 F; X3 ?2 g2. 下面程序的运行结果是 #include main() { int a=1,b=10; do {b-=a;a++;}while(b--<0); printf("a=%d,b=%d\n",a,b); }
2 g( f. W7 L" HA. a=3,b=11
2 i: w+ u2 U/ h! Q8 _" KB. a=2,b=8
/ {+ F% q$ i. `4 j7 vC. a=1,b=-10 x0 F/ ?6 K( i+ q# B
D. a=4,b=97 }% W- [ h$ W1 g6 q( c0 i
2 `% k) L5 x& j* U# _/ U3. 以下叙述中不正确的是
' @$ ^8 \# v: J3 J8 [2 i3 RA. 在不同的函数中可以使用相同的名字的变量
R3 D5 a9 `. @$ _( @B. 函数中的形式参数是局部变量* w, A! E$ W3 `: n# r) q. W
C. 在一个函数内定义的变量只在本函数范围内有效 x. M; `/ G' X/ p
D. 在一个函数内的复合语句中定义的变量在本函数范围内有效6 j% W8 a$ S7 k$ \3 `3 p8 I# Q1 s# e
. [$ v3 Q+ k( T# b4 O [/ _4. 请选出以下语句的输出结果 printf("%d\n",strlen("\t\"\065\xff\n"));
9 t( G8 O$ g# E3 b" m+ ?& a9 QA. 58 j% h/ N; r4 Y$ d- V2 D7 ]% j4 t
B. 141 R5 ?( G4 ^ z2 p; C/ a' Y( H
C. 8 `# D; `' O6 b5 S4 e3 F
D. 输出项不合法,无正常输出* R$ R. A! a% U2 J' H# h
( q( C- N8 s8 ?( E) F) X/ j6 \' j; L
5. 下列程序的输出结果是 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y); }' w! F3 @3 l9 t: B' Y, c/ x
A. 35 `+ {2 k# s7 J+ |, {7 m
B. 3.2
3 ~, _; R4 A- |1 F& KC. 0. b, s5 R0 s6 H' f q; x! s3 C
D. 3.07; D7 b- I4 z# H' j) H& D! x
5 A7 l9 A, n. X+ ~+ X6. 下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}8 @" F0 t* o7 |
A. 3
: t- t2 g5 b" z. G" GB. 4
; f# I6 Q( a$ e; ^, NC. 1
4 R" z9 U8 u5 E# l, YD. 20 f! V+ b% k2 u
. O c) |. Z8 ~4 J9 z) f8 J; ^7. 请选出可用作C语言用户标识符的是
- `+ P5 o5 Z1 u6 @A. void,define,WORD
# K# a; i$ W0 f z5 [ {# `, ]+ bB. a3_b3,_123,IF
% I- y7 m7 t( E WC. FOR,--abc,Case9 s; O; p/ m' `: @: l1 ^/ A
D. 2a,Do,Sizeof
; g. t, p5 s! D: I/ j8 m/ w2 y! x: K2 P2 V" Y) [; h7 _
8. C语言允许函数类型缺省定义,此时函数值隐含的类型是
; j. H- ^* V$ S. f4 n: E* UA. float
s+ u8 k: p# y4 mB. int
0 h h3 [; V7 ^ yC. long! e/ J3 m' I# q, c) S
D. double
! r) Q' D( ?; E0 \+ U
7 l ?4 ?) Z% D% u" N! r9. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为) M3 d- L G4 X! }
A. 4/ l! m5 W# N" E; W3 ?4 K
B. 16/ M) f$ F# U ~& |: C
C. 322 C: }2 C( {8 ~: a/ H2 {2 A5 h/ R
D. 52
% g/ x8 n5 c+ o( O$ T' K% c, ]* O
6 @8 Z' f) J7 c$ @& H5 g10. sizeof(float)是, {5 o) v# y3 o* m, Y9 L, _
A. 一个双精度型表达式
1 U+ z6 J4 v O7 r9 z" Q1 WB. 一个整型表达式
% _# t0 u# }! O; A3 {, rC. 一种函数调用
6 c! Y$ P4 r7 |- jD. 一个不合法的表达式/ b# u) a# I5 I, `3 S+ `' D
: P+ N/ z7 I+ {8 a: a
7 [1 p% D7 b" C3 D, `6 P: u% t# \% J1 b% ^5 k' j' j2 k
二、多选题(共 5 道试题,共 20 分。) V 1. C提供的预处理功能主要有______。
9 I9 D' l" R' X7 }A. 宏定义
( q' Z4 C( m' E: XB. 文件包含# i1 B' t. q7 n M* `* z. N. u
C. 条件编译2 v5 ^' F8 L4 t1 ]1 K! a; f. c
D. 异常终止/ g0 K( u6 O i% D, z2 r- _6 u' G
BC8 d) n" V" P& r/ j
2. 下列说法中错误的是______。1 h0 k8 |8 z1 |1 I
A. C程序总是从第一个定义的函数开始执行/ _* [& e5 g5 S
B. C程序总是从main函数开始执行
& S2 \- Q' ?! m3 jC. C函数必须有返回值,否则不能使用函数
3 Q+ X% f& w+ \0 q2 W$ |D. C程序中有调用关系的所有函数必须放在同一个程序文件中
5 ^. s1 F* M. z: j7 FCD
8 B* t5 @2 q+ a% {) g' w0 T# {3. 以下说法不正确的是______。
$ Z* Z: p* r, H2 AA. 定义函数时,形参的类型说明可以放在函数体内/ _) m. o5 @, k) D0 p( i0 ]
B. return后边的值不能为表达式
0 C. l6 f5 e6 |" v1 Q HC. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
& M# `* G+ F# A+ I$ aD. 如果形参与实参的类型不一致,以实参类型为准1 O a$ o1 O0 `' c1 |% W
BD8 T! U6 l4 k4 U5 J/ d4 d3 }8 y
4. 以下对C语言函数的有关描述中,错误的是:______。% j6 e' _9 r4 c0 {6 j) U1 E8 O
A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参* L6 ~3 x, [( h0 y& a9 w' F
B. 函数既可以嵌套定义又可以递归调用% B1 F' Q' `( x2 }" p2 ~
C. 函数必须有返回值,否则不能使用函数6 M$ Z5 q1 p" X2 {# m0 Z3 {0 z
D. 程序中有调用关系的所有函数必须放在同一个源程序文件中
0 y1 J7 A, n. p( g8 \CD3 b# S. y( E6 M; ?% f; X [8 P/ I
5. 下列说法不正确的是______。
6 ? p6 `* c, i4 LA. C程序由符号构成
! l# \! W1 d8 A$ q7 T+ E/ |B. C程序由标识符构成$ ]( F( E' F {' j3 t$ u; `
C. C程序由函数构成
; m1 \2 G$ T! s! zD. C程序由C语句构成3 Z! q) o* x* f* H
BD
$ q, s+ F! ]$ u! A. O; n
3 w6 F+ G: e L3 D/ N3 y# K1 E2 W' a$ |5 [: j. S/ L( ^
三、判断题(共 10 道试题,共 40 分。) V 1. ‘ a’和“a”在内存中所占字节数相同。( )
9 {8 ~2 ?3 |% [& Q4 U3 ~& Z$ pA. 错误0 u! B% d6 F+ z' V4 Y; w
B. 正确
0 ]: ? \2 c1 f C8 v& h" G4 t. ~* ~% E6 G+ @
2. 静态外部变量既可以在文本文件中引用,也可以在其它文件引用3 _4 S1 q8 [2 j9 y
A. 错误 m8 r/ X( W" a
B. 正确* Q' P$ B/ h1 u/ I5 e
. V$ ^ k, X H m8 ]5 \
3. 使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”( )
. D v# M _! b% L5 J$ B9 g6 n0 ^A. 错误+ r7 W, o8 o5 Q0 N7 h/ g5 e0 n( V
B. 正确
0 \; I6 F: B* \* T- S# W; x- `% f1 r+ M l4 b# X
4. 函数必须有返回值,否则不能使用函数
! a* b7 [* g% `; MA. 错误
' f$ v# L2 p0 n" B" I7 l6 ]8 OB. 正确$ U+ a9 ~' v$ t) ~
3 r& U' I9 ]2 `5. C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
1 f+ \) A! i% r' X# yA. 错误
1 Q. t+ _! O& l' rB. 正确1 R B; @6 F1 }3 H
+ Y, ^) B3 o D% r& e6. C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。( )
( W5 v2 Q, ^% k6 m) A, ]5 W9 NA. 错误# ^. Q: ?, i D, _. ~
B. 正确! m6 X! e# f! J% i! X$ v) d; m8 ~
3 W+ ?- x# t* [* b1 H/ n7. C程序中各函数之间既允许直接递归调用也允许间接递归调
7 q0 ~4 p8 ~ bA. 错误8 I% f* ~0 t" _* A' y9 s. P
B. 正确* J' P- _" s1 e V- H
_- u/ X! n& g; l- @* A1 e8. 调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
5 z! U; m( ]3 \. e/ o% |A. 错误
# b& C7 C% p/ a: TB. 正确
/ X. _8 m' K; ]1 S0 |( V6 Q
7 S: }: G$ X$ b* b7 P d9. C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。( )) ~/ R3 b4 v$ z* i
A. 错误
- E- r+ G+ f$ t* p6 KB. 正确2 r) l7 K7 }) `1 \6 C, m: b
4 y7 l/ s( W+ H8 \# \10. 使用printf和scanf函数时,必须添加#include <stdio.h>命令。( )
: ]2 ~" q t5 Y! J* v- KA. 错误: w; A5 `# {+ i$ v. J) C: p% i
B. 正确
# ^# ?7 t$ S% L5 Q' g
$ ?! A( }( A) q, t/ a6 `5 v* X! p( I! h# S! N! U
/ P9 g( Q% T% F* V
+ } R I3 ?, U5 ?/ F7 o6 I" \2 j
; p0 n$ ~$ Z) @7 ]3 A) |$ _- i9 k7 Z {% a
8 p) I e" i2 j+ T4 s1 e0 h
; F) ?/ e( R* k/ q F6 A
. }; k0 Z- P: l1 A# `
- b+ w5 k* \$ M! x' ^ p- m
% @, T3 O0 X" g' @) `+ h8 K' N, Z* h: I/ A5 F8 b+ ^
4 ^1 }! q: w4 T; g# q0 a; p7 B1 B
# I1 @( T6 z4 h5 Q$ \
0 D5 G, x9 \2 e1 y7 f! s |
|