|
11春学期《高级语言程序设计》在线作业三; A; J$ m3 r! `* b
一,单选题
% Z8 d5 D" |( Q* a1. 以下运算正确的程序段是( )。) n6 V, F! i* d5 _+ L
A. char str1[]="ABCDE", str2[]="abcdef"; strcpy(str1, str2);
5 n# ~, E8 y( \* {5 OB. char str[10], *st="abcde"; strcat(str, st);
. n e+ j) h, S. G" QC. char *st1="ABCDS", *st2="abcde"; strcat(st1,st2);
) B$ G' n0 u% d8 WD. char str[10]="", *st="abcde"; strcat(str, st);"
! E9 J2 X7 ]1 G+ w" v! N6 ?, I2 D" K
! }8 u5 s* V, s, O$ {2. 系统的标准输入文件是指( )。
$ z; p1 b2 G- ^5 W8 h8 m9 ?1 l ]A. 键盘
8 E& s5 Y' h2 j2 h7 @' _% \5 qB. 显示器
1 D7 C6 i6 ~$ s% v v& ]C. 软盘
3 q/ F% \. ?% r1 q" gD. 硬盘2 Q( q8 ~& o: K* I0 H5 J; R) w4 x
! J. u: u, h h$ {/ Q$ p6 U F" n3. 定义如下变量和数组:int k; int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )。for(k=0;k<3;k++) printf("%d",a[k][2-k]);0 c/ v, L. j* E. k5 {8 ?! L1 C4 J7 ?
A. 3 5 7
* T6 S6 E2 _' U8 OB. 3 6 9% I+ Q: v# F4 v6 P. X
C. 1 5 9
; V; l$ z- b: r4 n! i LD. 1 4 7
, M x8 T9 l- U* o/ {! n% T2 A8 f2 g2 o! c; F, [
4. 下列关于C语言的叙述错误的是( )。
6 n1 g0 k+ D. y a& t* v$ |A. 大写字母和小写字母的意义相同
) v5 Y$ o; G- ?% a4 JB. 不同类型的变量可以在一个表达式中! \4 y7 s- T+ Z% L* _
C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
8 F( \, V! Y$ n1 yD. 同一个运算符号在不同的场合可以有不同的含义/ Y# ]' a ?! I4 a: N' O$ a$ W
7 q: j+ n. {& G5 q2 x+ o P7 ^! G1 Y
5. 若有定义:int x[10], *p=x;,则*(p+5)表示( )。
2 r8 T, R# T6 _7 N( F( o7 X8 A3 f2 O' \A. 数组元素x[5]的地址# P! _0 D$ h' A6 e
B. 数组元素a[5]的值 t& j& x0 a2 i
C. 数组元素a[6]的地址0 y: z% o1 a+ O, M D1 M$ [
D. 数组元素a[6]的值
n( S8 v Z& k% j- E9 m) ]6 ^( S! I, }8 ^+ V/ D9 H% ^
6. 以下正确的定义语句是( )。- ]; u8 U* {1 _+ i$ z
A. int a[1][4]={1,2,3,4,5};+ a5 v- A: q5 M4 V/ K6 @3 } d G
B. float x[3][]={{1},{2},{3}};
0 @6 `6 X7 g0 ], }C. long b[2][3]={{1},{1,2},{1,2,3}}; Q& P$ o# P" R7 W# Z
D. double y[][3]={0};2 K& Y' _; ^+ ^+ q+ [8 A
Z! o6 s, w- {6 p- C, ~2 j7. 若有以下语句,则对x数组元素引用不正确的是( )。 int x[ ]={1, 2, 3, 4, 5, 6}, *ptr;ptr=x;1 T7 q; x) B M5 ~3 r1 ?" v
A. *(--ptr)
7 `! X" o/ Q; ZB. *(ptr--)) Y7 s5 N! ^5 u. w& k
C. *(ptr++). q- l# t; ]$ T! |( f* k
D. *(++ptr) X6 n- f9 ~4 r! o$ ]: O
, s8 q) |- Q' ?, k( P* g! C0 v8. 以下能正确定义整型变量x、y和z并为其赋初值5的语句是( )。
' t, ^' w# \0 J4 S4 ZA. int x=y=z=5;
# ]; w, D4 g$ u r* QB. int x,y,z=5;. x/ r; [2 J6 Q# |3 w
C. int x=5,y=5,z=5;8 Z7 E# L! k+ w& W# d+ o
D. x=5,y=5,z=5;"7 m2 r% ]3 p9 e! D$ C% n
0 |; f$ X$ b! Y+ |9 N+ R9. 设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。 for (y=100; x!=y; ++x,y++) printf("****\n");
, M6 p1 c, v: {! _9 E4 |A. 循环体只执行一次! y& J: a' b- E# `
B. 是无限循环/ Y. E% o, q; t# B! u* o
C. 循环体一次都不执行
; ^5 E5 P8 L; g; oD. for语句中存在语法错误
0 S- F5 W3 W* U( ?, i
- R2 x9 |/ w1 h/ F d$ a10. C语言程序从main()函数开始执行,所以这个函数要写在( )。
& ?& `- g! R8 Z3 G% z: |+ Q4 mA. 程序文件的开始
( n( J o$ l, C9 D# W$ AB. 程序文件的最后6 Q: O, @" s4 f
C. 它所调用的函数的前面
8 t1 a5 r& t6 h' v& N: [9 ID. 程序文件的任何位置
+ i( C: Q9 U- D' h; J1 H8 F, L5 r% M. F8 E
11. 以下程序的运行结果是( )。 # include "stdio.h" main() { struct date { int y,m,d;} today; printf("%d\n", sizeof(struct date));}
* S2 K. b1 C9 y: U b" M3 HA. 2
, r3 g8 _9 W' |2 J, jB. 3
@0 w" ~8 T4 X* @- Y! G* q2 { DC. 6. ~1 y4 `, ]( @- t1 t8 v
D. 出错* i3 g( P3 R& g0 v+ X) s# g
/ P. O! [/ t: {5 H$ T7 d) h12. 下面程序的输出结果是( )。 main() { int x,i; for(i=1;i<=100;i++) { x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0) printf("%d ",x); }}2 R1 N' z. L, [# P
A. 39 81" s% a* \# V+ `" f8 X+ j
B. 42 843 ?8 B- t/ u J% X- r, S2 u
C. 26 68
6 W# T7 y5 B4 P, E3 P& RD. 28 70
' ~% B5 j% ]/ h% S2 U
) v) F0 G. g0 a$ X13. 以下程序段的输出结果是( )。 char a[ ]="Program", *ptr; ptr=a; for ( ; ptrq.Type = "1"; q.ObjectID[q.ObjectID.length] = "rdo_496ffcf9-d57b-40b6-9470-80334bc2c6c7_Response" q.Response[q.Response.length] = "Response"; q.Answer[q.Answer.length] = ""; ; f! ?6 Z/ ~ P. s
A. Program! j; B9 R! K* V J* U6 P% |# ~
B. Por
2 E' b! Z o( p+ `( A" [; ]" B: V% e, ^, Q2 s7 F
14. 判断字符串a和b是否相等,应当使用( )。$ \. L; M( H& m3 R
A. if(a==b)
3 f# |) ]. y9 r+ l9 v' j0 HB. if(a=b)
6 P0 W; s4 H/ y P n7 }$ CC. if(strcpy(a,b)); P, ^ ^6 _7 k8 |
D. if(strcmp(a,b))"
4 C. x' u2 t) w$ a8 \( c7 r( Q$ A" n. y( H3 F! F
15. 执行以下程序段后,y的值是( )。 int a[ ]={1, 3, 5, 7, 9} int x=0, y=1, *ptr; ptr=&a[1]; while (!x) { y+=*(ptr+x); x++; }
. X# I' i$ K1 Q- \. G2 W: G/ n6 kA. 15 D8 e8 r0 s( U
B. 2
( i4 ~& m3 f3 e* N$ K( |8 d7 wC. 4. w/ X! H6 G2 t( M8 s X
D. 24- D4 j- e6 {8 I! a- t; E; `
8 L: J, x& J' i" Z5 _) ?% l" L16. 当正常执行了文件关闭操作时,fclose函数的返回值是( )。' L o R' A1 U9 W6 i
A. -1
. y2 B: T+ I i5 ]B. 随机值
9 `) y( @! k, j4 ^, D) sC. 0
9 z- m# f: P8 ND. 1
! z- i: _/ i% A4 F5 U) D6 i# n9 p% J/ @4 C# Z3 R4 x- n
17. 下面程序的运行结果是( )。 main() { struct cmplx { int x; int y; } cm[2]={1,2,3,4}; printf("%d\n", 2*cm[0].x+ cm[1].y/cm[0].y);}
' R8 A' B+ |: D& L+ |A. 5+ I: P8 ]4 U4 b5 {9 H! d, _& d
B. 2
6 I4 d+ x/ K! d+ H7 c2 d6 DC. 32 J* @. W7 B- F- l/ l. D* y( q
D. 4* J" X$ ^2 \7 L9 R' @9 h
# a) E5 k ?# h. \' ?# `18. 下面程序( )。(每行程序前的数字为行号) 1 main{} 2 { 3 float a[10]={0.0}; 4 int i; 5 for(i=0;i<3;i++) scanf(%d",&a[i]); 6 for(i=1;i<10;i++) a[0]=a[0]+a[i]; 7 printf("%f\n",a[0]); 8 }
# ?! {4 O+ p! ?0 \2 _A. 没有错误
& a) Y; h6 W! U5 N$ O; V0 ] vB. 第3行有错误% g" o9 q* g3 I0 U
C. 第5行有错误: \" k& h, k- T0 @! W7 }" v
D. 第7行有错误5 S" f7 Q, W' [& o! N* p s
; v$ u, y K T; n3 Q; ]19. 若有说明:int a[3][4];则对a数组元素的非法引用是( )。
) q" `& z) Q8 u6 TA. a[0][2*1]" t- j, z9 Z* c3 `' C" [9 P8 z* B
B. a[1][3]
+ O7 J8 Q- F8 L& Q2 A O9 jC. a[4-2][0]
5 d: V# n. Y& YD. a[0][4]" z7 V% [* }0 j0 ?
6 y4 b/ t+ t! J; k b6 ^' E$ Q20. 以下能对一维数组a进行正确初始化的语句是( )。" u( u) r0 }0 a" d0 L1 y
A. int a[10]=(0,0,0,0,0);# c# B1 o2 }% M& }2 B g
B. int a[10]={ };
9 [& K3 @! @, w, }6 HC. int a[]={0};
: h' S+ _* V7 D8 o! AD. int a[10]={10*1}; |
|