|
11春学期《高级语言程序设计》在线作业三
# l% B: G K Q2 a I' n" G一,单选题8 j, K$ C) C. N* M. F' _" X
1. 以下运算正确的程序段是( )。
% [3 n% K3 }. b5 b7 R1 I" L$ J" fA. char str1[]="ABCDE", str2[]="abcdef"; strcpy(str1, str2);: ~( \# y2 Y6 {/ F3 }6 o9 X- P6 R
B. char str[10], *st="abcde"; strcat(str, st);" e; U3 x0 o4 h
C. char *st1="ABCDS", *st2="abcde"; strcat(st1,st2);
5 n; Z9 t, x+ o/ o ^$ FD. char str[10]="", *st="abcde"; strcat(str, st);"
$ b! B% g, E# n2 F5 t/ g) k3 h) x# x. H" z7 _9 d. i4 c
2. 系统的标准输入文件是指( )。 z; e: z9 {5 F9 s
A. 键盘1 V. e5 v# Y7 v$ H
B. 显示器
4 \, v. O- ?1 C5 H8 f' y0 ^C. 软盘% o# W! @% N$ e B. L" R; \, r/ W
D. 硬盘0 x5 e7 I8 X& t) ` I
# P- B- j: w- 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]);
, l7 L5 r, S" P$ jA. 3 5 7
+ G: D2 z9 @& B' CB. 3 6 9
1 [* t7 d. J9 ~2 F* f, TC. 1 5 9 E) V5 z+ w% L: y- l
D. 1 4 7
: T) N# d% a" q! B4 y/ ?. A/ j( I( b; g7 z7 Y
4. 下列关于C语言的叙述错误的是( )。
; R* s/ y5 g( |% } nA. 大写字母和小写字母的意义相同) k& B% T4 N2 |4 M& r: M, F
B. 不同类型的变量可以在一个表达式中
! u0 s, k( S1 ?, k) [C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
# l! x5 n& r8 R8 I5 @. M4 i; [D. 同一个运算符号在不同的场合可以有不同的含义( t$ H7 N1 K# X. P
* Z. Z$ q2 b5 J% K' }8 I! W$ H; V
5. 若有定义:int x[10], *p=x;,则*(p+5)表示( )。
+ [$ {+ V* F5 j3 {A. 数组元素x[5]的地址
- f4 Y* U$ Y& H) h' jB. 数组元素a[5]的值
3 Z5 h$ T. [6 f+ E2 ^C. 数组元素a[6]的地址/ _( K6 B: ]3 J* q5 S+ @/ e
D. 数组元素a[6]的值" Q: } T4 C9 l
. M/ @, I2 S+ A8 O& }/ f
6. 以下正确的定义语句是( )。, l/ D5 n- w- P3 E
A. int a[1][4]={1,2,3,4,5};, v3 @. v( I' x+ E
B. float x[3][]={{1},{2},{3}};
1 [7 I1 l& s7 M: |6 S5 w" \C. long b[2][3]={{1},{1,2},{1,2,3}};
9 Y( O" ^9 ?7 nD. double y[][3]={0};
9 o* v' K. M1 Z( ?+ f& ?7 r
# _2 N; f# q, f) ~. Q4 }" j7. 若有以下语句,则对x数组元素引用不正确的是( )。 int x[ ]={1, 2, 3, 4, 5, 6}, *ptr;ptr=x;
* ]9 V2 O/ s. d& |A. *(--ptr)+ Q2 x9 ?, I& q" E
B. *(ptr--)
7 S: ?9 l. P6 C& ?! A$ qC. *(ptr++)
8 g8 |5 P% c& LD. *(++ptr)
$ I+ q( W% L i/ x# O1 n+ X* b
; Z/ Y! A f; h6 R1 t) o7 E8. 以下能正确定义整型变量x、y和z并为其赋初值5的语句是( )。
7 ?: s/ t0 C& FA. int x=y=z=5;, c, I8 s5 p9 s* q$ R
B. int x,y,z=5;& ^$ q- U; O$ c1 @) q. U% l- Z% R
C. int x=5,y=5,z=5;
; l* L3 {1 m4 ZD. x=5,y=5,z=5;"
0 y' }' W; ~8 A! `
6 q0 B j3 E. `9. 设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。 for (y=100; x!=y; ++x,y++) printf("****\n");* ?+ U) w) F- ?( k
A. 循环体只执行一次$ L/ k* V; E% D
B. 是无限循环
2 X9 o0 Q, h9 E! R0 hC. 循环体一次都不执行
# R/ z: _/ ~5 L k) VD. for语句中存在语法错误
- n* Z* I, `' W# b% Z4 {) y' y- @& e2 B
10. C语言程序从main()函数开始执行,所以这个函数要写在( )。
6 y4 s3 p3 F; k1 y. ?1 B: pA. 程序文件的开始3 K! G! ?$ d& T0 W) G, y
B. 程序文件的最后
* H# y+ N( c) ]C. 它所调用的函数的前面
4 I( _8 b# }( [, \( c8 [D. 程序文件的任何位置
M2 i/ X i2 ~! G, |
* D2 N8 u( E* }' ~2 N; U* q11. 以下程序的运行结果是( )。 # include "stdio.h" main() { struct date { int y,m,d;} today; printf("%d\n", sizeof(struct date));}) i5 l j" Y: P$ T) }
A. 24 x% y7 \! b" \3 m2 D* C. M+ _
B. 3
% O: _5 J0 F7 e4 F9 } g& R tC. 6
1 s6 I; f X2 _. [; f) JD. 出错% K$ e6 O& {5 a) k" _* f! l
! E4 R1 J. f: }1 D& d& m12. 下面程序的输出结果是( )。 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); }}
# @. ?" s& o8 K& R* {A. 39 81
$ `; R9 F, y qB. 42 845 Y; C: ?2 \& Z! D2 t
C. 26 68
3 U- T: p/ m4 Z3 M# u9 W* yD. 28 70
/ X, P! n) Y9 b! r+ e# {" f' f7 n
13. 以下程序段的输出结果是( )。 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] = "";
! P+ Y& {% \; M+ OA. Program* k I. R7 @3 q2 P6 n
B. Por
% B4 {! R! [/ A/ d3 _4 h! h1 N. X, p& |* x i
14. 判断字符串a和b是否相等,应当使用( )。0 C$ c) G; k/ j5 _) X- p, q6 I
A. if(a==b)
/ n0 s8 v; t' d4 \0 n) [1 K" m: CB. if(a=b)& Q' P& S6 ^! V8 q e; [9 E
C. if(strcpy(a,b))
) n7 q: J! k- n$ P" BD. if(strcmp(a,b))"
1 X7 ]' p) y, S7 s
0 P# `; K- c' B8 ]# A15. 执行以下程序段后,y的值是( )。 int a[ ]={1, 3, 5, 7, 9} int x=0, y=1, *ptr; ptr=&a[1]; while (!x) { y+=*(ptr+x); x++; }
; M$ Z* V; y, V W% m, u" F6 vA. 1
+ {9 f1 [% Y- S; f' l8 d/ aB. 2+ c" n' b, v6 g0 o6 N! V5 ?
C. 4- M% L2 l% C- t
D. 24
4 @4 p1 s4 \' `3 s, I
# ?! z* ~9 a& b2 ]) j4 B16. 当正常执行了文件关闭操作时,fclose函数的返回值是( )。9 J8 x$ g$ M4 ^
A. -1
* f+ M/ v, U$ }) s5 DB. 随机值8 M6 _0 S. K9 y* j' j& ^
C. 0- D, `) ?% d5 Y9 ?
D. 1
) e1 R0 S" t; W& N5 r0 u; B
0 f+ C H7 ]1 T$ k' g! H" ]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);}
# }- e3 R/ H3 X9 zA. 5* F9 p5 V' }3 \7 o* b: e
B. 2
; ~# {* o K& UC. 32 X: X W4 h: m8 d) z, c" y8 K/ o- W
D. 4
4 h) x9 [5 W" i6 J' I) K
, E' T: p) V9 E9 @# N8 P18. 下面程序( )。(每行程序前的数字为行号) 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 }
, t" P2 V+ h; _& HA. 没有错误7 o* [$ l! L; n w# R: H
B. 第3行有错误
3 I% ^. u6 n9 i3 @& GC. 第5行有错误
! e5 Z3 M. P$ z2 ] F% FD. 第7行有错误4 w+ ?* F0 ?) r: \
L$ c* b$ ?0 o: ^. O- _
19. 若有说明:int a[3][4];则对a数组元素的非法引用是( )。* S7 F) u* B" i( h
A. a[0][2*1]' }- n, s$ o; Y, K" ~1 Z: H T
B. a[1][3]
! r: U, K0 V( }C. a[4-2][0]+ o. C! D% a# Q! h- u
D. a[0][4]
! L3 P3 c5 b# g1 ?* b, @9 j6 s( @. N
20. 以下能对一维数组a进行正确初始化的语句是( )。
) ^* Y0 J1 W. S. L* xA. int a[10]=(0,0,0,0,0);
4 S0 B B$ P! AB. int a[10]={ };7 g" E9 E7 i- e3 Y9 ~7 m4 ~8 C
C. int a[]={0};
9 a- G# A, z! ED. int a[10]={10*1}; |
|