C语言主题作业2答案,电子科技大20秋《C语言》在线作业2

20秋《C语言》在线作业26 M4 X/ C/ U/ z9 `3 G

1.[单选题] 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是(  )2 ^8 m9 n: E' y6 k! ]. e& [; v

A.extern4 L2 @0 {9 F$ W1 ^6 g

B.register

* a# P/ c: U+ n5 x# V# y  P" p    C.auto

V$ w+ f# z' D' y* ], J    D.static% q+ s! z7 ^) {$ t  j( [6 C. ~& ]: F

答:——D——

* C( E# D# P7 s4 C% P  F2.[单选题] 以下符合C语言语法的赋值表达式是(  )1 u6 R' i  c; z2 ^& a( K

A.d=9+e+f=d+91 b% ^/ M; ~( d* k2 L; f

B.d=9+e,f=d+9) u) f" h  l, D6 \( r, H. G

C.d=9+e,e++,d+9

3 Q. p5 y2 G  m' G" e    D.d=9+e++=d+7

( l8 a2 N+ e1 s    答:——B——& k$ b9 u0 ?! u

3.[单选题] 根据下面的定义,能印出字母m的语句是( )根据下面的定义,能印出字母M的语句是(  )

8 [. ^/ z; g. K+ `4 q* ^  H  struct person{char name[9];int age;};

E! B2 v, V6 y  struct person class[10]={“john”,17,. f! e/ o6 N5 F/ U, @$ w! z

“paul”,19,

& W: T, h1 U: m( v# z0 Y6 A7 J, A; Q, y  “mary”,18,

* R+ c0 O1 G. f! \' v  “adam”,16};( {1 ~. O( h4 g0 n! |  h; H

A.printf(“%c\n”,class[3].name);* T" h+ p8 J5 l* ?5 N

B.printf(“%c\n”,class[3].name[1]);

% }) R% o8 @0 {% Q! i    C.printf(“%c\n”,class[2].name[1]);2 t$ ]* e1 x) r# F6 t

D.printf(“%c\n”,clsaa[2].name[0]);4 h: k* q" s; w9 D

答:——D——

/ F' S8 E4 U6 D/ Z+ _( C2 L! I4.[单选题] 标准库函数fgets(s,n,f)的功能是(  )

% k9 n/ N* J" M  ~5 ?% X0 }3 ?    A.从文件f中读取长度为n的字符串存入s中

& s9 }; H  q  X% |* f* J; z    B.从文件f中读取长度小于n的字符串存入s中) L1 F5 r- |; u! C

C.从文件f中读取n个字符串存入s中

1 {$ G+ i6 J2 A! u, q6 ]    D.从文件f中读取长度为n-1的字符串存入s中

