|
吉大《C语言程序设计》在线作业二6 v2 k, x- n" {5 \$ A; b
3 S% @& y+ N( A. H1 ^7 M
试卷总分:100 测试时间:--
4 E8 s; Z r# X; w
# l- a2 z& j( d D! c$ [& m: E, L% @! Q& b
( @# t) Y% X' I4 B4 J" k
5 f6 c7 ?. ?1 e. o7 Z) \8 w7 g( b" Y- j E4 P1 x$ b
. ?# g2 Q+ W( [' u2 h' N
, F4 j8 n" h" K9 l# W( {单选题
3 H& O; V6 U" m) i多选题' s% g$ H0 I5 K6 b! l3 P ?
判断题; [ E! @/ w: f5 s* [
5 ~* q6 u2 t! V3 F! ]5 n3 k$ x, z: V
( ^, @+ L0 N! t3 V. k0 b" h x/ _0 v3 r3 x0 W q% x
- {+ n4 q) x% `" M! R" b$ i# M' Z
一、单选题(共 10 道试题,共 40 分。)* q, [' I/ s& W6 c0 Y
( O3 R( E- U5 U4 ^; h f& d
V+ F$ b2 E( [, u* S5 ]+ X s
3 }: ], t/ q0 \( ~: ~) Y6 b
4 k/ P5 z: D+ O. c, K
1. 下列各数据类型不属于构造类型的是
, s! ]& e+ g: s$ q7 s! d; N9 gA. 枚举型
' ?% J1 _8 R7 `3 [- i; a
( a. K* ^0 ]$ K H6 W7 h# i8 y; bB. 共用型# r0 n; ] @! g% |0 F7 z
& b, i8 k& h4 t) J4 |C. 结构型
$ ~3 h6 Y m1 y1 V8 F A# E5 s2 \4 x: `
D. 数组型3 y4 n/ ]; z, j, H5 j6 x
$ y* `: t. X X& K2 k
满分:4 分
M& d, z- U7 t( i/ N7 z( p4 S: d" ~. p" A. j
2. 设有以下语句: char x=3,y=6,z; z=x^y<<2; 则z的二进制值是
2 x* B" s) c) g, Y( X o) @A. 00010100! l8 T0 N7 M' ]% H* Y
; W. a# T1 O8 i
B. 000110110 h: g( [) h- W- V N
6 T3 z+ Z# B8 @% Q2 k, ]0 gC. 00011100
& Z6 J$ G$ R# m+ q( d4 E8 U6 V' h9 r/ v+ i: W& P
D. 00011000
) n5 _1 L! K7 q0 O; m7 m1 ]: D- {& Y) l6 J- ?
满分:4 分
) B' s) c: ~) a/ x( C7 m2 `9 K( R. \% b' s: K( v' u2 |
3. 请选出可用作C语言用户标识符的是7 w8 u R/ W! h. O# I- o$ J2 w. k6 w
A. void,define,WORD
5 m& V7 {7 {( Q' B+ S5 L2 H+ |
$ ^. ~5 }6 E- M1 g: J3 Q2 MB. a3_b3,_123,IF
; Q& W! U3 t; B
S3 U3 B: g. v: rC. FOR,--abc,Case5 l- ^' K+ B. T2 i; f1 F4 q7 S- c
; |# f/ T; c0 f& ]
D. 2a,Do,Sizeof0 B# P+ b) E# \/ ~, g% m4 M
5 h% L/ Y' {$ J: W/ o6 u 满分:4 分
. Z4 b8 c! T- {
$ d7 Y) y+ U, f4. 有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是8 P7 ]' Y- D3 x0 U. I
A. 2; A) @+ \. d3 @ \, S2 V
% [, w8 v1 g9 A2 BB. 4( y: F/ j6 c3 {3 h! h w4 }
$ M1 ]4 ^* s: L5 rC. 6
9 ^! x& j. i% H1 \
! H; k. H% o, w" L6 [* ZD. 8' W# c; T* |; F9 K8 C% E
8 r) u! r& W1 F- L& m; D
满分:4 分) {8 K5 m3 r5 ?1 d
& u; w" K: l9 ~0 A0 T
5. 下面程序的运行结果是 #include main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }
8 }2 a1 u# \# t+ A6 E cA. 1+ d; X- i5 y8 ^. D2 b
( e& Y' M0 ~6 E+ X0 U
B. 10 a& x. ]3 g' Y. S8 }- C
+ M- j) i7 b. O3 Q
C. 8
$ J, W/ H" L! i' Q
( m0 G$ L$ [% z% L5 p- @D. 0; V2 y& \9 Y* j2 \- j& t; O
$ E+ ]* C+ [2 O, h7 d8 K2 A# O 满分:4 分
) [) j! e* M& B0 y c4 i; W! o% l% i
6. 下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #include main() { int i=0,j,k; do{i++;k=316-13*i;}while(______); j=k/11; printf("316=13*%d+11*%d",i,j); }
& ~% U3 X( s' X: |8 XA. k/11
9 c# w" A# h, y! j7 ~8 ~8 Y2 |& g& f6 A2 v9 O0 L) T
B. k5 I0 a, D& v6 j
6 \6 P8 V, c( {% S( S
C. k/11==0
7 k" j) L- G8 T8 P L* g" e. B& L) M, Q' s, V4 x+ [, Q
D. k==0/ p( _: \! P! b3 @* ]% ~
' ~+ O% G5 j8 D1 g5 Y3 x/ }8 \4 G
满分:4 分
$ H g! U0 q2 q3 F& G% S
# T, p5 e- j% n1 f7 I7. 若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是
. R! n( E6 N) Q9 h2 a3 g! R0 L" GA. a[p-a]
1 d! z0 @/ X+ O( |0 h: f2 ], y
+ u2 O! E& x( e! @, X; I& J4 ^( c+ @B. *(&a[i])
4 d# y$ V Y/ n- s8 Z- }' L
4 z6 N6 S' y4 n8 T2 h# iC. p[i]
& e# W4 E& f7 X' L0 @" | u4 \
* {9 u( \1 i. fD. a[10], e, K. x! G8 |5 t5 f7 H
- e$ f0 w4 q: z* ~! N
满分:4 分
9 ]# ^+ k6 j9 B% D# m- m( D0 _' u! r* B9 ?- X: j0 u
8. 下面能正确进行字符串赋值操作的是4 _ z4 l9 J3 }0 |/ d0 ^
A. char s[5]={"ABCDE"};
; o( E$ C; ~, A! n- Q& f1 d; t# e- e9 o, t5 P
B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};
5 T4 v4 t" E: C: P6 ^) L
+ B( y& b, y: [8 JC. char *s;s="ABCDE";
6 k2 \0 J4 H' O8 q0 N0 g- p, J$ h( U
D. char *s;char a; scanf("%s",&s);, M6 \$ m/ j7 j0 _" [* W1 {
! E" X$ Y( u( z4 Z( A, e4 P 满分:4 分0 A5 W0 z' W) R. @9 ~) Q W1 u
4 j4 c) F0 h( I/ l
9. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 main( int argc, char *argv[]) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); }. a J6 s* a) n* _6 |
A. ABCDEFG
6 G5 H) Z, m- D5 P& W$ G7 h1 N6 h8 v! w- _
B. IJHL
9 M2 M/ D9 X8 Z. @$ N
9 M' i( e9 i8 k- g5 U# DC. ABCDEFGHIJKL+ w, S8 I, S5 \; I9 w7 c: t
1 ?% \5 ?9 k0 A8 u7 h7 zD. IJKLABCDEFGH
" p0 u3 s8 I- \! ^" h! i/ V( T, x1 g6 U
满分:4 分' r4 g/ S* j- l7 u* v3 c
# E; k1 f( [3 Y0 o( V
10. 下列程序的输出结果是 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y); }( u) s8 H5 ^9 M. W
A. 39 w5 m% \8 O% a$ h
s4 q: n( n8 A, a) b
B. 3.2; W; a4 e& v/ K" u1 A' e
7 K; D2 B7 `# D+ jC. 0
2 k1 T( |" Q+ G8 L& I; M" ?! z% p- v) Y% O- h) ~. C) l$ n2 V2 X
D. 3.07
( C. z$ @7 [- }, ~$ X: p
3 O$ g. w" j2 }" M+ o6 R" w% Y多选题(共 5 道试题,共 20 分。)
1 ~. Q( \' W; ?2 _. ]# d. v1 R8 b5 a G* B
V4 r6 F7 h t$ E4 @1 A2 [8 G
+ v! K4 P J0 Y8 _, s3 n- \
/ }2 c/ F( i: I: J" _3 Q1. 带参宏定义与函数的区别是:______。
7 L$ i9 ?0 \* u% t+ yA. 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
, X& {% S' [9 `; L+ S3 c2 R, |0 ~- y
B. 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
! d5 b- ?7 e% g) z* X* m1 s5 u" I% x$ K; T) M+ O. o: `
C. 宏不存在类型问题,宏名和参数都不存在类型问题
8 a, v! G5 _6 `$ U" o5 u# @0 G2 g* q
; x: j4 P4 u$ [: m' g/ d$ SD. 调用函数只能得到一个返回值,而使用宏可设法得到几个结果
$ W0 i# ^; m$ W" S) ~4 [, V% Q4 g. b
满分:4 分; F8 ~8 X1 h+ k, E5 p
. f- M) j- J# Q9 M" {
2. 内存中供用户使用的存储空间可分为:______。. h, {# ~, J$ }0 E% o/ a
A. 程序区0 t2 D3 N' H( x m1 K
! I3 N+ z2 ]* c1 e3 ?, S- i
B. 静态存储区
4 n. K; Z5 i( E+ R5 j
8 G4 J. N& V# [5 y8 ZC. 动态存储区& x9 x8 x9 k4 @
# v7 v' ]) ]7 f2 I
D. 数据存储区
. H3 x$ l6 C0 d$ b% }: X
( I- s( q# j1 x; F2 |- A6 j 满分:4 分" j9 ^& K! n" U* x% n( C2 s7 x2 y
6 b+ R$ s, O/ f2 n3. 以下______是正确的转义字符。( ). a5 H) W; G8 Z- U# \" O$ a& W( E
A. ‘\\'
9 `8 y0 z* h8 H% k& O% D ]8 ?% t" q2 v; i4 B4 ?
B. ‘\’
9 \2 |! D% v' r" Y& E! R5 {! ?0 P
8 R6 l' ^0 J& }2 T; e* q/ ]C. ‘\81'% Y! P6 l9 `8 Y; A
& \7 X j+ M" s- h7 ^* ^3 @
D. ‘\0'
3 \+ _5 U# C- C1 r+ v) n" k) j. j' ~4 w ^
满分:4 分
4 b2 L. D: \3 J# {5 Y% t9 }' _, G: I( x9 f" |2 C- M5 L
4. 以下不正确的描述是______。" \) `! j& \, [5 L% V8 P6 o
A. 函数的定义可以嵌套,函数的调用不可以嵌套% S3 Z6 y9 ?0 v8 \" F
+ h0 C4 S1 s7 |- j. U2 x6 Y r3 }
B. 函数的定义不可以嵌套,函数的调用可以嵌套# O( S `9 x& I- @5 m4 G
% d% U, E' l! e
C. 函数的定义和函数的调用均可以嵌套! m' x/ S$ E+ N6 C
5 i6 A( X" y* ~/ G9 M3 X+ ?! u; i
D. 函数的定义和函数的调用均不可以嵌套! @! y6 @- n/ O% p/ @& w( q
1 j$ X4 z; W5 y( K. d8 C) [! k H, J7 Q 满分:4 分
1 d1 {% T1 s& y8 G: ?* a Q8 u6 y! N9 Y
5. 对函数的正确使用方法描述4 o/ ~/ _) ~0 M) n1 ]2 U
A. 用数组做函数参数时,必须在主调函数和被调函数中分别定义数组
1 t5 k% I; ^5 x) I7 D- Z4 {0 F& W9 p$ a+ |7 H7 g" r8 m% A2 o
B. 实参数组元素和形参数组元素类型可以不一致9 y( v! N$ j' q( v) |2 t' f3 X8 }! p
7 @) x+ s @$ ^( V2 R6 J
C. 形参数组长度可以不指定 5 s+ x( a- _7 j% g+ P# J& e4 ~
( Z# X$ W; U9 `0 E. ^
D. 形参数组长度可以大于实参数组长度. V$ c4 y1 y3 e0 ?. [# Z
0 l4 U. D9 y! D& u5 F 满分:4 分% R. j% z5 q/ c& I$ N
满分:4 分- L' N' ?9 `% I8 b1 r
判断题(共 10 道试题,共 40 分。)" V" K+ F; T2 v; d7 J3 R
, k$ g( z6 ~0 UV$ ~3 o/ p/ x& e
; t& S5 ?( t( p% y
: \# l- t3 M* Z; V1. C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。( ), f4 t2 b! {6 Y* c, Y, a7 g5 g/ \; ^
A. 错误
, M+ k, ~) {, M* K0 X; Z! o% j! K& S! Q% v& X C" _! Q+ l4 W; X
B. 正确5 @1 M$ ~6 A2 A8 S8 w* ^
( y5 l1 V& q) E k3 g2 o
满分:4 分* n+ Y; L) I+ h) Z/ s3 M$ F
5 K, G) d* ~5 C4 u1 P, {8 {
2. 数据结构指的是数据的组织形式,数组就是一种数据结构( ); Y5 c! z% j& l1 x' n0 Q
A. 错误
1 n9 s& c5 F& |3 ^) ~: Q3 ]& R$ _6 F; ~* |
B. 正确
3 x" t2 H$ C$ V, z( t3 J: Y$ g
8 y& {0 e. g$ }6 I9 B j. H& ^8 A3 W 满分:4 分
0 Q% i" j3 q, {* L6 m+ ^- }, V1 i
3. C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。( )
/ }6 Y, f. }- [( F; x0 M4 IA. 错误
; [3 ?5 m6 R7 Z* Q4 m& w' K. H3 T
B. 正确8 q+ ]4 r/ S$ s) z- n
7 X% ?* }2 {* P2 a8 F
满分:4 分
5 |" m6 A5 |) I* Z0 z+ y0 t/ Z9 [! N/ w) S& Q
4. C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
/ X! G0 ]$ D, ]$ ~: EA. 错误
4 j X' r4 |7 k* A1 S+ p! h: F: Q: J0 T3 V/ C) ]1 C
B. 正确& z% A3 E4 D: s- S& |& R
X0 j9 V [9 Q! y
满分:4 分
$ k4 w! [) e5 H& g: D
: ~) h" L, \, Z: q. J4 W5. 模运算符要求两侧均应为整型数据。( )! `- W' H& j$ `/ F! T! k
A. 错误
- E: k# C3 w" ]; w( L. d& `* j% b% x( ?
B. 正确5 ^# B. m- j- v L e
. H" m. Q @/ M3 y, @2 g/ O
满分:4 分* Q+ g! a8 y# m" E) W
& ~! e; h5 _$ P& b6. 主函数和其它函数可以相互调用0 l9 h; R' e! [' v+ M
A. 错误4 O f$ P% s) z; o
7 |" Y# ?; ^7 X$ I7 @4 j+ [
B. 正确
6 a( J" _* U4 ]9 b7 T8 @1 C/ K" Q9 h3 H( x
满分:4 分
8 a" i; A0 n" O
" g# M5 r) v$ \# g) h0 \. g7. C程序中各函数之间既允许直接递归调用也允许间接递归调6 p6 ]$ }$ z1 J; ?, H* z2 e
A. 错误
" Z! X7 \/ f3 l5 w T6 l
6 O- e9 t0 |: d, `- xB. 正确1 d+ A1 B+ C; _& @, W
# t% m& p: r9 e+ l1 ]* D+ w4 \ 满分:4 分
# r: M n7 k+ {3 T) ]4 s
r1 _; x, E; u6 ?$ o6 t' L8. 一个int型与一个double型数据进行混合运算时,其结果是double型。. `0 P! x4 @6 _1 W! M! q
A. 错误
. F8 Y* e/ r8 S+ X5 i
+ }3 o1 S! Z8 TB. 正确- h) E6 L/ s5 X* O, L: f. p
3 y% b F6 Y" x* ~/ h 满分:4 分8 B2 t# c7 o1 v7 C! U o1 k
! g, B: M% y4 z8 r) s; H
9. 调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
9 C' J+ v' [' @5 g6 ~ ~9 _5 d5 p" wA. 错误) w) s% K0 {2 e! ]0 Y
" m6 ]: N- S+ {$ d7 N' }
B. 正确
5 K* A" X6 n7 x% e/ c0 r4 \. M/ t
满分:4 分5 [: r0 v% h5 H6 F# d
6 g8 u" ^, ~* ^+ q& K10. 使用getchar函数可以不添加#include <stdio.h>命令。( )) C" s g3 K5 H/ N
A. 错误
# n; c; R# s. w( \9 I, F
# u- L3 A( a+ ?B. 正确
6 r7 C% c; K! U( A6 ^; h# V$ w% q5 x* {% y6 m, a0 Z" E
满分:4 分 |
|