|
试卷名称:20春学期《高级语言程序设计基础》在线平时作业2* \- p, S9 S, K( z' `3 C
1.下列关于C语言的叙述错误的是( )。
' n! W4 h4 _6 ]4 DA.大写字母和小写字母的意义相同
+ M, f" x- T( z( K' @7 EB.不同类型的变量可以在一个表达式中3 p2 ~; P3 g/ t% E3 [
C.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
J" m* w! C9 _- q% E0 PD.同一个运算符号在不同的场合可以有不同的含义( x( G* g4 i& K3 Q) B: M! a
资料:-8 l7 k! ^0 a( s. p" S# B @
; ]4 a# E8 j; u3 g* ~
2.以下在任何情况下计算两数积时都不会引起二义性的宏定义是( )。7 F1 N2 @) z F: {& H I- T5 h
A.#define MUL(x,y) x*y I" M0 E6 O: `2 L2 b" {1 N9 Q
B.#define MUL(x,y) (x)*(y)
+ \. h& E" `8 ]6 q9 d! R5 Z3 Z- BC.#define MUL(x,y) (x*y)
& u; n9 F: z& F& U* B' C, lD.#define MUL(x,y) ((x)*(y))"- h- q9 O) w' Q, D
资料:-
5 g X: ?' |) `. S5 V; Z) f7 b" s% y; c1 _
3.若a、b、c均为int型变量,则执行以下程序段后的输出结果为( )。
# q- M# w6 n8 d3 n( l: n; i5 r; d( @b=(a=10,a+5,c=10);
; n9 v! f- q# e4 n& oprintf("a=%d,b=%d,c=%d\n",a,b,c);
% _- N4 N6 ^2 S" K8 j7 M* C9 o# Zc=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);
- |" E' _8 p8 ^4 i% G* [A.a=10,b=15,c=10a=10,b=5,c=10
: S# o/ M( m3 n2 b* CB.a=10,b=10,c=10a=10,b=5,c=10
1 Y' {9 Q6 {2 s( oC.a=10,b=10,c=10a=10,b=5,c=15) a" o" v' h) ^5 D* P$ \9 v
D.a=10,b=10,c=10a=10,b=5,c=5
1 T `3 x" I% o+ H$ P$ ]. A% s% {资料:-
$ z0 S3 F- G! M6 m& u0 \- K/ C6 q( T7 ^) ]- `+ J! g" m9 |7 ~- @
4.以下正确的函数形式是( )。
8 a4 @$ y$ J; F& R. AA.double fun1(int x, int y) { z=x+y; return z; }: B- A' g( K* G5 u/ I4 \' O" j" Y( \& p
B.fun1(int x, y){ int z;return z; }
' G% X! z( v+ K# J7 OC.fun1(x, y) { int x, y; double z;z=x+y;return z; }
. s+ e0 u5 K" t: O, l! R/ c" I& ZD.double fun1(int x, int y){ double z;z=x+y; return z; }"& j. H1 i/ H, U" x1 u/ S
资料:-
" A0 P5 ~* Z* x# U7 _
: d2 F+ E5 s8 L3 K; K5.函数rewind(fp)的作用是:使文件位置指针( )。
* k. c$ W# q* KA.重新返回文件的开头
+ N+ ^/ Z$ C% [7 Y$ G( oB.返回到前一个字符的位置
& j( d" I% q0 lC.指向文件的末尾
" w: a& _: N) p1 A# P, k; jD.自动移至下一个字符的位置8 S! I5 s! O. v" v
资料:-
0 y! h* X$ U6 Y% G1 b% n( M
! \4 d$ o f% T, b! b$ v2 `6.若有语句: char s1[ ]="Shenyang", s2[10],*s3, *s4="NEU_soft"; 则对库函数strcpy调用正确的是( )。; V( T& O& r( `7 I
A.strcpy(s1, s4);% f" W: B7 U; R9 j$ [! M
B.strcpy(s2, s4);
5 n2 f( y; [5 d. o/ dC.strcpy(s3, s1);
; V5 b2 S9 ]. A% {+ E' [D.strcpy(s4, s1);"2 r% f* H2 K& N5 t' @7 H: Y1 N6 [
资料:-4 A. I9 i% c3 l9 N% { s
- d, m: n+ k; O* a7.下面程序的运行结果是( )。 e5 e: V' m! X+ y F
main()( a4 z6 f) i) b0 @
{ struct cmplx { int x;int y;} cm[2]={1,2,3,4};printf("%d\n", 2*cm[0].x+
& k7 `# H! u2 ]6 Gcm[1].y/cm[0].y);}8 W: E6 P5 ?6 u
A.5% P* [, F V1 ]! l k
B.2
' Y q1 u: @. R$ u" \5 W2 {C.30 |+ r1 x/ O/ @: |) C0 r% f9 `" P
D.4) l5 `+ Z2 |9 q# C$ ~; d, h% ~
资料:-6 T. k! W0 k6 v3 N; G0 T$ W L, [
f- d3 V ~* I) r& N8.以下程序执行后a的值为( )。main( ){ int a,m=2, k=1, *p=&k;a=p!=&m;printf("%d\n",a); }7 W9 N$ L6 G {3 e# e7 h [& H
A.-1( M2 E) A/ A. ^! o6 ]
B.0 V& k4 e( n* `
C.14 c# l$ z% f2 b% `. v- ]
D.2: l/ O' ^) ]' Z! o4 \. C
资料:- m! g p' p9 A ^) a
5 g7 `( N+ x; F. `& Z1 |9.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。for (y=100; x!=y; ++x,y++) printf("****\n");
; `# M- ^2 o3 o0 o$ `3 fA.循环体只执行一次6 b$ h2 q1 G& G7 T* |2 Y
B.是无限循环$ H. Z) m; }( d7 N1 L3 Y' b0 u
C.循环体一次都不执行+ [8 p4 l8 g- M. W8 g1 _; g" N' f$ U1 O% \
D.for语句中存在语法错误
. l& J; M! A) x& ?资料:-3 ^! n+ h: _& k3 B
6 M: }" L/ ?7 K, @10.已知学生记录描述如下,下面对结构体成员"computer"的赋值方式正确的是( )。
+ ]9 l& c% C2 fstruct student
Y; M$ U# @3 }{ int num;char name[8];struct{ float math;float engl;float computer;} mark;} std;
& s. X, K, e% J* a( v& b3 OA.student.computer=84;' I% ^* j K7 F$ e$ o& M
B.mark.computer=84;
! g; F6 I1 N4 G# _7 X, b6 k& kC.std.mark.computer=84;$ u5 p N, K! U! m
D.std.computer=84;
& d5 F9 L9 p+ `& f$ s! f资料:-: p* J7 X/ s; v# N, b. _2 V
5 w! n- k6 N) b/ m; F* \' r
11.以下对指针变量的操作中,不正确的是( )。
4 m) B; G2 m, l9 U1 H2 vA.int p, *q; q=&p;
1 _: q! I2 H8 ]" SB.int *p, *q; q=p=NULL;
- H8 a U2 Y7 {. k/ I& m7 K" RC.int a=5, *p; *p=a;
* y6 J+ b9 e8 TD.int a=5, *p=&a, *q=&a; *p=*q;"5 J* x. h- Y2 ?4 }! x4 b
资料:-
! w$ {# P/ a2 }4 \2 i- ]# @) k9 z% _
12.若有定义:int i, x[3][4];,则不能将x[1][1]的值赋给变量i的语句是( )。0 l) X5 \6 a, i0 A' b! O) ?
A.i=x[1][1]
+ Y9 x a4 X: F. \B.i=*(*(x+1))' G/ f P. l2 T% @1 S
C.i=*(*(x+1)+1)
" z4 I6 t* ^4 eD.i=*(x[1]+1)
, E" ^7 O, d0 j; V) t, q' w* L2 t资料:-
9 m; J" H9 C; N- j( ~5 L8 A+ B& V! Z# x/ ^: d3 o
13.设有定义:int a=1, *p=&a; float b=2.0; char c='A'; ,以下不合法的运算是( )。
u0 |3 W4 D" v, q/ XA.p++;* M) @% _) @ Q% B3 X( S
B.a--;
! p/ H) n, c! k2 z8 Q. f& k! ^C.b++;: t. L6 H# K" I+ |6 J
D.c--;8 b4 c# @1 O4 r" `# ?7 Z
资料:-
( u1 G! n; \* {5 s- p( b8 u7 {, _+ i! G" B( J9 W
14.执行下面程序段后,x的值是( )。
# l2 \% B6 [" a: _- Gint x;printf("%d\n",(x=3*5,x+5));6 U" T! l9 H- H
A.107 K, ?' _9 y9 j3 v+ X
B.150 [: X6 L, U7 k `) ~
C.20! N- a3 h7 D5 l* P4 \
D.5
; s5 i! A8 _5 R8 O; Z! m N, B资料:-
) Z; w2 ~! v q1 h0 E! _
# C, W, t- @' W$ D$ Y" l" P8 g15.下面对typedef的叙述中不正确的是( )。
% \$ ~8 d# W1 z; y, KA.用typedef不能定义变量名% d3 w; n6 v6 J0 ?8 K% L1 w
B.用typedef可以定义新的数据类型
* a. S* j: ^; j1 e& a1 BC.用typedef只是将已存在的类型用一个新的标识符来代表; \3 D0 a) J) _, p/ ~* k1 n
D.使用typedef有利于程序的通用和移植
3 c4 M( |: b) R4 u2 w资料:-$ b. t9 J- `2 c' [2 }4 {! O
0 x% F, X* m2 J! e/ f. Y* C0 g16.以下正确的定义语句是( )。
5 l Y. g7 n" x$ zA.int a[1][4]={1,2,3,4,5};
9 u4 J/ D$ w& c0 ]B.float x[3][]={{1},{2},{3}};5 U$ C u* t+ v- u( |
C.long b[2][3]={{1},{1,2},{1,2,3}};
+ U: s' u* a8 x" a) uD.double y[][3]={0};8 @5 s9 x" `( o9 u5 H
资料:-
& r A! P% A7 @, T( @ ?# j$ h/ L5 M4 I! |
17.若有定义:int x[10], *p=x;,则*(p+5)表示( )。& i, ?- z% |& \4 N
A.数组元素x[5]的地址0 q+ V1 S( R) b: V1 Y$ y3 {
B.数组元素x[5]的值# ?: A% q3 t: U5 J+ g- ?. H' s
C.数组元素x[6]的地址
& r; i# ?: q' QD.数组元素x[6]的值3 p" [ S- u% X
E.选项内容111 N- `6 T, D* h# p
F.选项内容11
( i- B% c: `/ O0 `* w8 H资料:-+ [# i; O4 ?. Q2 Q) I. Z# }
) V( b7 T9 t( M. f1 x
18.设x,y是float型变量,则不正确的赋值语句是( )。; @; M/ Y% t" d7 C3 `7 V
A.++x;- m% V7 g* f+ ^9 v
B.y=int(5); e! O- E9 I! @& s+ b. Z) ^1 K, z' m
C.x*=y+1;
4 O: _# `+ I0 V0 A3 ID.x=y=0;
! S* M. E6 z- w. n, }6 X3 \1 d资料:- C, o3 { M* Z6 S
0 ]$ y2 B; Z" x, ^7 c
19.执行以下程序后,m的值是( )。#define MIN(x, y) (x)(y) ? (x) : (y)main( ){ int i=12, j=8, m;m=10*MIN(i, j);printf("%d\n", m); }
( H3 L4 [9 F. E7 D1 Y& [A.120" p( K, H4 y8 X* U" ^5 R
B.80/ g9 H" U/ O2 z
C.12
8 N; K, i" v+ p6 C6 h; W; KD.83 s2 y4 s* h# y, J( ~
资料:-
4 K+ V) l% K5 c3 U& Q% s) K8 {8 J- R3 U$ ]. O0 H
20.下列程序的输出结果是( )。' Q) p% U$ M5 G: T l
#include
1 |3 S" l" a: p3 ^void fun();
) B. w* e y: b* a8 ]void main()
! W) J# E) T4 g6 P( n+ R1 n" T0 v{$ a" N i/ F: Z W0 P
int x=1;
" Y e3 y/ h8 U9 ]if(x= =1)
" l- w: p$ D* V; q{int x=2;printf(“%d”,++x);5 a6 P# A+ b" @- F0 {+ V
}void fun()
! c. M& x7 t6 F: t& |& R{printf(“%d”,x++);}
m; ?$ K2 X3 d( ~5 K1 u3 XA.2,1,15 O0 u% x+ t' y: E9 ?
B.1,2,1( F( G; Q6 h; B o6 D6 Y1 K% n' W% a
C.2,2,2
/ u6 e- E# r: ?' k. L$ nD.2,2,1"
% m$ A& ]4 E3 K _6 E: [. S8 M, T资料:-2 ?* D7 {! [6 J0 m/ H/ a: w5 i
0 x& \. s8 g) F3 w3 j' b |
|