|
吉大《C语言程序设计》在线作业二, c0 B% r7 r, Y7 [ X' B" i: r" A
$ _6 T5 j# b! W5 n1 @6 z8 b7 {, D
试卷总分:100 测试时间:--
* ]) `/ a7 G# H$ T
, r+ E) ~; O5 l+ I% G$ w+ x' n' n: w( l+ D# E: q
3 V: w$ D+ D4 ^
8 R4 A! [( {& A% O7 E" {- n* x+ w
1 u G7 T/ p- h
' U& H: I/ t/ M, X3 ~; [单选题3 l; [. j9 ^+ c( a9 T6 E1 T
多选题9 a0 w# U; D& m" @. B8 i) h2 a
判断题
+ ~" J' E) [! ^2 h1 y/ e* n5 [; M" T0 B $ L. \6 f* ^6 }' J8 C o# q ?
& x2 b# T# I1 x2 w5 z
0 d& X7 [* R' ^/ L
* F5 K: {: k# w* I7 h1 w一、单选题(共 10 道试题,共 40 分。)
! ]1 F n C$ G
9 D( y9 c. F: E: [4 h8 |9 X. R bV
( [% S: i" p T
# A; a$ G( y, r( Y3 K2 e1 j7 V' Z4 S0 B6 V
1. 下列各数据类型不属于构造类型的是
; k# s0 A. m y# i0 jA. 枚举型
' r+ i/ e- {+ C) s5 \! B
" L/ m. @ a n/ B8 AB. 共用型
: j4 Y$ [8 |8 ?7 Y: t3 J* H, j( v* } I7 F% m4 \" K
C. 结构型
+ {! f- [+ T ?& R% G o# X, S0 V- e
D. 数组型1 ?0 a# Q% M( A& ~
) y6 U+ ]/ d3 z% c2 x- P 满分:4 分
# ]; i! n W( u; N
6 f' W" }3 `) Z3 \ P2. 设有以下语句: char x=3,y=6,z; z=x^y<<2; 则z的二进制值是. p1 {2 V; P$ d/ k
A. 00010100- M3 E+ e" F7 D/ `7 F+ I$ L, J1 Z6 [
# B2 z7 Z" F) ~$ }% B
B. 00011011
4 } w- |9 g5 `& u% S: T" r, T
: Z0 P7 V; c- ^7 s1 \3 JC. 00011100! P5 ?# R% r; C$ T5 q5 o8 k
$ m# C: q! }' n! @/ [- M! YD. 00011000
/ p# }% x% M$ j: }# @' n2 ?+ M8 V. V% k Y2 f0 G
满分:4 分, W% j. K' Z8 T, `% T- F
# x; p- B1 Q& S Y$ J+ \3 Q
3. 请选出可用作C语言用户标识符的是
- J' q, H, d2 `# P3 sA. void,define,WORD* Z6 \# J5 X* _
; L' f- g9 t, ?, ^( A- I
B. a3_b3,_123,IF& X# Q- C- S6 j9 w; E8 r M5 U- L
9 z$ K5 X; z; D8 t2 ^C. FOR,--abc,Case' U& T' T; @$ ^3 ^2 `" S$ U
* w K# v v+ [+ [) d, eD. 2a,Do,Sizeof" Z/ ]/ \8 n, z. W2 {
$ b" ~' E5 j$ Z9 c 满分:4 分( W% V6 V$ ?" p- ]3 ?7 E
4 i/ N. t& v9 `2 X" Z3 L4. 有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是
0 O# a/ ^( T9 q0 m& l+ n. yA. 2' E7 d6 ~) O1 s+ b4 G
- K- e4 n) t% L6 x0 |B. 4
4 c4 u7 L# r( ]: s0 W) O" m6 e! t9 f9 I p: |! [
C. 6
' P" ]" d# t. {7 {; O' c( I3 @' s
+ W& o2 ~: Q/ w5 l. ^5 ~D. 8
- W5 k, |, q# x9 O' p2 y
3 }" V, _# x" ~% Y d 满分:4 分" t1 F; K( j) w+ `$ i; u* l
+ ~% _( J# g3 k8 `, y2 u# l
5. 下面程序的运行结果是 #include main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }
( q. \4 i8 K7 e: ?: pA. 1
$ Y1 A) Y7 h, Y6 Z; H
( ~; f# i' @! FB. 1! u, a/ R2 _$ V
7 r0 G. p( |( A# x3 A4 E" {
C. 8% T& y- F$ ^ b' E) ~& ]4 C3 i; {; h
. G, V3 l8 W7 ~# a, E- G% e7 T5 Q
D. 0
, b( ]% d# [8 T
7 B* x, C, w. D' k6 p3 \ 满分:4 分6 g% d# y" X7 v8 u' u
" g6 ]5 E& M3 P7 K6. 下面程序的功能是把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); }
/ v4 F- f# f. ^& k9 q% cA. k/11: S! ^% C$ I3 k9 Y: C
% Q8 k+ Y5 k+ s" P% wB. k
9 X1 @* }; [% f" Y4 W2 Q
5 [( F& y$ ]7 u0 h' f3 L" eC. k/11==0
; k- L; s4 @5 j1 U' m7 p! x3 n
6 l6 o0 c# A8 `0 }/ w* nD. k==0
% a# r0 y ~1 K* a6 c$ C
' b- n: I- o. _$ J7 @2 `; X6 { 满分:4 分
9 R) b5 V; g# d) V1 }7 u7 m' W2 h: e! U6 p+ ]
7. 若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是
; v' c. i5 F ]5 M& O# e$ N' XA. a[p-a]
$ M: x" M6 l" f+ `+ A( p0 }9 I/ ]
- i5 t5 p4 K9 R3 h. a: CB. *(&a[i]), V- O5 j+ j9 V/ u2 g8 T
2 b6 Y# [% M$ yC. p[i]
3 t. p( m* Q; A: Z: O4 n) ?5 ~5 J7 z1 ~% i, E& h' y/ y5 U
D. a[10]
- d: ?1 L) e/ n! p4 ?1 B& n* @. ~9 u# u2 ^
满分:4 分2 H8 }% B* W; i% j# n4 f/ F6 T! n6 T
1 `" I3 j/ t+ b. L
8. 下面能正确进行字符串赋值操作的是
- L+ J% A" F( U( ZA. char s[5]={"ABCDE"};
# L3 X9 P- t3 ~" E: r9 ]9 y# p8 i; X% A h( \6 _) w. }$ }
B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};# j0 V$ G+ Y6 Q7 ]! E3 w7 W
5 H4 M9 k( B" ~/ g5 v" AC. char *s;s="ABCDE";
) Y7 f* @0 G( m+ A ]$ X; W$ T( Q* S
D. char *s;char a; scanf("%s",&s);
3 X# i _( _* b, k* r
& C6 V. e6 Z0 n/ r: q. c& w5 t 满分:4 分9 ` h% |7 g5 @$ s5 V9 _$ R( j- t# f, m+ n: z
6 d6 U) J4 Z: r) B) B, T1 W3 P9. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 main( int argc, char *argv[]) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); }
) W# C/ V* N7 {. Q: \A. ABCDEFG
# r" ]9 Y w, f& P3 J- G9 s3 |4 @0 ^ l
B. IJHL
* c, G5 j/ S' d- X+ w; G3 t( ^4 ^5 A0 G0 ~) ^
C. ABCDEFGHIJKL& s/ n# f, ?# n* ?# B: K! I) o% P- h
; \& z- ?/ m/ _7 I, k/ i- OD. IJKLABCDEFGH. J4 b0 x4 x7 _9 B
9 R* ~( q: b0 ^
满分:4 分: M6 D2 G* @+ k5 m1 k; o4 }
. v9 X3 B% j8 z) Q% y3 ?7 L
10. 下列程序的输出结果是 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y); }7 ^, w. ]& E8 z6 ]. {( b+ i. k1 Y
A. 30 T# s. \2 B* S
! @# x; s. X( C+ k: U* G
B. 3.2
4 b8 P% F4 h9 d9 q" j
! B" a* X% k5 P( I( H9 yC. 0
( w" G B6 k7 ~3 d) u K3 B/ I1 s
3 c e6 X9 v% n$ E5 ?; C9 ~ h- |! gD. 3.07
0 }4 x* S5 e) A b9 n1 }5 {) H* O/ C4 H! U. l( o8 j
多选题(共 5 道试题,共 20 分。)+ b2 G! ?+ m/ W% f5 ~
9 [- \4 B u- n' H5 H
V) a, B) h: @# ?6 `7 e
2 ~6 V& l* y4 l) r9 w
/ X. n% B2 v. ?' h1 y5 H- }. c1. 带参宏定义与函数的区别是:______。
1 L0 ?8 W/ D0 S+ d! OA. 函数调用时,先求出实参表达式的值,然后代入形参,带参的宏只是进行简单的字符替换
8 q6 h% e+ l1 N- V0 B9 |1 O- \
/ y& p+ p c, [, aB. 函数调用是在程序运行时为形参分配临时的存储单元,而宏展开是在编译前进行的
5 y$ f8 _6 j- Y7 F0 v* N" E; q
2 J, f4 `( l( \! t" gC. 宏不存在类型问题,宏名和参数都不存在类型问题
+ d, i* W w/ W) F; R0 i, G- e& j
D. 调用函数只能得到一个返回值,而使用宏可设法得到几个结果; l+ e8 y$ {9 h
$ u! w* O6 U( I5 R7 e( Q5 b
满分:4 分8 D2 e) X( `8 j [0 W8 A$ V
9 {: w; C' \/ ~/ O# O4 y5 X) [
2. 内存中供用户使用的存储空间可分为:______。; q, g' C# Q' a; Y2 G' b
A. 程序区
5 u4 K# Z9 L; y% x( |1 _# x7 L
B. 静态存储区7 t+ l# ]6 p' I [0 Z5 F7 T1 J
& K; s' z, T" _; }
C. 动态存储区) ~! ]# p( n3 m4 C/ q; g$ W W
7 l- S. X0 U0 M7 R0 o7 M2 E0 m- @
D. 数据存储区
8 T" I6 u6 G# ?: {- H1 ~5 {# {" E& _( W2 k2 a4 [! h
满分:4 分
- r; |' W9 r& i/ c9 ~6 }
' J3 r8 k5 `. c4 O0 ~' s' L$ Z3. 以下______是正确的转义字符。( )4 H: ?. ~5 y: x) S: V" U! f3 y
A. ‘\\'
1 K6 h3 k- @0 }- i) w) P: z/ X v
0 K: ] ]# w. A2 t' KB. ‘\’
- e7 t2 R9 l1 g) L; l" E
* a! a& H8 I1 nC. ‘\81'
9 A8 C4 O3 O5 m5 k- T6 K
* _ n v- G6 W( \2 `3 D6 FD. ‘\0'
1 K9 I1 [1 p9 i! ?- n
: d; J' ^+ K+ v& P1 c# \! E* w 满分:4 分4 `- Z$ U" d# C6 G {% U' t% t
2 N/ `: b# d6 W0 y J8 |8 x% X4. 以下不正确的描述是______。
( r& f/ n$ _0 H) `) wA. 函数的定义可以嵌套,函数的调用不可以嵌套
9 e* ]1 \* ~, g6 S6 i" g' v" n/ H: J( E6 _9 A5 R# j* T5 V
B. 函数的定义不可以嵌套,函数的调用可以嵌套! h/ T# o) M# J
1 m. e$ O- P% H0 D, X: Z2 BC. 函数的定义和函数的调用均可以嵌套1 f7 y" V9 I& A" g8 u8 w1 |: o
$ u3 t8 d# M6 z) d4 E) \
D. 函数的定义和函数的调用均不可以嵌套
8 Q# G, i/ F' s, N9 T( c: {( ?3 g6 y3 M2 }8 F& [+ T6 N
满分:4 分 C8 N5 {6 \0 u3 c* p0 F. A
' v% r3 @" N: ?# u5. 对函数的正确使用方法描述
3 O2 d' T* K& r! l1 r' M% P6 N6 \, D) R6 oA. 用数组做函数参数时,必须在主调函数和被调函数中分别定义数组& A# F8 w+ m! u8 R2 G8 F4 m
2 x0 H9 b; J* G* W e6 R' {B. 实参数组元素和形参数组元素类型可以不一致4 c% J. P/ |" d" Q
+ z- r* u) Q) {" Z% p8 E6 JC. 形参数组长度可以不指定 9 s2 z) U3 p% H, J
2 n P! `. f' ~ \/ T* ^D. 形参数组长度可以大于实参数组长度
. Q7 ?- @* F8 R' ^: V
" {$ G A+ q$ [' D3 b0 G9 h 满分:4 分4 S3 E v% ~4 k$ n/ W' w
满分:4 分
" P6 a# @. Q: u判断题(共 10 道试题,共 40 分。)7 p& l+ C: Q6 x& G4 t- u) c$ m0 _
) y! F5 ~! O u+ X3 N+ R% H y lV* H4 ]% @' s& M8 \
3 {4 O0 j T" S: n
0 ^. B5 r* i) m6 U1. C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。( )
# [5 z$ q, Q$ ~2 WA. 错误
7 G) K. a* d7 o, i. u% s# O1 {) Y
0 v: x( l" l! e" IB. 正确6 L% u3 N& F2 i% q
! e# x: i" x& Q2 s0 a( o/ P! w
满分:4 分7 ?/ m3 [7 o0 }2 H5 R" q
5 ?" V; ]* W. t2. 数据结构指的是数据的组织形式,数组就是一种数据结构( )2 x& Q$ O! E# m
A. 错误# }' z2 e" K( T0 x4 s3 ~) b1 T8 W
; T$ o5 _0 g! t8 z* nB. 正确. _ q7 L. K/ m. x
) T5 |. {' v& Y& L. X
满分:4 分% Z4 a( [) M5 i( L9 u. j
4 P# }! K5 g/ o1 x; m0 F
3. C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。( )
. f& ]4 p4 J DA. 错误
$ ^# y' _, {, ]# c' B
3 d- e; o6 R( w2 r2 JB. 正确
1 S7 o X3 c" Z5 \/ d! q5 E2 `* @
满分:4 分+ B p2 @% N6 w& l
% J7 x5 L B) N; J9 z4 n, Y4. C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )6 q' I/ i. K3 ~8 C; `0 v, v/ j/ ]
A. 错误
* G; N5 C0 p5 ~% V# ]) F: M4 k( c8 B; {6 A5 n
B. 正确
' z. v$ @5 S4 V3 b. U: b# n
" g% M2 U6 [: V+ x/ i" y1 | 满分:4 分" e) \6 B- y7 l" L, }; {
& S. i6 D7 @: n% Y) |8 F
5. 模运算符要求两侧均应为整型数据。( ) R9 v8 F) Q! g8 j+ v4 {3 y5 M5 n
A. 错误" p5 s2 a2 W/ T. n5 u
, H2 r- G$ X+ ^8 _/ e4 n: l3 YB. 正确6 Q+ Y' d" @7 l% ~ [7 S% n$ D0 u
0 g0 q7 ?5 A- D3 I+ w% n' w
满分:4 分9 A! s, T( \+ N3 [ s1 G
. ?( V1 L+ ^. r0 w6. 主函数和其它函数可以相互调用
" u- j, R2 W1 I& Q7 b0 ^2 `7 mA. 错误7 g% e$ F( K+ ~2 A2 \2 k4 L
: _" x7 F2 |% N8 C0 J4 [/ e
B. 正确
/ K t }! R$ W7 U, N6 ^9 o2 Y
% o+ I V: L m 满分:4 分+ Y2 W3 ?- ~' I/ v5 Y3 N
/ v: Q9 o2 e* ~3 m) X+ [, z
7. C程序中各函数之间既允许直接递归调用也允许间接递归调; g/ O6 w! S3 W- r
A. 错误
! f( E( G$ i. N1 R S" i! a
* i' n8 d5 E+ ]5 v6 t8 h5 aB. 正确
; n! A1 t! Q {% h, Z
& j0 `2 P2 w! h: m" [ 满分:4 分
8 `& c ^0 K2 P, T( F" f! ]. _# h8 J8 S% S* K+ E1 a
8. 一个int型与一个double型数据进行混合运算时,其结果是double型。
* @4 \ S$ `: |; W) EA. 错误
9 }8 q* k1 I6 ~4 k& h# K. }0 |6 v! k
B. 正确
* ^9 _0 W( H* s0 N1 p( x- ~
# w p% J6 c% y: g. x( W8 m( l 满分:4 分
$ Y5 L( \/ B' s7 s
. C8 d; O6 S: h9. 调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
, X4 X5 \0 E5 C. B3 T" uA. 错误
; K+ P! @( k) {
* b3 r/ u9 `/ q' r T1 `B. 正确
$ R6 t" D0 y5 k
P+ i$ w0 e( Y0 u% R7 R 满分:4 分
1 u, W) q4 P. U5 A2 D1 Z% E
1 d; A7 q6 `& G; E10. 使用getchar函数可以不添加#include <stdio.h>命令。( )& E8 a" T9 O( A
A. 错误, ]* D. R3 _' \8 r* S
1 J' F9 Z+ I1 X
B. 正确
8 ]- G9 }9 O4 i# Q- U" M# e2 I. p C m
满分:4 分 |
|