2013秋季学期《C语言》补考在线考试(适用于2014年4月份考试)
0 t' _+ ?, k. `试卷总分:100 测试时间:--
0 r& |0 [! F* z一、单选题(共10道试题,共20分。)
]4 G4 N0 i' C- D1.有以下函数定义: void fun( int n , double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是
1 b- @( f) w w4 z; AA. fun( int y , double m )
, [% F: [5 v2 C, t: [B. k=fun( 10 , 12.5 )4 A H. q! m. V5 N
C. fun( 10 , 12.5 )
" {" I- M1 u. p3 `. T PD. void fun( 10 ,12.5 );4 b/ x* }1 W6 W
满分:2分$ }+ |+ [ X8 s
2.在一个C程序中! F' F3 T, I. e2 S5 \2 N
A. main函数必须出现在所有函数之前; ]& p4 e2 l. Q1 R
B. main函数可以在任何地方出现
$ P& [: @: y5 w( A' @7 M YC. main函数必须出现在所有函数之后
1 s8 R& N4 W* N! d% cD. main函数必须出现在固定位置2 S5 U9 B% f9 ~/ f2 }
满分:2分
2 j' e, E, {6 P3.在C语言中,字符型数据在内存中的存储形式是1 @# U) M9 I9 \( c
A. 原码
% \# u; v2 W- |& H; UB. 补码' f( M6 y* V+ s) s9 M9 q! H, X
C. 反码% ^) _; n6 n8 d
D. ASCII码
0 v# i1 d6 s+ t- S/ J" a/ v# n( M满分:2分
9 _: P! Y8 Y6 ^. i4.计算表达式(x=4*5,x*5),x+25的值是
' A a0 D+ H# M- P4 |. VA. 20U3 |& r2 P5 d% e1 V! v. ]! V
B. 125( J N ?/ p0 {0 v
C. 100
0 V& \5 q% ~) D( w. A+ T2 DD. 457 x4 h& |$ R. Z: i
满分:2分$ I6 O9 x6 ]: Z! q' P( P8 h: _. V3 |
5.下列循环语句中,不能够正常结束的是
( c# Q+ n( I* U& V! nA. ! j. J7 q) |% A( E3 _3 `6 D
int i=0;
% a6 x1 }3 I5 j. e1 Afor(;i<100;i++);
5 E0 b* w3 f [# U7 DB.
- t: P! r$ g1 `2 Fint i=0;7 ]) m9 l, Y9 X- V1 f; \
for(;;){if(i++>100)break;}, M! D) i3 D# Q: m
C.
0 q. o2 H" Z; m0 ^( o, K4 Pint i=0,j=0; ; G( J* j' R/ y, z0 T
while(i<=j)j++;/ O, ~& y* { |+ t0 k& s
D. " X: a. R' n" A# z5 S& m, J. d
int i=0,j=0;
- n# n( |, I: s& c8 rdo{i+=j;i++;j++;}while(i
满分:2分
1 t: E3 d. n+ L. |1 g6.设有变量int x=0,y=1,z=1,则运行表达式:x=y++>z--后,x,y,z的值分别是8 I; t+ h$ O. Y7 h
A. 1,1,1( {9 K3 C) \. W2 G
B. 1,2,0
1 i. I2 r4 d- _C. 0,1,1$ ?6 _/ s1 K* d
D. 0,2,0
- K3 @5 o. U& v* G$ T4 {/ O满分:2分
4 E" I7 ~8 L: E9 T! ]7.判断字符串的长度,应该使用的函数是
4 }. Q9 Z( C* F7 \' m- o0 fA. strcat
' u+ G& Z. ]& {1 Z( \; ?. g# IB. strcmp+ I; ]* T' H! z& n" q1 \6 N) t2 X
C. strcpy
& X0 a9 M3 g% S$ p, P; mD. strlen
+ N% M+ o: R) W4 x+ y满分:2分+ L. M4 M9 G* G* ^$ S9 D
8.若i为整型变量,则以下循环的次数是for(i=2;i==0;)printf(“%d”,i--);
2 c6 m- W+ l7 _3 YA. 无限次
- R' b' m$ M) L" I! a" [0 ]% iB. 0次
2 Z3 W8 c. t. b$ f3 C. zC. 1次5 ]& S! X/ u, c" ^" g/ M
D. 2次* E1 I# b' \3 }3 C) W/ m' j5 m& x
满分:2分/ e* ~. U, [) B
9.若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是3 Z' W( b, h8 ^! d
A. ps+3
* b" p8 z% E: H4 I0 F: @5 TB. s[3]0 n6 J+ R5 F7 z
C. ps[3]
9 R# E: r. o1 j/ aD. ps+=3,*ps
9 L9 v$ H/ M$ {满分:2分! J; j8 h5 o, ?" ^
10.从变量的作用域来分,可分为全局变量和局部变量,形参是
; @. ]5 T( Y4 b0 K6 \2 kA. 局部变量1 u% r' _# h3 y) U' m- }
B. 全局变量
3 S2 Z: d1 g* b9 v h8 [$ W% x, nC. 静态变量
9 p& a* M& X @D. 动态变量
/ F! F: o( S, y+ y. R1 e满分:2分
" E9 d# x' s. R5 m二、其他题(共10道试题,共50分。)8 L3 l9 h4 }4 U5 a8 T% X- W7 u
1.0 C3 F5 }# \, a: X
读程序写出程序执行结果) i+ v+ b3 W! n; G' m
#include
8 K/ ^8 o$ C' @ s$ ^7 I6 vvoid main(); P6 c1 A- O/ H# ^
{ int a=1,b=2,c=3,d=4; 9 Y0 k& |: Q m7 K) ?# R0 T
printf("%d\n",(a+b,b+c,c+d));
: z" |$ `; n/ h# M1 N+ ]; C3 a a=b+c++;
2 P! G/ m+ L& H6 D, W4 Fprintf("a=%d,c=%d",a,c);
: b6 j0 U- e' E" X- {; [; x}
+ W3 X! W# y8 m' [% V8 u* L2.
2 C6 B' K6 [$ X3 o, B读程序写出程序执行结果& g: Y0 s6 W9 d
#include
! F5 N7 T4 }; q" r#define S(x) x*x+ M; U( o" f9 A
void main()2 ]0 N" K5 T, j5 g6 X. u! L+ Q
{ int a,k=3,m=1;5 C0 ]2 P @' x& i! D- S7 R
a=S(k+m);' _% V* V+ q' c) A P8 K& M
printf("%d",a);' m7 _3 B# ~4 A8 A3 b6 d
}
0 s* m6 _' V8 o& [2 \0 C3.) N5 z5 E# t* r2 r2 R
读程序写出程序执行结果
y! r, V- z$ @' f$ Y( m$ D Y S#include * t0 E* _, k0 r; d0 h1 k- [8 Y
void main()
% A9 p" W2 x, X$ d \/ e{ int n1,n2,s=0;9 b* S+ {) \) Z) F) C+ `( T
n2=135;/ B; { }! j2 g; i- o) U9 F1 z
while(n2!=0)! ?0 A+ K6 f' t$ n! {+ ?$ u
{ n1=n2%10;
( l) m9 E, }6 m' l( `% Q s+=n1;! A8 m6 g! v e( F* B
n2=n2/10; * s- l; y! X* h1 O B* l
}y( E& }+ a, B8 r6 u3 \
printf("%d",s);
# n% t& Z9 h9 g9 @( K; a8 B) C}2 \+ n9 C9 p+ J) {' I
4.7 r6 z5 J* B8 `) B
读程序写出程序执行结果
$ [3 t5 Q# [2 U& [#include & w5 }# T" X Z, }
int b=3;
1 z9 u3 R; V% g3 ^8 h1 ~) Bint fun(int *a)
7 o* X# U* F* \* O: @{ b+=*a; : C$ k+ I% ]2 c' u; p0 C" a
return(b);
9 n$ D u* G- G! _1 ^4 f: Z}+ X% d3 V* h6 Y' \1 P& m" G
void main()b, n* G5 k( C0 J* ?
{ int a=2, b=2;: r/ y |0 b+ z( x. y! W
b+=fun(&a);
U2 h0 @% ~* X' g4 O* H, W; nprintf(“%d\n”,b);
/ `5 h, L! |) b1 u1 G) i" g}
8 J6 e+ S8 \- K9 B8 G1 J# a6 _5.3 |* V% j6 X0 e" w; `$ i) {9 f
读程序写出程序执行结果
/ a d& N" x- y" @4 ]* B# I0 y#include 8 ~4 _/ c1 [3 X B, y9 ]
void swap(int b[])
$ |7 \$ J8 R3 m{ int *p,*p1,*p2;
' X0 c# U* t1 t% F) s& n' [ p1=&b[0] ;p2=&b[1];. D8 Y) h; Q. c4 [- Q3 g
p=p1; p1=p1+1; p2=p;% W, s9 s' W6 P( z2 x
}
, ^9 \- m5 S% t: C" w; lvoid main()
0 x, b u' O% j9 |1 c" w8 @9 U! Y3 L! A{ int a[]={5,9};
% p0 i, }' F5 Q, J2 s+ C1 i t printf("%d,%d\n",*a,*(a+1));
0 B) G6 H; o- L2 F8 w6 t. \' b3 }4 ~ swap(a);1 [' w. F8 b) ]5 E$ _; y
printf("%d,%d\n",a[0],a[1]);+ C! J5 l8 g2 l. ?) W- V
}
5 k. A# }) R( q5 m# O6.
( a4 l" F6 _- g读程序写出程序执行结果
# N, y% h, N# X$ y7 G#include 5 g# P s! b, u" q$ z6 ^
void main()
0 X' R' I+ P# [/ b{ char x[]="language";0 e% h4 l8 R* f
char *ptr=x;+ [% F w x k: s
while(*ptr)
" M/ S5 N8 \" W/ H, E4 ~ { printf("%c\n",*ptr-32);! Q3 {' z6 W. V( n9 ]9 b
ptr++;
4 j0 _6 h4 \8 ~$ Z+ S0 x }
, H9 j, w P6 T& ~: m# |}
$ r& Z6 G7 f" b% V# O8 V7., J" q# V- t- M& |+ n
读程序写出程序执行结果0 d2 R' j/ ?3 O5 w
#include
/ y7 R! q% E! ~; Svoid ex( )
9 S, d# C+ p" D6 s) K$ x{ static int x=3 ; 4 n$ ^1 {, }2 f
--x ;
$ H, F" |7 g$ a2 r9 K/ vprintf(“%d”,x) ; * f4 @9 L$ z& M7 n- s2 U
}
( O" U- L1 r5 Kvoid main ( )
; `8 O8 k0 J" _$ ^{ ex( ); / I' P. b, Y0 u u8 v' W9 r
ex( );
( ^3 s: ^, o& z5 I: Q) F: R! { }
, k8 J3 g _1 ~7 ~, V) b8.
$ g" L9 D: f& O/ S读程序写出程序执行结果
8 U# [# C5 N$ ?" y; B: Z#include ! W$ y& V# K- w+ Q
#define S(a,b) (a)*(b)
, C; S' l. T4 E( ^& z: h void main()
1 z, }0 c8 D7 r' D! G7 x# Z{ int a=3 ,area; % r0 @+ k7 \1 e6 Y$ |
area=S(a,a+3) ;- T N2 h0 X9 r8 l
printf("area=%d\n",area);2 Z- M# \. i- G! Z2 e) e5 T8 o
}% _: q2 H8 ]* p* [. Q6 }, G% @
9." Z6 I4 r( a, s
读程序写出程序执行结果4 x; Z/ S$ t, ~% ~- d7 x R. {8 x$ }* e
#include
+ u6 Q7 @; g; h1 }" o2 `- f* X1 r: q void main()
! x1 @* u. ` P3 `4 ], p/ c. l { int x[]={5,6,7};$ n5 J: \7 i; p2 C4 Q" n. W
int s=1,i,*p=x;
+ ~% s( ] j9 ] for(i=0;i<3;i++)
, t+ {2 i8 L8 O s*=*(p+i);
3 |- {- _& f8 n* t printf(“%d\n”,s);' x: U, k |1 g) a+ V
}
" N, p: `5 ~: ]* F0 k. M9 F2 ]10.; W N4 _* g1 r n. O
读程序写出程序执行结果2 [- m, n5 A4 x" K& {. h
#include
- J7 ?$ e" |1 X; B4 a/ _void main()
1 W' E k7 @: X% x{ int a=1,b=3,c=5,d=4,x=3;
% T, t5 q$ @ N0 t2 E if(a
if(c>d) x=1;d3 }0 o- x v/ z! c6 h* c }
else if(a
1 s) _: T' h/ i5 i+ x0 m4 \ if(b>d)x=2;
( S+ ~/ s3 {' b! z* k4 B% r else x=0;
1 E* Q" C9 [ \6 X1 `. Q printf(“%d\n”,x);
, b- J+ ]! ?3 @" `0 e: B- s' R}! e. P+ a0 d, M& V; g, m! `
三、简答题(共3道试题,共30分。)6 F0 P- R+ [7 g$ u. T& o9 ^% J, ^2 \
1.4 w a* d- H2 X* {5 l# A, B
) m: Q- j( _* _ (备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
$ `! A! |$ G+ X- @, T2.
% U6 [( U* g+ L: I; E备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。2 e. T4 m2 c; B# `0 r
3. 编程:计算 sum=1+1/2!+1/3!+……+1/10!, 并输出结果。(备注:建议学员在做编程序题目时,事先在记事本或word文档中编写,然后拷贝至答题区域即可。)
% d, v4 v/ O6 J8 z2 P) @$ D
0 Z7 ~5 ^$ \, Y. |' s! F7 }