|
一、单选题(共 20 道试题,共 60 分。)V 1. 以下程序:main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } 的输出结果为()0 k. g2 v& l! H7 ~) h* m
A. a,ok,end) {: w& S. k0 T8 U w
B. a,ok,endend
/ s/ `, f0 P) cC. a,ok,end,end
m' \6 h2 g6 ~1 ZD. a,ok,ok
6 I5 C4 d3 a9 q3 [ 满分:3 分' e, [6 C; O8 t& j5 c) c5 R: a
2. 设 int a=12; 表达式a+=a-=a*=a的值是(); d+ i/ i) D: d
A. 12
- r: e, [; b' p: E# o8 {$ bB. 144$ H i# ^2 q& i' O
C. 03 T4 U- I- ^ ~( J' x
D. 132
: H f; Q# [* t" f# ~9 l 满分:3 分
: d! R" @; ]5 X' n' s3. 若变量已正确定义并赋值,下面符合C语言语法的表达式是()% f4 w( _7 j$ y
A. a:=b+1* ?! W {* T4 D( l7 P
B. a=b=c+2+ h5 b0 S/ I0 ^6 E
C. int 18.5%3
1 d( U- R/ y4 a8 y# h3 f- Z7 qD. a=a+7=c+b0 f5 E) F2 r9 Q7 Z+ ]$ A
满分:3 分
* Q6 j" [% O" e" \/ N5 j4. 若程序中定义了以下函数 double myadd(double a,double B) { return (a+B) ;} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()1 M7 \7 E l0 J4 e5 m
A. double myadd(double a,B) ;
3 J+ @/ F# K& k/ x# M5 w( fB. double myadd(double,double);0 K; Y( f1 O) F4 r4 w2 R) p
C. double myadd(double b,double A) ;
; ~( }& l" k6 a7 a2 X6 MD. double myadd(double x,double y);
2 U5 K1 b1 V* Q; m3 @% n7 [ 满分:3 分' J+ O2 c3 o2 N& ]/ k3 P3 H
5. 下列条件语句中,功能与其他语句不同的是()
, j2 |2 d8 @0 ~& [# F% eA. if(a) printf("%d\n",x); else printf("%d\n",y); C7 I+ r* `' \3 Y
B. if(a==0) printf("%d\n",y); else printf("%d\n",x);; N& u3 w$ \3 N# B1 z
C. if (a!=0) printf("%d\n",x); else printf("%d\n",y);
0 U" {! O- S* ~/ A; E9 |D. if(a==0) printf("%d\n",x); else printf("%d\n",y);
1 W, r0 y6 z6 [2 }/ _6 ^) ` 满分:3 分9 \, `$ J: y# y' g% I! S
6. 以下4个选项中,不能看作一条语句的是()+ Y( P& D- {# w
A. {;}6 u: t( s4 m" J# N
B. a=0,b=0,c=0;( V+ \4 ?) P; F" a8 H; p! [$ I
C. if(a>0);
2 `* _. e, E- S- v/ C4 s Q9 s9 w0 CD. if(b==0) m=1;n=2;
$ g, t8 h# c) V9 X$ o$ v 满分:3 分7 x$ r2 e% h6 e; {9 W: v7 n/ \
7. 设有如下程序段,int k=10; while(k=0) k=k-1;下面描述中正确的是()9 r2 O& @2 }- l2 C" B' c X
A. 循环执行一次
2 A8 `/ K6 P' A! A8 O1 OB. 循环是无限循环. W9 c, f9 s% J
C. 循环体语句一次也不执行2 P5 _& r o. s! w5 K
D. 循环体语句执行一次( V7 D" d* G2 a$ I# g% M7 V; z. F
满分:3 分
3 F+ w/ p7 i4 O+ M9 o% v8. 以下程序 #define P 3 #define F(x) P*x*x main() { printf("%d\n",F(3+5)); } 的输出结果是()
; P5 B: ]: h$ U2 M% wA. 192" R8 @7 }0 h- J' q# M u5 z
B. 29
* K, J: D- k* U% OC. 25
: q! D4 H3 e6 f; b$ WD. 编译出错
' n8 x- Q& w0 U) s: @ 满分:3 分
6 z7 i" c: o Y! _+ [: K, X0 d+ R9. 指出下面正确的输入语句()
& M/ @3 E: a B* }+ `; h5 Y! [4 fA. scanf(“a=b=%d”,&a,&b);2 }* c1 J# Z% |8 d. [9 Y$ H
B. scanf(“%d,%d”,&a,&b) ;
. m# g& t! J% OC. scanf(“%c”,c) ;0 y, a- v* u1 k
D. scanf(“% f%d\n”,&f) ;/ u; a) [4 o9 f8 V$ n
满分:3 分3 a% S; O2 H( [5 l/ { ~
10. 以下关于函数的叙述中正确的是()
( n5 _ H7 F! U% O1 T# U$ uA. 每个函数都可以被其它函数调用(包括main函数)
8 P9 _# ^, x" ^8 R3 Q. G5 CB. 每个函数都可以被单独编译( h# X: c: W* s3 \$ |1 M
C. 每个函数都可以单独运行
/ W) V, n2 j- T! @D. 在一个函数内部可以定义另一个函数
3 u0 H: \5 T1 { W 满分:3 分
/ e- V8 J# ]8 {+ S3 Z11. 有以下程序 fun(int a, int b) { if(a>b) return(a); else return(b); } main() { int x=3, y=8, z=6, r; r=fun (fun(x,y), 2*z); printf("%d\n", r); } 程序运行后的输出结果是()
5 W& |3 `: k8 G0 v+ u) U% P" o h4 CA. 3) z: A1 a1 Y" G0 c9 s
B. 6 h- \& Z5 a8 k" J5 Y
C. 8( B2 U. f# }: x% ?0 U8 W
D. 12
$ b c. V! V1 k! T( t 满分:3 分/ x9 u. s; H7 x
12. 下面可以正确表示字符型常数的是()
9 ~3 v7 A/ v- |7 Q: H: tA. ”a”
, o0 g7 O2 i7 r7 ?( _& ~# tB. ’t’4 f5 ]9 Z7 u0 ^1 D8 `; F
C. ”\n”4 q9 v+ J% f$ P$ m4 Y
D. 297
7 D- b' @. ?4 H( N" z) C/ ? 满分:3 分
. A; B+ C7 X0 V13. 在一个C程序中 ()9 h+ J3 w' F4 j6 i$ n
A. main函数必须出现在所有函数之前
; T; X) }7 ]" C, {2 v, E# O4 iB. main函数可以在任何地方出现5 w0 g ]: C( {; A
C. main函数必须出现在所有函数之后8 q+ _. ]* u8 l
D. main函数必须出现在固定位置9 S# d: _' X* k- J& R
满分:3 分
- ? R% U( `0 b/ b) b$ d14. 用C语言编写的代码程序()2 F* Z5 |6 U5 B
A. 可立即执行
6 K' k- |4 D) h* pB. 是一个源程序- ~0 w' K5 h5 b. b8 s
C. 经过编译即可执行1 [- ?' h% B9 Z) ~) \
D. 经过编译解释才能执行
- ~1 @3 D/ n$ x6 K8 a( j 满分:3 分
5 D6 i# L% M% c6 E! d1 @8 `1 ~15. 在C程序中有如下语句:char *func(int x,int y); 它是()6 d5 N X6 i$ h" _* W2 k9 E
A. 对函数func的定义。$ U1 u: x9 f' h' D/ v: y
B. 对函数func的调用。) C6 n& h4 k% c, b
C. 对函数func的原型说明。
9 M% i) L, L* {/ b1 w* L9 TD. 不合法的。
# L: k. ]0 ?0 ]# p5 j7 g4 A' [" v 满分:3 分
a: d/ J# r* \- F+ E2 O0 \16. 以下所列的各函数首部中,正确的是()
% K6 {+ z3 S, t8 iA. void play(var :Integer,var b:Integer)9 C+ Y& |+ W/ n' q8 ^4 @ Q
B. void play(int a,b)3 p! i7 u: h* L) t6 O1 Z; ~
C. void play(int a,int b)9 V0 x- b, O( k. l( K
D. Sub play(a as integer,b as integer)
" M o& q" P+ G9 U 满分:3 分' ~# e! O# l2 {* U9 E4 s
17. 以下说法中正确的是(): h3 {; d3 R, u
A. #define和printf都是C语句
) L3 ~/ c9 ]; y6 H8 d7 mB. printf不是C语句,而#define是: X/ [! T& T' M' L
C. printf是C语句,但#define不是 D) printf和#define都不是C语句7 Y1 |0 E) C% x, g+ f0 ]
满分:3 分
% s& ]; S" ?8 e n, u2 a$ F, q3 N18. 设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是()
3 ]. `' N+ t1 a/ B( ` q6 JA. (!a= =1)&&(!b= =0)
5 L! Y, \6 o% q- y2 ?+ Q1 V3 aB. (a<b)&& c9 P$ ?, D" C& }4 ^$ O( Q& w$ o
C. a && b
# E# V+ o+ m6 l7 v3 P! G6 }D. a||(b+b)&&(c-a)$ h8 p& X a6 `6 @& v
满分:3 分
7 \0 T6 q' l, P" ?$ Z6 X19. 下列程序段: char s1[10]=”12345”,s2[10]=”abc”,s3[]=”67”; strcpy(s1,s2); strcat(s1,s3); puts(s1); 的运行结果是()
- x; i" B: h( w/ U9 P+ @A. abc67
6 |- P& w" l* B k9 vB. abc4567) B) N6 L0 ~9 g8 x3 F
C. abc 5679 ] }' O1 _6 g2 I6 t- f$ f
D. abc567: H7 I+ R9 M5 X
满分:3 分& _2 z" p' n+ C! j
20. 已知int i=5; 执行语句i+=++i;后,i的值是()
% o, e7 j4 U# N6 _A. 10) C4 E% U# b1 I @
B. 11
2 J! f. `% z' kC. 12- f$ W7 r9 n; e- J- I) s
D. 以上都不对4 u$ m+ A @4 {7 `; F
满分:3 分
4 | B# o9 D1 |) i4 w
: X) b% S F: S2 t; h$ m# ~7 _1 D二、判断题(共 20 道试题,共 40 分。)V 1. 若str1,str2是两个字符串,则if(str1==str2)可以比较两个字符串是否相等。
1 K+ Y# X2 z5 B" \4 o% L0 t; J# ?9 ]A. 错误4 r! e" a; B0 z1 ]$ O' ^
B. 正确. {$ Y( I0 k) H2 k
满分:2 分
6 g, K+ E2 }6 j0 Z! r2. 函数调用可以通过语句的形式也可以通过表达式的形式。4 e0 V2 i; x1 g3 e
A. 错误
3 I) w7 T! |- l$ KB. 正确 W4 ]6 H; ~- r8 x$ H* j4 }
满分:2 分/ l/ d; e& B$ w- f; Z2 |& P9 O
3. ’ab’是合法的字符型常量。
% K; W6 C+ K W& lA. 错误
" a9 P5 \# ?- c; F! ?" R. X5 ~B. 正确
2 e; b* c0 t. R# i I 满分:2 分
" { Q7 t! u9 R4 |4. 关系表达式的运算结果是true或false。
9 ]# `" m1 B4 U0 X7 ?- c* wA. 错误
; L+ |; D4 E$ f2 C- x) ^B. 正确
$ u0 P( W( x0 `3 w6 o 满分:2 分
: y [$ p* |) u7 |& J2 F2 U5. C语言中整型和字符型可以通用。
0 Y& d1 h6 ]/ UA. 错误" ]4 A+ n0 [) Z4 ?0 {
B. 正确5 `8 t/ e3 o! N/ M4 P
满分:2 分
1 N$ B- w( s: [9 Y2 b8 N4 i6. 关系运算符= =和!=的优先级相同。 }, L6 F9 q1 m
A. 错误
8 f- C! g8 ]: \. k; OB. 正确. ?* y; C& e6 B% ?4 m
满分:2 分
0 F7 E- B9 w( M) W7. 数组名可以作为参数进行传递。2 v0 m- V) s. ~
A. 错误
$ t' }( H3 P8 A" P' W2 d; Y g! uB. 正确
$ n* R" I# E1 J8 i( e$ U7 }7 k9 ^ 满分:2 分
" A) n" i" y8 E/ S8. 函数的实参可以是常量、变量或表达式,但形参只能是变量。& _- H1 |: ^1 R5 V
A. 错误
4 t. |. X% O& |! G/ B8 g4 ~B. 正确
0 p. U3 u; \$ N% M' X 满分:2 分0 W C9 U1 R% P; [, k: [/ n
9. 当函数类型与return 表达式;中表达式的类型不一致时,以函数类型为准。; b3 \% \5 P8 `/ W) v( y
A. 错误
6 S# U3 s2 U( u* ~/ O8 ]B. 正确
% v G3 W; y3 P 满分:2 分8 c/ L) b! Z; _6 C C6 h7 B
10. 表示X的值大于等于50或者小于等于20的C语言表达式为:X≥50||X≤20。3 b4 D& j1 c9 M! g: a7 U1 W
A. 错误
% T8 ]1 P0 e" F- x6 PB. 正确* j9 f' W1 w5 a* T. d
满分:2 分% |9 f. q q4 I1 `1 w. D
11. default是C语言的关键字。
5 d( ~( Q" b$ c9 u$ A, J! t4 m9 MA. 错误) h0 q# ]$ E- g3 _ J* Q& f9 Y* N
B. 正确
. g% b5 X* r% z7 d. h) s 满分:2 分1 h: \) R8 ?' S ]! i+ j
12. 一个C程序可以包含多个函数,但只能有一个main()函数。
; J, \+ m8 U$ H0 k6 m/ BA. 错误
. S5 y# D, \6 O5 T0 ]. WB. 正确
0 `, j# j8 W+ O' m: i9 ^* g 满分:2 分
; N$ N5 g! _% d# _+ o3 [1 Z) W13. 当没写函数的返回类型时,系统隐含的函数类型为void.# ?9 f% X- o7 \3 S" T/ w
A. 错误) j: y6 \0 g6 l+ C4 J+ Y3 ~; J
B. 正确
2 U5 l. G- K; s B: Q R 满分:2 分
) e2 H% ^+ }5 v14. 定义在main函数后的任何函数都需在main中进行函数声明。
+ G/ O6 h g( C6 B/ bA. 错误) a* f8 @* _# o7 n3 X
B. 正确
2 g6 k. ]( q& N7 ~& X& M 满分:2 分
3 R* W2 E0 s& m% W( J15. 在C语言中,存储一个整型、字符型、双精度实型变量所需的字节数是2,4,8。
/ {- K$ Y' h# @; e0 O2 P+ j7 nA. 错误
! ~- G: `+ z5 Y% wB. 正确
+ G+ d' e0 M: g* }3 ]: S 满分:2 分
8 K, a( g' h( c16. 结构良好的C程序可由顺序、指针和函数三种基本结构组成的。1 W% l/ w! Y; @& d! E" d; H8 ^
A. 错误
8 `! @2 f* f1 ~' T6 p {6 DB. 正确1 l7 ~1 k& q8 k/ ]
满分:2 分: m& E n' [0 U0 F+ Q& n2 D& C
17. C程序总是从main( ) 函数的第一条语句开始执行的。4 q- h/ X& S# A0 W( K
A. 错误% M; E, g; |- ` \4 @
B. 正确
% z3 E& |$ R- E$ E 满分:2 分
% @* ?1 S1 Z! }+ f18. 有以下程序段: int m=0; while(m==1) m++; while循环体执行的次数是无限次。1 v2 C, @! ~8 c( G5 R
A. 错误
1 U7 @4 R- k. m: J, FB. 正确6 c' W- N+ I! S) I
满分:2 分
% I: @0 `4 ~5 C* w! _19. break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。
; W. H( V% j# F/ B" vA. 错误
+ ?' s k0 y9 d! pB. 正确' |& e; `* M% B& x4 O9 v
满分:2 分: K7 u0 [; q I; r3 y
20. ’\101’是合法的字符型常量。' L+ t2 r( M8 |1 t
A. 错误( I0 h9 ]' }+ d) w5 b* J% Z
B. 正确0 ~% g+ J5 y9 N' {; l+ \4 T
满分:2 分 |
|