|
15秋学期《高级语言程序设计基础》在线作业2 9 ?4 Q. E' p$ S# y
, L$ K4 [6 P+ R1 X: {
单选题 : C6 P, d: [8 z3 s% u D6 K+ \; G
' f/ |1 n) P# x
) `6 F# u1 U+ |一、单选题(共 20 道试题,共 100 分。)7 W3 T0 x* S& C: s- j3 T' t$ R7 \
1. C语言中字符型(hr)数据在内存中的存储形式是( )。% |4 \# |8 A7 [, |% `- M4 Q
. 原码: t$ w+ T k4 O
. 补码
6 P% a/ K1 @' @4 @, A. 反码# l- s6 ]& h) e0 [
. SII码
2 E, N1 U0 V$ T+ h+ t4 z-----------------选择: 3 J( ^* R1 c" S1 y9 x6 C
2. 下面对typeef的叙述中不正确的是( )。! E( y1 K. B8 t4 h n0 a- Y
. 用typeef不能定义变量名
6 o' S. F* @: e& M1 `: E4 [1 b. 用typeef可以定义新的数据类型" D; x7 l3 p. t" a' w+ u
. 用typeef只是将已存在的类型用一个新的标识符来代表( E k, l* P# O6 j( [; y
. 使用typeef有利于程序的通用和移植1 b" I2 c5 {2 w0 M, c- [0 K
-----------------选择: * u, v+ ~) `; L' Q' ^9 Q6 c/ m* S. l) n
3. 以下正确的函数形式是( )。; B; O! e* I3 H( D( @- ^
. oule fun1(int x, int y) { z=x+y; return z; }
. m+ n. S! g+ e s3 }. fun1(int x, y){ int z;return z; }: h) `' j/ @, _' l! M4 g. {
. fun1(x, y) { int x, y; oule z;z=x+y;return z; }
! c7 f( f9 X# v9 A) U5 U. oule fun1(int x, int y){ oule z;z=x+y; return z; }": E$ \5 }& g. }: @
-----------------选择: 0 ^8 Z8 b) e( h$ ?+ ^
4. 以下正确的函数说明是( )。
) b1 P3 o5 z2 u: D. int fun(int , )
4 V3 U9 p2 X0 z, C# L. flot fun(int ; int )
& j1 \3 ^9 ?; _$ l; ^2 K* t. oule fun( )
/ `7 M& s) K" m g7 c- [2 E. int fun(hr [ ][ ])2 X9 s- J; }5 K( W1 r5 C: f% K
-----------------选择: ' Y' G$ {2 U) f& n
5. 下列程序的输出结果是( )。 #inlue voi fun(); voi min() { int x=1; if(x= =1) { int x=2; printf(“%”,++x); } voi fun() { printf(“%”,x++);}3 ?' n& |& v& ^
. 2,1,1! {# d9 a1 e7 B. _* }: p! [
. 1,2,1% p4 Q3 i8 {7 X( ]4 R9 ?
. 2,2,2% J9 d6 `3 z& i9 W3 M7 E; I
. 2,2,1"2 x5 z# Y4 Y: x6 {" ^
-----------------选择:
, o3 j* Q1 X7 [) S6. 设h是hr类型变量,其值是,则表达式h=(h>=''&&h<='Z')?(h+32):h的值是( )。
: l4 m2 H* i$ g6 A5 G2 p. Z
5 z$ v5 E; _4 u9 d& d- z. . ?7 E4 R* V8 d0 m" }7 U
. + N6 o' Q( j3 c$ h# i
. z% o# o0 W7 {$ q. O9 k5 w& b5 l
-----------------选择: 1 H I- i' D2 B5 N5 [1 t
7. 下面程序( )。(每行程序前的数字为行号) 1 min{} 2 { 3 flot [10]={0.0}; 4 int i; 5 for(i=0;i<3;i++) snf(%",&[i]); 6 for(i=1;i<10;i++) [0]=[0]+[i]; 7 printf("%f\n",[0]); 8 }' {! G8 V% J% k7 g
. 没有错误
, W6 o. i8 y* I; E( C9 m. 第3行有错误* K6 g- V2 I' H+ F4 ~9 t
. 第5行有错误
7 c5 J& ^9 ?/ W( x' z. 第7行有错误% Q7 e& z2 i! a+ q; w5 s
-----------------选择: 8 s! Z8 Y& O0 }
8. 下面程序的运行结果是( )。 min( ) { int [10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int *q=; printf("%\n", *(q+2) );}
4 l" K9 q' r9 Z6 {. 18 k( e# [3 a1 c) V# y5 G
. 2
2 J) f T% P3 @6 I$ l. 3/ ?; o4 p2 n7 }
. 4
6 _/ y" Y; R) o" c-----------------选择: 4 g- ^2 {& v$ ~
9. 若、、均为int型变量,则执行以下程序段后的输出结果为( )。 =(=10,+5,=10); printf("=%,=%,=%\n",,,); =(=10,=5,+);printf("=%,=%,=%\n",,,);' P$ n5 V! ]( @* Y1 R
. =10,=15,=10=10,=5,=10
1 a/ G) i2 Z: X" l F0 K. e6 F. =10,=10,=10=10,=5,=107 R8 z: L" U5 l8 ^" x
. =10,=10,=10=10,=5,=157 Y' B: t W% V
. =10,=10,=10=10,=5,=57 T/ O! `6 c6 p* g: O
-----------------选择:
9 R5 S% L; L- @+ I. c' S" Y# I10. 若使用一维数组名作函数实参,则以下正确的说法是( )。% w* e( x1 l- @/ V, j
. 必须在主调函数中说明此数组的大小
( j. ]! U4 X+ l. N: A0 I0 k# T. 实参数组类型与形参数组类型可以不匹配
0 L- _ q1 ]: `! z+ o) d. 在被调函数中,不需要考虑形参数组的大小4 y2 H! Z' q% G, @
. 实参数组名与形参数组名必须一致
2 g1 u5 E1 g! V7 b% U9 H-----------------选择: : O Z+ k6 b" Q1 c; P( @
11. 以下有关宏替换的叙述不正确的是( )。$ m+ N3 ?8 l/ C! s
. 宏名不具有类型
- ~5 ?: `1 y8 ?) e. 宏名必须用大写字母表示
$ I; t; G$ }- ~( {* X5 d. 宏替换只是字符替换
4 v6 B) p- o: V, x. 宏替换不占用运行时间9 q1 @/ z: U" ?# r9 a i
-----------------选择: 5 ?) J2 J" e3 e' q
12. 函数rewin(fp)的作用是:使文件位置指针( )。3 e' x: S* N; Z% ^
. 重新返回文件的开头
8 }+ M+ W1 c0 J' K4 s) G. 返回到前一个字符的位置
) d7 y5 W k1 r( D. 指向文件的末尾2 {) L3 d# x- p" I
. 自动移至下一个字符的位置( B& R) P9 N3 A- g* M
-----------------选择: / e2 e, x* \% k) O
13. 函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针( )。
- p' a. M) Y5 l9 U+ K. 移动到距离文件头10个字节处
2 _! P9 H8 n- [/ V. 从当前位置向后移动10个字节
9 v/ ?* M0 G, [. j% U8 d. 从文件尾部前移10个字节1 |- C9 v4 I Z! [+ C4 ^5 X
. 移到离当前位置10个字节处% l+ A* m- A3 A& s0 ]
-----------------选择:
) F" _+ e# @6 E1 q14. 若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。
* M( |# X& w8 U1 q5 G3 V+ M; F' `. num%2==1
( O, r8 l' I/ h4 i* C. !(num%2==0)
; ?5 V, o" {8 _% L5 `. Y9 m' o. !(num%2)
0 Q1 C0 W+ b& h8 Y$ m6 }. num%2* E0 u. u$ |( f" e
-----------------选择:
7 \( _* f) J* Q, I4 s15. 设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。 for (y=100; x!=y; ++x,y++) printf("****\n");
; b: r* ^- T; E5 F" ?5 j' K6 I, y. 循环体只执行一次
! T, n. G7 `. \6 g% m! _6 S. 是无限循环
5 w9 m: O. B& _& @9 h% m4 Q0 X. 循环体一次都不执行
" _5 b) X. L2 y: `. for语句中存在语法错误
3 J" J& k+ B& l( r-----------------选择: 6 Y8 ?- e( r I, ^7 Z. e6 C6 M
16. 当正常执行了文件关闭操作时,flose函数的返回值是( )。 M2 [# b, F/ w: V
. -1" J& X7 O: i, d1 c! x9 ]. C
. 随机值
2 e) p& L C: H6 F4 A. 0; C& j+ n+ z) C9 w( _2 l9 y8 l. h D; P
. 1
( C$ d- [% ^) k% e7 _) A0 {3 Y5 B; H-----------------选择:
j- O; |2 ^7 I5 O; ?17. 语言程序从min()函数开始执行,所以这个函数要写在( )。
, l5 C K3 \1 C" r! t1 s: k. 程序文件的开始
; W5 o3 E) u7 A* {. 程序文件的最后
' b/ q3 J' S; \" x. 它所调用的函数的前面4 G- \' g; H6 y. t. t- j, F
. 程序文件的任何位置) Z: m6 E+ R9 O) ]" j
-----------------选择:
$ C* s# N$ n4 b8 _+ a3 }18. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。
+ o9 Y" Q* {( b i' C* K, R. 该变量只在该复合语句中有效
6 k" F2 S$ Z% C. 该变量在该函数中有效: Y3 g0 q7 v6 T; V4 q0 C7 Q2 |5 l _
. 该变量在本程序范围内有效! G- c9 W5 o! W4 w; p u' X M
. 该变量为非法变量
! c( J2 `: P8 X* P& q-----------------选择:
, j4 T( F& c4 c) z, ^4 R19. 若有以下说明,并且0≤i<10,则( )是对数组元素的错误引用。int []={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=, I;
+ ]5 A' r' C4 D. *(+i)
% F- g7 ]8 ~; j' X. [p-+i]- Y& O4 q) @& Y6 F5 t0 d2 G
. p+i9 r4 b, s# E' U4 p! w
. *(&[i])& K8 u. C, ^! t! [0 o
-----------------选择: ' S/ u3 Y6 G/ P, Q/ j1 }3 f
20. 以下正确的定义语句是( )。
: P1 O* |1 D$ s2 ]. int [1][4]={1,2,3,4,5};: A1 p7 R' l2 M- S* v
. flot x[3][]={{1},{2},{3}};4 Q. q1 R+ G, I& j5 _; T5 _
. long [2][3]={{1},{1,2},{1,2,3}};- |* ]3 n( W ^% x. h
. oule y[][3]={0};- K; j4 W" u( J& I( E. H) z+ V
-----------------选择: * y' W/ z6 d# W, D0 e" O$ w
|
|