|
11春学期《高级语言程序设计》在线作业三
$ g" {' r( W& X" q* E% M& p一,单选题! |* i4 B0 ]6 _3 U
1. 以下运算正确的程序段是( )。1 H) @" V# v' q5 s
A. char str1[]="ABCDE", str2[]="abcdef"; strcpy(str1, str2);
7 J* z0 H% w8 A; p( A) Z' o& RB. char str[10], *st="abcde"; strcat(str, st);
/ a2 d. m0 t5 E# ~) mC. char *st1="ABCDS", *st2="abcde"; strcat(st1,st2);- e6 c- S) A- F$ t. v
D. char str[10]="", *st="abcde"; strcat(str, st);"
, Q; S9 u3 L b! l0 B0 ^
5 X, H3 k! y9 l. y% j% t4 {8 l2. 系统的标准输入文件是指( )。% u& U. j1 ] r
A. 键盘. r$ O3 I, n- B1 G
B. 显示器
4 Q! _( B& p. kC. 软盘
( S& A. ?; ~" @; e) iD. 硬盘
- h, p8 g# d s) _, K& v# V; Z, j+ U( _* K, U- ?; C( W8 R# E! V
3. 定义如下变量和数组: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]);1 f$ W$ ]- T/ o. \7 r: k# _
A. 3 5 7
. p+ b- _: V- t. u$ v6 v6 U4 ]3 DB. 3 6 9+ z; @9 t! g5 m- _7 ?, j6 p
C. 1 5 9
/ r$ D; p) a1 I$ j3 AD. 1 4 7
/ p2 |: \" G# s0 @9 t/ ~8 N9 D: F! ^9 B. X; s& @& s8 k
4. 下列关于C语言的叙述错误的是( )。
; |) v: x7 M/ k* O6 }A. 大写字母和小写字母的意义相同, h! F& v8 q% l% A2 r8 R
B. 不同类型的变量可以在一个表达式中
# \/ a7 b! b* F2 d9 K. U6 BC. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型3 w' j2 G" ~; ?7 \
D. 同一个运算符号在不同的场合可以有不同的含义% E0 f& Z9 o! d3 v" T6 D* e z
9 L5 i: {4 w8 [; `4 a) `2 V9 h5. 若有定义:int x[10], *p=x;,则*(p+5)表示( )。# m2 ^4 C) f$ H5 F# Q
A. 数组元素x[5]的地址1 i5 g' j" ^8 p' A
B. 数组元素a[5]的值
7 q. \; L' M% O' BC. 数组元素a[6]的地址1 \/ y! M o! r& f1 n" J8 c9 A6 j/ I
D. 数组元素a[6]的值
- `& d6 D8 Z/ x& E& b
/ n9 Z0 B) D; I7 t, e9 e6. 以下正确的定义语句是( )。
9 q: T7 c5 b% J: kA. int a[1][4]={1,2,3,4,5};. ~4 k4 x5 I& s' B- C; B
B. float x[3][]={{1},{2},{3}};: {: p' o! a" e# P/ Y
C. long b[2][3]={{1},{1,2},{1,2,3}};
4 W l9 z0 g% D# A V7 [7 eD. double y[][3]={0};# Q+ B6 D& N6 |; i5 v
7 n. J' T! L* D7. 若有以下语句,则对x数组元素引用不正确的是( )。 int x[ ]={1, 2, 3, 4, 5, 6}, *ptr;ptr=x;
) Q7 C5 J4 a3 tA. *(--ptr)
. y* n: A8 { p3 v. ~% d$ UB. *(ptr--)
9 m' n; E# U* O6 ~6 [1 z2 ]1 d* zC. *(ptr++)) ~5 o; \; `( X# B% z0 d% k
D. *(++ptr)
/ s# a$ J8 @8 r1 X3 q0 h( n* N) S3 T2 l( L. R: ]& O
8. 以下能正确定义整型变量x、y和z并为其赋初值5的语句是( )。
* K' E6 ^7 N8 TA. int x=y=z=5;
. v* u1 O# H6 q( w, g/ o0 SB. int x,y,z=5;
" w4 @% \4 G" x j/ N+ jC. int x=5,y=5,z=5;4 U6 B0 s& k, Y( E2 l
D. x=5,y=5,z=5;"# x) C: X8 f* H. N4 F' ]7 ~
0 ]& a$ |6 k& @; R9. 设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。 for (y=100; x!=y; ++x,y++) printf("****\n");/ E i3 ?5 j t. N' N" E
A. 循环体只执行一次# o/ [6 k0 O$ } P3 V9 L
B. 是无限循环
% ?4 [8 d/ A6 I* S6 Z2 {) }C. 循环体一次都不执行! {' u" b& I6 K
D. for语句中存在语法错误0 n6 x' Y3 I7 w" Y3 F* J8 T
3 X( [2 q5 d" P; I A( j# ]0 i7 z
10. C语言程序从main()函数开始执行,所以这个函数要写在( )。
/ c4 l$ R& z) t |A. 程序文件的开始
# n- Z# A3 j1 Z E+ {B. 程序文件的最后, F4 u' d: ^% N
C. 它所调用的函数的前面
) H2 ?+ E I: \ Z! DD. 程序文件的任何位置' x9 s; @" ^6 e" ^) j C
8 L0 t4 M$ x; D11. 以下程序的运行结果是( )。 # include "stdio.h" main() { struct date { int y,m,d;} today; printf("%d\n", sizeof(struct date));}1 }( w) n/ G' ^
A. 2- t3 {( \1 K* m' d9 n
B. 3
, t0 z2 f4 j3 Y* sC. 6, {0 g# b; j4 R- E) C" z9 ]) R! k" a
D. 出错
* e+ Q }" W) ~* c: ]
. r6 Q L5 ~* O8 R* c& Y12. 下面程序的输出结果是( )。 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); }}
' J/ N6 k' F( }2 A" dA. 39 819 @$ v& v1 r2 T9 o
B. 42 84
" W0 n- V2 ^3 I4 kC. 26 68( r. @& J: A/ p0 `1 ]! r1 [
D. 28 70
% E! V' T6 m: ~- }* t
8 s2 C3 ^! {0 q' K% D! M13. 以下程序段的输出结果是( )。 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] = ""; % i0 x$ y& L( e& b
A. Program+ \7 }7 B1 p" m. r) h2 |% `% K
B. Por; D7 W1 n& s! |* E- t; C; h
8 W$ j, j4 K3 ]' Z" W4 k
14. 判断字符串a和b是否相等,应当使用( )。
- I$ f/ P/ Z1 J' U7 G; l- N# g* J+ g( pA. if(a==b)
& L- R* v; @) l6 V y5 PB. if(a=b)' D5 |& }: o# K$ ?: A
C. if(strcpy(a,b))
/ p. j$ c& O+ G# uD. if(strcmp(a,b))"
: Z' u2 K- G! s7 A/ E3 g4 r, ?% o" t( I k; w: T- m2 M1 a, i0 q
15. 执行以下程序段后,y的值是( )。 int a[ ]={1, 3, 5, 7, 9} int x=0, y=1, *ptr; ptr=&a[1]; while (!x) { y+=*(ptr+x); x++; }# t3 `, {$ w4 k
A. 1
" \9 j$ Y/ L1 H5 rB. 2% P. V9 x8 A- W- I: U' L6 R; l: _1 V
C. 4
' W# ]! U w* H! MD. 24
# v! K* Z! ]+ l9 C. Q* g
6 s' N U2 N! y' h/ p: S16. 当正常执行了文件关闭操作时,fclose函数的返回值是( )。
9 ^# c* J; o' l% ]1 ~1 b% N1 u9 qA. -1
3 g( A% O0 E! D4 HB. 随机值" P3 Y$ I5 e0 B! U
C. 0
% Y7 b: s/ k: X; |1 s2 pD. 18 @8 K6 i9 N5 f& V5 l
/ _' y) j t/ L C) x+ B
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);}* c0 l6 @9 B% _( |; c: X
A. 5
* Q8 _. L9 B& ^5 ?6 TB. 2
' z: v( P+ N+ k7 N, hC. 3
* o2 r: D) S$ p3 y* W' nD. 4
* m- E8 z% P( H! `8 q* D6 C K+ Y
* v0 u) B! K' s1 r( ?' O18. 下面程序( )。(每行程序前的数字为行号) 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 }7 f# X( W% a) q9 ]
A. 没有错误
" z( F7 Y0 W- p9 r* BB. 第3行有错误/ X# B8 }: G. m* ~
C. 第5行有错误
) h. d! @8 G% F# `* s) nD. 第7行有错误
! [, s; F- h* ]3 {. U4 x( L3 |; B$ |% `" Y$ Q& m& r! A' T# f( T
19. 若有说明:int a[3][4];则对a数组元素的非法引用是( )。
0 P. n/ q& Y7 _# y- [A. a[0][2*1]
% t5 i5 K; m% q( B& BB. a[1][3]/ \, Y4 C9 W* j
C. a[4-2][0]& M3 j- B' E6 S0 w. @( Q3 ~
D. a[0][4]
' p# X* c% [/ M1 t4 C6 b6 o$ u5 \. C' R9 q* {
20. 以下能对一维数组a进行正确初始化的语句是( )。( j2 r* h. [* V: d3 B* y
A. int a[10]=(0,0,0,0,0);
0 l6 i, @1 I |5 }9 y, W, B2 S9 z: p( nB. int a[10]={ };) k/ l4 i2 O5 h7 ]. x. T' M3 d
C. int a[]={0};
8 |+ W7 ~' \' s* A2 n; oD. int a[10]={10*1}; |
|