3 @0 d( D) e9 ^    答:————3 a3 b. q1 f( C

5.[单选题] 判断字符串a和b是否相等,应当使用(  )# J" N8 P6 [5 H2 A  I/ ]2 _

A.if(a= =b)4 H& t* T. Y  y

B.if(a=b)

9 S& ?1 W# Z& V* F8 ?3 n: {    C.if(strcpy(a,b))

% o7 w2 u# J$ A, W0 c4 B% D    D.if(!strcmp(a,b))7 v# ~+ s/ P& n9 m( z0 Z0 E3 L

答:————1 D1 `# L) x5 ^+ K8 i

6.[单选题] 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为(  )/ c. g% I5 t7 ?' u' a

A.int

^# f8 P% M8 I) ~    B.float

- ?" z1 L, K( H+ U* t    C.double; p7 M* h! @2 L+ n

D.不确定( n* r/ }3 u. w4 t  U) P

答:————

% ]' V/ D9 j7 Y+ j7.[单选题] 以下正确的描述是(  )% v$ \+ c, V1 j

A.函数的定义可以嵌套,但函数的调用不可以嵌套+ F  a# k. ]$ X4 [( |, v1 _9 a

B.函数的定义不可以嵌套,但函数的调用可以嵌套

) o0 q- w2 @+ B+ d: W    C.函数的定义和函数的调用均不可以嵌套

$ B4 X. B- z$ O/ y    D.函数的定义和函数的调用均可以嵌套8 P2 {& v: a  k& V9 X9 r

答:————. E' W  v7 k3 L# E' D! h5 S

8.[单选题] 下面程序的功能是计算正整数2345的各位数字平方和,请选择填空(  )

7 \% e/ [# B4 h% K3 s0 f; y* o' V#include8 g0 F9 `  n+ x; h. v  D

main(), p; y; G5 \( V+ x8 |, [

{int  n,sum=0;* c& B4 x0 u* R! N, a1 H6 k

n=2345

+ A% A2 Z5 D4 u; a, y" S5 ?4 mdo{ sum=sum+(n%10)*(n%10);  ; V3 F4 {5 |, N1 t8 w1 k

n=【 】;8 d$ S+ r5 W7 R

}while(n);: a* h/ F) h% `+ O7 [. r

printf("sum=%d",sum);}. z9 [( O7 J6 G) f  N3 N& Q  H

A.n/1000) G9 \9 i% L* r6 q

B.n/100

0 V$ l" ]. _3 {" p3 P' Z: Y: U  F    C.n/10( k. ~: y  g1 {

D.n%10

1 Y1 h& r( |0 n* d) Q4 Q' L    答:————

0 t4 m  @/ P) a- ?+ h9.[单选题] 以下对一维整型数组a的正确说明是(  )

5 i$ ]4 Z! f1 ?# M% b    A.int a(10)3 t+ \2 m( j: @! Q* b& r: o; _

B.int n=10,a[n];

. g# g4 u$ R& G0 f+ U0 K    C.int  n;scanf("%d",&n);int a[n];" b$ m% n/ T, D1 L6 V. x; [

D.#define  SIZE  10    int a[SIZE];

: P: t& d6 L0 ~5 l. ^: X# S    答:————

# A! A* Z1 g" o7 l, Q10.[单选题] #include

5 |2 U: Z. T; Yvoid f(char *s,char *t)

# V; K; z) n9 x! E  b{char k; " X0 U& w) D: t8 f* H

k=*s; *s=*t;*t=k;

4 W5 K9 j2 V" l1 E2 Z% T3 l7 `- [s++;t--;

4 W1 E$ D/ y: [) Q$ yif(*s)f(s,t);

9 `3 y* x' c4 q" j. H& M7 [}

( j9 ~& m, b. a. ?main()

9 U3 X! e& W0 e& }$ d" I4 O{char str[10]="abcdefg",*p;

1 j) y! ^. C* L) u0 L* \p=str+strlen(str)/2+1; ' b( c; J: F$ E6 t. G/ I

f(p,p-2); / I% `1 Y8 s4 t2 k4 u0 f

printf("%s\n",str); & J* C1 X* r" O# b# d5 h

}

3 y: ~4 S( u  k# B" b  x程序运行后的输出结果是(  )

. n& }" M5 b, e! y1 ^7 C    A.abcdefg

7 y+ S$ G& Q! p) @! Q) V    B.gfedcba) ^: i6 J0 l. o8 B7 T2 v5 W

C.gbcdefa

* Z7 x9 U! h) d, P$ ]    D.abedcfg

& e; i4 t" X: |: C! j0 l    答:————

