|
谋学网: www.mouxue.com 主要提供奥鹏作业资料,奥鹏在线作业资料,奥鹏离线作业资料和奥鹏毕业论文以及提供代做作业服务,致力打造中国最专业远程教育辅导社区& s& r/ g! @& r. Z% `: `% a5 |1 U- ~
7 k, P8 H& W8 K/ z( P* H$ | v
一、单选题(共 20 道试题,共 100 分。)V 1. 设有一段程序: int *var,a; a=100;var=&a;a=*var+10; 执行上面程序段后a的值为( )。& N5 b5 N) ?( o& x
A. 120
& B0 X* [' L, p: hB. 110+ C1 a/ ~# K$ }4 R0 T! l
C. 100
5 {5 Q5 t! E5 M: X* MD. 90. ~. b8 s. }( J, W
满分:5 分6 X7 u7 Y4 |! b% Y/ L
2. 以下程序段的执行结果是( )。 int x=-3; do { printf("%d\n", x++); }while(!x);9 l+ e8 T$ e: y3 ]$ j
A. -3
4 p7 U7 j6 A, c* U4 M. N$ f3 V$ gB. -2
6 t, J. I/ E" C6 T" O5 bC. -1
* e# f" e2 s' w! U" T' b. ^D. 陷入死循环8 s( h+ b% D. L
满分:5 分8 C2 r. P5 A& v* C
3. 若执行fopen函数时发生错误,则函数的返回值是( )。
( r5 a& e2 V- SA. 随机值* ~6 n. `9 P# D) U
B. 17 z5 N0 ?8 N/ B) Y; @8 q( O
C. NULL
4 q* V) f$ n2 l6 \! S) D% ^2 _: GD. EOF: {" R" X- R/ S- F# t
满分:5 分
4 P! p; j6 L& j; x6 M4. 设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是( )。 scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);
: d6 i+ a1 [! M, k U: W' R7 N& TA. 1234123121<回车>
5 b1 _$ ~" E: Q2 }B. 1234123412341234<回车>
1 ]# L8 [ i/ p2 ^$ \C. 1234+1234+1234+1234<回车>
6 Q8 U! L4 y, t- HD. 1234+123+12+1<回车>
' u" Q; ?; j# c5 [- Q4 O5 \ 满分:5 分
+ V1 w5 {1 _) }5. 若a、b、c均为int型变量,则执行以下程序段后的输出结果为( )。 b=(a=10,a+5,c=10); printf("a=%d,b=%d,c=%d\n",a,b,c); c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);
# s/ r( }. a# m3 G" M! I3 vA. a=10,b=15,c=10a=10,b=5,c=10
" I& {0 R, l" V9 e [0 YB. a=10,b=10,c=10a=10,b=5,c=10
+ m% t& }. x8 n" z1 |C. a=10,b=10,c=10a=10,b=5,c=15
7 L. s \1 j( H) K; g- PD. a=10,b=10,c=10a=10,b=5,c=5
9 o) E& Q5 X# p 满分:5 分6 @4 a& L0 x: S% ]. O. z" H
6. 以下在任何情况下计算两数积时都不会引起二义性的宏定义是( )。
3 ~( R) V/ }7 h+ }A. #define MUL(x,y) x*y
0 ?8 l; i5 P2 D) lB. #define MUL(x,y) (x)*(y)/ U/ B% C2 U. |. K* N# P4 A* L/ b
C. #define MUL(x,y) (x*y); H E/ C. F$ {3 F. O
D. #define MUL(x,y) ((x)*(y))"" k6 V" B. Q" F' Q( t, s
满分:5 分6 R" }; _# W: ~( _; Y
7. C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是( )。
3 Y" ~$ K& F* L: l5 d! sA. float
4 W, y$ {+ Y# u0 o) H9 y% f; oB. int
* x0 O5 Q6 c6 j9 x" X; C+ fC. long
( M( W: b/ _+ U; kD. double
% `! V0 ]. y! Y$ b- g 满分:5 分- f& S. i$ s0 Q7 ^# M' L6 Y
8. 判断字符串a和b是否相等,应当使用( )。
- \- c- E5 l; g! x+ u H# oA. if(a==b)
( \! N$ A+ G& h n7 j& r3 h5 c& S" _B. if(a=b)5 z$ m; K- p' K1 g1 c; l/ W3 d' m
C. if(strcpy(a,b))1 G8 K$ ?. o9 h5 a
D. if(strcmp(a,b))"& ]- }( p9 D9 [4 z
满分:5 分
! Y( s7 I! e! M4 Y4 m# [3 H8 Z9. 以下正确的函数说明是( )。
+ s7 F1 `. D8 w, ?; `A. int fun(int a, b)/ z6 v8 u9 S) Q' p A, k
B. float fun(int a; int b)8 Q% D7 n- [0 |; O
C. double fun( )
. f2 O0 S. C; o& ED. int fun(char a[ ][ ])
% b4 }/ C8 c; _5 l 满分:5 分
4 H G, w' I4 z( f6 {2 V F10. 若有说明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙述正确的是( )。
. G; U) i5 ~4 O8 `- a/ r3 N k6 mA. *pc[0]代表的是字符串"aaa
4 l7 r+ Q% D' F/ H' aB. *pc[0]代表的是字符'a'7 n1 v" l: ?. o0 y$ _) H% w
C. pc[0]代表的是字符串"aaa"
) n2 l8 @, _; s1 pD. pc[0]代表的是字符'a'& T d# \: E. L5 A5 _( L( k- Y
满分:5 分
s) K2 a! L0 V) y' j11. 若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。
t6 I% a/ ^8 e- z2 E$ ~A. "wb+
?9 K% Z) ]5 p6 Y$ ~8 `7 R6 s# f6 uB. "r+"
- s, g X/ j, r! W% lC. "rb+"& e( t& K2 c+ ^8 T
D. "ab+"": O- R0 I0 Q2 ~
满分:5 分1 L) E. `# S9 P; Z2 J4 O
12. 若有说明:int a[][4]={0,0};则下面不正确的叙述是( )。3 S" ?& q* P) R& B5 w( h/ G
A. 数组a中的每个元素都可得到初值0+ t" h+ ~" M y& T, w: D! @9 D$ B) b
B. 二维数组a的第1维大小为1
) S) v" Z) x' \% T8 jC. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1% l* S* f+ D- v9 H0 {% Q! h
D. 只有数组元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0$ Z# V( y6 ~# r4 M* T5 _# o% O
满分:5 分, W' x5 d3 k: s6 e% K9 w& S
13. 若有以下程序段: for (m=1; m<=100; m++) { scanf("%d", &y); if (y<0) continue; printf("%3d", m); }正确的描述是( )。
0 H$ @7 z& F) W: l9 r6 e8 dA. 当y<0时整个循环结束" o) E6 j2 L% n$ q
B. y>=0时什么也不输出" u4 A( ]7 d, F6 [2 G. B$ q' [
C. printf函数永远也不执行
4 c' o9 q) q1 _4 ]7 bD. 最多允许输出100个非负整数: L( Z9 \- i! d5 @* f8 o3 b
满分:5 分
! H! n3 r8 X S/ l14. 若有以下程序段: …… int a[]={4,0,2,3,1},i,j,t; for(i=1;i<5;i++) { t=a;j=i-1; while(j>=0 && t>a[j]) { a[j+1]=a[j];j--;} a[j+1]=t; } …… 则该程序段的功能是( )。
% b; X* a8 H( r/ nA. 对数组a进行插入排序(升序)
3 P5 O% e# ?& D! {2 N) v3 ]B. 对数组a进行插入排序(降序)
: y7 J% v5 p8 g" ^- MC. 对数组a进行选择排序(升序)
* n S% i! w* U& p8 hD. 对数组a进行选择排序(降序)% h/ x6 O/ {& d. |, D& p( A3 D
满分:5 分
* B, T5 D$ c# s0 t- q- V15. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。
: s; [! v: ^& H yA. 该变量只在该复合语句中有效
' V6 Y( S. q) UB. 该变量在该函数中有效
2 y* u; Q1 j! a6 R, a: [; \C. 该变量在本程序范围内有效+ n4 ^5 D3 S( p1 `
D. 该变量为非法变量
0 A7 Y5 K- i' N2 ~) K8 M8 S 满分:5 分: N0 A. w n& E% m- m8 w
16. 若二维数组a有m列,则计算任一元素a[j]在数组中位置的公式为( )。(假设a[0][0]位于数组的第1个位置上)
3 c Z7 d( B. s/ J( H# `A. i*m+j
% Z4 w* w; B8 NB. j*m+i
. J! O2 f2 S8 i9 D. O# B0 k: fC. i*m+j-1- P4 o9 r5 K+ D2 m1 S2 P' W6 d. o
D. i*m+j+1
7 n2 q7 d$ f/ K2 \+ B# s/ _ 满分:5 分0 M& v2 _: I' g! I# b
17. 以下正确的描述是( )。# A( m: _8 z% j5 N, d' V) u
A. 函数的定义可以嵌套,但函数的调用不可以嵌套" R, a6 j) E( z! w" ?/ M
B. 函数的定义不可以嵌套,但函数的调用可以嵌套" E, F2 P; o$ ?7 @
C. 函数的定义和函数的调用均不可以嵌套8 B( O5 I. j/ P# |' d
D. 函数的定义和函数的调用均可以嵌套
! \+ F' `. I0 i& \ 满分:5 分8 Z4 L7 q1 d4 G7 o4 U0 B
18. 若执行fopen函数时发生错误,则函数的返回值是( )。2 g2 i: y2 c1 U1 s% m
A. 随机值( h8 x8 \% W; V% s, X4 j
B. 1
& m9 @2 V* s. |+ }. b; |( P1 D R% yC. NULL
# F( d& |! i) \D. EOF+ V9 Z, f0 k* k! B4 ~
满分:5 分' |! I( Q; G1 s3 t
19. 已知学生记录描述如下,下面对结构体成员"computer"的赋值方式正确的是( )。 struct student { int num; char name[8]; struct { float math; float engl; float computer; } mark;} std;, q( w, h, z8 g3 G: `3 i$ W; w
A. student.computer=84;
* P% `/ A% e1 JB. mark.computer=84;. I, Y \& S5 ~0 I4 @* D' r
C. std.mark.computer=84;
X- T) }$ h) K1 H- M6 a3 y9 XD. std.computer=84;9 C8 z1 L1 x; I$ [% y
满分:5 分7 }; }! r* S' O0 L- u
20. 以下能正确定义整型变量x、y和z并为其赋初值5的语句是( )。
; b2 R* x: E, v- U. P* ?9 {A. int x=y=z=5;6 \7 d6 X: v9 `9 U( u; i J
B. int x,y,z=5;
. J, K, ~9 [ f9 K; m- SC. int x=5,y=5,z=5;
" L% e5 D, U! F+ j) k: sD. x=5,y=5,z=5;"
+ @9 H; ]' i- |- B/ g$ h- ? 满分:5 分
8 {8 s1 u/ |; U9 J; K
+ d8 j; L, U( @ e, q2 m2 q& j4 R谋学网: www.mouxue.com 主要提供奥鹏作业资料,奥鹏在线作业资料,奥鹏离线作业资料和奥鹏毕业论文以及提供代做作业服务,致力打造中国最专业远程教育辅导社区 |
|