( c7 {5 g( d0 N) x+ I: Z% N8 t11.[多选题] 下列符号中可以用作自定义函数名的是(  ); O8 o! B3 O2 P' R  J2 v/ u; U: l

A.int

! S5 {" T' b" h% T6 U" V' y    B.go_to

2 F  `* j0 B2 G1 v5 d% Q5 X    C.INT

/ P2 s. I& [3 P( F& J' d    D.Getchar+ G4 i$ H/ u  M: [. N

E.typedef

$ K6 [) N; c% E- G: _    答:————

7 o9 @8 Y- ]$ L12.[多选题] 以下程序正确计算p=n! (n>=0)的是(  )

' V! @+ N# @7 b+ C    A.for(p=1.0,k=1;k<=n;) p*=k++;, T7 A+ _, x6 _( z/ A

B.p=1.0;k=0;while(k

C.p=1.0;k=1;do{++k;p*=k;} while(k<=n);# L( R. x5 F, w% J! q

D.p=1.0;for(k=n;k>=1;k--) p*=k--;

+ h1 K$ n) V# h# a) x    答:————

' M9 t9 k1 I( ~* }% J$ G13.[多选题] 在定义函数时,函数的存储类型可以(  )

! v5 N# M1 n: n, [. |7 U    A.是static

0 h# ~' M, f) h0 J$ @    B.是auto- z0 y- M) E6 A$ m4 X

C.是register7 I9 z4 O* h, T; v) k0 L( V

D.是extern9 r8 X2 ]8 s5 l0 m- T$ s7 ~% V6 M+ r. D

E.省略

* R# V" n  W" U8 I5 |    答:————

! U  x; O$ s. H- b" a4 b14.[多选题] 在函数调用过程中,下列说法正确的是(  )9 n: z, T0 F' P

A.形式参数和实在参数各占一个独立的存储单元

7 S3 y# o3 X+ B% l# X    B.形式参数和实在参数存储空间都是在函数调用时分配的

4 N5 L  _/ O  P4 P" x& |/ {% V    C.)在函数的执行过程中,形参变量值的改变不会影响实参值的改变

, l5 t' \( T, `9 l! C    D.函数调用结束时,临时存储区被撤消

0 [' h6 Q1 b  P9 m2 b/ ~    E.在函数调用过程中,实在参数与形式参数在个数、类型上必须匹配+ U4 b$ V" X9 _1 X/ r

答:————

0 u3 z5 v. I- c9 V, Z! O15.[多选题] 在下面C语言的函数说明语句中,正确的是(  )

- z% B, t0 x% h+ e    A.int fun(int , int);

8 ~% ^# N7 C- b" y; P6 I: p    B.int fun(int x,y);

! T; c' [" U. o. c    C.int fun(x,y);& y% l' M2 M! b* j7 l5 g

D.int fun(int x; int y);

7 {( a% }  M2 y, k1 |) ^8 k: Z    E.int fun(int x,int y);/ w9 s3 i& }) Y( i* _2 M

答:————" p4 f* Y% q7 X& n$ l5 ]2 K! v

16.[多选题] 以下数据类型在内存中占用4个字节的是(  )' |8 L. I1 t' i8 m( p; _6 O" v

A.int1 h! J; v6 p4 w4 i0 X" G

B.unsigned  long$ _  x/ C; m. h9 o

C.float# q- ?, r; I4 r3 h4 [1 e/ H

D.unsigned  char: v6 z7 q4 S: h1 A, e, c$ Z( X/ G

答:————

1 ]1 [* [+ ]* |8 p17.[多选题] 下面关于C语言的说法错误的是( )

( ^$ ~! V6 y$ p! A! U    A.C函数必须有形式参数

' f6 H* u) w# x2 P    B.任何复合语句体的{ }中允许定义局部变量

& E6 B5 M2 H+ F    C.局部变量都存储在动态存贮区

) L+ i. }( U2 F: U+ |    D.C程序的执行起点只能是main函数

4 N. \' G' Z4 Q6 _6 T9 j    答:————* O) c5 a& J* t/ Q$ h

18.[多选题] C语言规定,如下说法是正确的(  ); E4 ?# s1 a( @1 L0 c

A.不能将结构作为整体来进行存取;9 n0 P# H0 ?4 l9 T' D4 r

B.结构是若干变量的集合,这些变量的类型可以相同;

: j7 @; p+ p6 S  s; M& E2 _( p    C.共用体(联合)允许不同数据类型的数据使用共同的存储区域;) u& ~+ u7 q) z% j

D.不能用&来取结构的地址;

" g$ x+ v8 B+ x$ J* y    E.位段是一种特殊的结构成员。位段的类型可以是char、int、float、double等。" `5 _  ?! x" q/ c+ {

答:————/ c, m3 m, ]5 R3 H, u  P, v. |

19.[多选题] 以下哪些是关于指针数组的正确描述(  )

5 V( e7 w7 o4 ~" N! S    A.int (*a)[4];

* j% R  v6 B4 z- ~) R    B.int *a[4];

; l2 I1 p) d* I6 t3 ^2 c6 A    C.指针数组每个元素都是指针变量8 h8 o( a( S* L' U# e

D.若int a[4][4]; int *b[]={a[0],a[1],a[2],a[3]}; 则b是指针数组

# i# W4 ~1 a0 x    E.指针数组与指向数组的指针是等价的2 H) E5 F3 D+ f

答:————

0 e+ N. _$ O2 Y' p/ O20.[多选题] 定义char s[81]; 后,能正确输入一个字符串到数组s的语句是(  )/ r/ x% I5 Q5 h& l0 q

A.gets(s);( D6 ~7 u" U0 }; x$ H, D4 w

B.scanf (”%c”,s);

1 D' V) p" y$ w! y! ~; @) L3 \+ M    C.scanf (”%s”,&s[0]);

6 W9 i+ Q+ T. s- j, a$ K! X: `( R    D.gets(&s[0]);, |* p6 E4 ]# q. U  f" i4 i+ e

答:————

1 Y* [. @' u* y2 `5 q" W, T

) C, x7 h: ^7 U; a3 A

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值