吉大南校计算机2级c语言培训,吉大17春学期《C语言程序设计》在线作业一二满分答案...

吉大17春学期《C语言程序设计》在线作业一

% h+ w* C- c) ?; t  k一、单选题:7 ]+ m9 ~1 K, M  i& g9 b

1.下面程序段的运行结果是    char *format="%s,a=%d,b=%d\n";    int a=11,b=10;    a+=b;    printf(format,"a+=b",a,b);          (满分:4)c

7 y* i. F% r+ U    A. for* z( |" g5 G0 ~! g- p

"a+=b"    ab& ^5 h! z9 w1 x' I" T( u

B. format. x" {- E4 W$ Z3 t6 W% L# {

"a+=b"    C. a+=b

8 I$ Z% t4 C5 _) X( s9 N5 i) v3 f) y    a=218 k1 u9 E* \7 j, u! ^/ J

b=10+ t9 [& _: u1 b( H$ l

D. 以上结果都不对5 k8 W% U, K; r

2.下面程序的运行结果是    #include    main(    )    { int a=1,b=10;    do    {b-=a;a++;}while(b--<0);    printf("a=%d,b=%d\n",a,b);    }          (满分:4)( l6 Z$ t2 Z( H: y* X

A. a=36 f; O* y6 c; H' L

b=11; b) a9 Q0 }; ~

B. a=2. B4 L" d7 B" j) [2 y. g

b=8

w  i; l0 b* [. o    C. a=1

& s7 H$ F8 H4 V# W4 U* L4 a. J    b=-1

" f5 B1 l, A6 t# m    D. a=4- _+ ^  r# l' F

b=9

/ C' f0 n/ c" r9 o( i3.以下叙述中不正确的是          (满分:4), B( P- O6 g* U5 C' X

A. 在不同的函数中可以使用相同的名字的变量; l  _+ s& _6 `/ {% J% c- _

B. 函数中的形式参数是局部变量

+ ^& t0 Z; F' Q$ `  b    C. 在一个函数内定义的变量只在本函数范围内有效& m. A, d2 G' z1 ^  ?

D. 在一个函数内的复合语句中定义的变量在本函数范围内有效

( k3 h) b) a) o6 s  I4.请选出以下语句的输出结果    printf("%d\n",strlen("\t\"\065\xff\n"));          (满分:4): c5 M5 ~6 ]0 r! k) m

A. 5

3 Z& E; m2 n: k" n' c    B. 14

' D3 M1 b* Y- c5 x) S. O5 e( j    C. 88 O* n; K/ w  I- H, s7 ~

D. 输出项不合法,无正常输出

0 a$ F6 h4 N& z1 E; q+ i3 d5.下列程序的输出结果是    main(    )    { double d=3.2; int x,y;    x=1.2; y=(x+3.8)/5.0;    printf("%d\n", d*y);    }          (满分:4)$ _. f! R$ `- Q3 J7 Y! \+ Q+ V8 x

A. 33 k1 B/ Y3 ]) P4 N3 l

B. 3.2

7 k2 b  `3 ?* G" F    C. 0

& Z2 E, Q& b! K" R& u% Y    D. 3.07$ `6 ^, c& X6 d$ U  ?+ w. e8 E

6.下面程序的输出结果是    main(    )    { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;    printf("%d\n",*(p+2));}          (满分:4)4 E8 L$ v' ~* U  j

A. 3" v- a, y' D$ i6 I. g* l

B. 4# r+ D8 [, @8 \, b- ~

C. 1

$ d1 K/ q0 m' u  T7 ]& E' E    D. 24 R0 Y. I* c7 C2 _7 Q0 L

7.请选出可用作C语言用户标识符的是          (满分:4)

3 p$ S3 Q* a/ T' e    A. void

, t: x4 `7 L9 [2 h    define9 j0 R& H% M' F

WORD

. Z: K$ A0 |* Y, O0 _  \    B. a3b38 x; Q7 P9 R# M. |1 b1 i3 i$ K

123@6 ]3 G9 u8 X6 Y9 w, n8 |- ~

IF

+ M' T6 h, |" p; ]    C. FOR

0 W2 S( {7 l  o7 t4 L7 m2 U+ V9 }    --abc

# |& C5 Y2 b5 ~  {* C  f    Case

2 |' ~  ]: x2 Q0 r6 Q" K. f    D. 2a

, k/ C: y- Q) F1 F/ {( X# u+ L    Do# J1 W" z; {3 C9 Q8 \2 l& p0 N7 L* D6 ?9 n' e

Sizeof/ i8 ~+ }- k- o6 P7 e

8.C语言允许函数类型缺省定义,此时函数值隐含的类型是          (满分:4)4 V% v0 i7 B! G  e/ R

A. float

% V$ g+ B, _- ^    B. int! I0 y/ _0 J: Q7 ~, |) S

C. longp, W" z4 h& Q* H8 e

D. double

, u" _5 d" V4 o# Q' B. D* d% Z9.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为          (满分:4)1 i7 X5 L! ]6 h: Q9 B3 E

A. 4# R0 ?" P' O7 Y7 ~: T7 u

B. 16& {& s, Q, D( }) P6 s

C. 32* [% P# D+ v* f0 m

D. 528 r/ B* A' y) h- U! g% F

10.sizeof(float)是          (满分:4)6 s) u# A0 n) Q3 Q% c' }' N

A. 一个双精度型表达式

+ Q  I: O, R' Q- C. A: B    B. 一个整型表达式2 E$ n: I" S( ]9 r# L

C. 一种函数调用9 f  P, Y; d4 R' u3 b7 @

D. 一个不合法的表达式

: i3 h7 N2 {, ~' f- x, ^7 z* a二、多选题:+ I5 X# O  i0 ]6 e; v

1.C提供的预处理功能主要有(    )。          (满分:4)

% p4 l$ L( c9 ^# u: j" r    A. 宏定义

`& ^6 M- `9 B% F    B. 文件包含

+ W  U, ~8 F, t: E( A" k- {    C. 条件编译

0 l, M! [" e* K- x- O2 u    D. 异常终止

# f, h7 p. R0 \1 ?0 r2 K5 |. o2.下列说法中错误的是(    )。          (满分:4)

3 T& r2 E' p- L1 h2 h. w    A. C程序总是从第一个定义的函数开始执行

2 [" C9 \- y# |6 ~    B. C程序总是从main函数开始执行

0 @, [) _$ h2 [" r# k4 \. P+ ]# [6 z    C. C函数必须有返回值,否则不能使用函数

, Y* O9 u6 _- K/ k+ {* q$ J6 @    D. C程序中有调用关系的所有函数必须放在同一个程序文件中

+ a* O  Z+ T; n! ^! v4 i3.以下说法不正确的是(    )。          (满分:4)

0 I* o5 W3 g! Y- q* Z& A. f4 k  ?9 x    A. 定义函数时,形参的类型说明可以放在函数体内" r- ~  j' c6 ^. w; a) e* P

B. return后边的值不能为表达式

7 a; @5 Z* D) r9 q& T    C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准, A' r2 F) j2 l! L  Y- s; z5 j

D. 如果形参与实参的类型不一致,以实参类型为准S! a  q7 w% _8 {$ @

4.以下对C语言函数的有关描述中,错误的是:(    )。          (满分:4)) I8 b% ]% H1 o" U: Q0 Z

A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

; y# O7 m3 f0 V2 S% v    B. 函数既可以嵌套定义又可以递归调用' W* l1 A1 _  M' p

C. 函数必须有返回值,否则不能使用函数

# c+ m- ~8 z* o9 j8 c: C( I$ F    D. 程序中有调用关系的所有函数必须放在同一个源程序文件中) n# H7 t3 c: [

5.下列说法不正确的是(    )。          (满分:4)/ p5 ~3 ?5 H% p: Y6 K4 \

A. C程序由符号构成. f- O6 w+ e* w6 w0 R, ^

B. C程序由标识符构成& C$ Y+ l. O  E; X: |& o' q; L3 q8 {

C. C程序由函数构成

3 Y, }5 l! X8 ^1 ]7 [    D. C程序由C语句构成- i( b! C; x+ r  g7 W

三、判断题:

6 ]! b7 M( Q2 L/ N7 S, Q# m1 w' p, G% b1.‘ a’和“a”在内存中所占字节数相同。(    )          (满分:4)

8 i9 H5 V8 S1 e    A. 错误

6 `4 V- G8 j) f2 o, T    B. 正确# B1 ^; p( z* V3 a

2.静态外部变量既可以在文本文件中引用,也可以在其它文件引用          (满分:4)% b. ]+ F. j5 T/ L4 _9 ?3 x+ n* F

A. 错误

" `1 c: I+ C6 [5 P    B. 正确4 i$ |7 z. o0 l% h: Q! ^

3.使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”(    )          (满分:4)9 q/ ^+ I: R" U7 t2 a: U9 S0 r

A. 错误- R' ~6 c% G, E2 t/ a

B. 正确* R: L  D# t" n1 j

4.函数必须有返回值,否则不能使用函数          (满分:4)

6 r$ Z' |) q6 R3 m    A. 错误

+ |& h4 [3 i& n  V    B. 正确( F; q2 c$ \; `" c$ r

5.C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。(    )          (满分:4)

3 W5 |9 ^& i4 ~    A. 错误5 Z+ P- z! c5 Q+ `! y

B. 正确

& C% Y9 D( T$ F6.C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。(    )          (满分:4)

5 ?% R" p  p  [: m' o6 k, v    A. 错误5 j/ N; Q! ^- w4 Y9 W( u

B. 正确

" ]5 R9 U9 a; _! S, F. c7.C程序中各函数之间既允许直接递归调用也允许间接递归调          (满分:4)

6 _1 e  G. ]' h, @8 o5 o    A. 错误

8 E1 f6 l" Y! W( F    B. 正确

* k: Y4 l8 M2 [3 w; e& H( O! x' A8.调用函数只可得到一个返回值,而用宏可以设法得到几个结果。          (满分:4)2 F" o/ a, e- G( `% M7 W5 [$ R

A. 错误

. H1 R4 n" ]; k9 P3 ?! Y    B. 正确

1 \( e# D3 \4 e9.C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。(    )          (满分:4)% H% ~. g0 P% `! i; H1 H: q8 ]

A. 错误

; f- N; g- t* d0 s    B. 正确4 B5 C$ S1 |2 l/ j, A9 X0 I

10.使用printf和scanf函数时,必须添加#include 命令。(    )          (满分:4)

3 D8 r6 k. I- ~% y    A. 错误8 T& t8 j# ]3 G/ _# a6 b

B. 正确# T3 p+ U! ]0 _) M2 ^

吉大17春学期《C语言程序设计》在线作业二4 o9 b4 F. h4 c. J+ c+ r1 d; q: c

5 |) ~0 ]3 z" b- k. m一、单选题:

. t* l4 d* S+ y9 }/ X6 F) P& F* w1.执行以下程序后,a,b的值分别为   main(    )   { int a,b,k=4,m=6,*p1=&k,*p2=&m;   a=p1==&m;   b=(*p1)/(*p2)+7;   printf("a=%d\n",a);   printf("b=%d\n",b);   }          (满分:4)9 K( D8 N/ T, e+ t

A. -1. v" E7 z1 [  @( [: U

5

! }3 n* F5 u( R% [# u    B. 1

! I/ |9 f  T) D9 L% h    6

: K& J9 _& g: x4 n: D% ^8 C    C. 0

) h$ s, E3 g# ^' r( H) |) S    7

8 `' s, q$ L  L; H! i3 h" Q+ ]    D. 4

. L/ X9 U- |! d* m" G    10) `  [5 U' E: B( P

2.设有以下说明语句    struct ex    { int x ; float y; char z ;} example;    则下面的叙述中不正确的是          (满分:4)

# f3 e7 O( L: S8 A+ ^9 R) z  x    A. struct结构体类型的关键字

9 Y" d* p' E, P! r8 b* y- Y    B. example是结构体类型名

6 E7 `& X5 ~- z# v/ {  n, _    C. x* r0 ]8 ^& g/ X* U" t" [

y

2 u" P% }( c' C    z都是结构体成员名0 K9 Y0 R3 m# W; H1 C3 L+ F* T

D. struct ex是结构体类型名7 y- M/ U/ |+ e

3.以下不正确的定义语句是          (满分:4)

; e3 K0 h$ B; d" g: m2 i    A. double x[5]={2.0

) ]/ r) K2 m3 F    4.0

\- a& P4 M: I8 ]9 m- y$ d- n' Y+ O    6.06 O/ k2 U- z! F  Y4 T1 T% N

8.0+ a5 }1 e+ W6 N' m2 N

10.0};. K2 b# J; i& h1 b/ l- V

B. int y[5]={0

5 S; R$ q+ o! g7 o2 A    1

6 ^) _& _$ ~- v& e    31 _3 r* G, n' I6 v  p, d0 W2 c& _

56 f2 J( t& D! a

7

0 O( C6 \( d5 i    9};

0 o8 t# y) f1 c! p0 E4 x$ @5 e    C. char c1[]={′1′

3 m! |& I" |. b$ ^1 Q# m4 ^    ′2′

/ E9 C. S! P( |# R% `+ j+ Q    ′3′

! u8 J2 D8 o/ @# B' d& ]    ′4′- ]' d' h/ m/ q% i0 S5 g

′5′};- G; C6 ^* I* w5 K2 f: S

D. char c2[]={′\x10′

3 o; n. g  ~7 N: p    ′\xa′

6 a% W- w& P5 {( z    ′\x8′};

, {9 s, W# @+ C6 S" h0 {: C8 h7 M2 v+ c4.在16位IBM-PC机上使用C语言,若有如下定义    struct data    { int i;    char ch;    double f;    } b;    则结构变量b占用内存的字节数是          (满分:4)! b6 c- c  z# ?" t+ ~

A. 1

( U+ i6 H2 ]! d$ y9 d% q. y) Y    B. 2; }9 d: ~0 P3 T7 V( F

C. 7

. U! y0 }/ r1 I& b- w    D. 11

- g+ v& n' Q2 n; }& N5 t5.在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是          (满分:4): x) r) R% M; P$ }+ [

A. a=20000+20000;

' d/ w8 t4 r$ s    B. a=4000*10;

: q0 |) v$ E1 L. ~4 O    C. a=30000+10000;: @( w9 L$ n$ u: K! s# S

D. a=4000L*10L) e3 D- P" o6 u" u9 n1 u

6.若已定义:    int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;    其中 0≤i≤9, 则对a数组元素不正确的引用是          (满分:4)( o# r- \7 O7 \$ l

A. a[p-a]

1 V2 @, w5 ~/ v    B. *(&a[i])

5 q1 i' @( l5 _    C. p[i]

- }$ ?& u/ j: A% W- C    D. a[10]

9 K. r" `; G/ f1 B# [4 B* G7.有以下程序:    #include    union pw    { int i;    char ch[2];}a;     main(    )     {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);}    程序的输出结果是          (满分:4)

. G: ?; D9 [' U* i7 `0 F- d    A. 13) W3 J# x) A5 ]2 ?# V

B. 14

% x' i2 L, K+ p& \    C. 2084 t$ c( O7 R* L% b: |8 u2 R

D. 209" X- c" \$ M3 y

8.C语言中,能识别处理的文件为          (满分:4)7 q/ R$ a( j5 s6 ^% Y1 z

A. 文本文件和数据块文件- D  h. e5 z- X& {) N

B. 文本文件和二进制文件

, u4 {" [9 d( H6 L& D* q    C. 流文件和文本文件3 W8 j* ^) T( p* V

D. 数据文件和二进制文件/ n5 s5 G0 T1 }5 \0 r5 ~

9.有如下程序:    long fib(int n)    { if(n>2)return(fib(n-1)+fib(n-2));    else return(2);    }    main(    )    { printf("%d\n",fib(3));}    该程序的输出结果是          (满分:4)

7 ]0 E3 R2 U2 ?) p    A. 2* g  v, z6 _$ Q/ ?/ Z

B. 49 J$ c" Y/ E. V7 L6 r

C. 6! w$ f* d4 ~' x4 V5 ]  i

D. 85 E2 i; y4 F5 ?: Z0 G

10.有如下程序    int a[10]={1,2,3,4,5,6,7,8,9,10};    int *p=&a[3],b;b=p[5];    则b的值是          (满分:4)

& W# q- A2 D7 c& e' {$ F    A. 5& n/ w5 A9 k4 o) m# t9 O9 }

B. 6

S2 e) F. G5 V2 M; H- d    C. 9

6 z8 b+ r3 q; f2 }! {    D. 81 `8 i+ ?/ z+ p+ J( g; M

二、多选题:

: Y1 V, O/ W) h: c1 n# U8 J# Q0 O4 _1 F5 U1.下列描述正确的是          (满分:4)

, b# P8 R7 ], U    A. 由main 函数及其参数argc和* argv[]可以实现命令行方式

5 ^4 d8 v1 [3 G3 r  a& `! P    B. 使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中5 E9 Z+ k) J/ q9 \9 w- {" W

C. 字符数组并不要求它的最后一个字符是‘\0'( E! ~9 a, T  E! d

D. ‘A'和“A”都是字符串常量' D- l: y: d2 Y- D+ g$ {9 I

2.若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有          (满分:4)

! A& V. P# `: ?( i# g+ k6 J    A. A、*(a+1)为元素6的地址( E6 x  m* h3 G4 T5 s. w

B. B、*(a[1]+1)的值为2

7 P: Y& X4 \1 ]" W+ X1 ~    C. C、**(a+1)+2的值为8

Q& y& a0 N  ^1 M  \    D. D、a[0]与a相同

: S- L/ D2 f; ^9 p1 G, Q3.关于文件的打开方式描述正确的是:(    )。          (满分:4)

, K% V9 {3 l) ]) q. Q# s1 |2 I    A. r:打开只读文件

' q" ]  ~$ @/ o8 q$ b    B. a+:打开或建立用于更新数据的文件,数据追加到文件尾& B5 v, d' ?1 Q" A4 ]6 v' \- F

C. a:打开或建立一个把数据追加到文件尾的文件# x2 V- U* L4 k4 x& J4 h9 k" H

D. r+:打开用于更新数据的文件

8 e2 y$ g% @2 o0 u: L4.以下对一维数组a进行初始化,错误的语句是(    )。          (满分:4)+ ]3 ^2 Z) g) B, |

A. int a[10]=(04 Q$ F! N: V7 r5 s, u6 p

0[( }& G- g% T! X' n

0

, t; d2 e% w" B' \    0; z( s0 B: |+ |* Z* p- m4 }. V8 T

0);

. ~% w0 C# [; z6 i) j    B. int a[10]={};, O% E/ C1 `* S1 n6 e0 u7 y  T

C. int a[10]={0};

$ q9 n9 M; t- D" ]" t    D. int a[2]={10) t4 D& J0 N9 |* ~, R0 m

9

3 t: k0 k9 K0 c& e  n    8}7 c1 m, O# O# M

5.以下不正确的叙述是(    )。          (满分:4)

3 B/ }( t! j' o( y4 I6 X5 x7 d    A. C语言的主函数是无参函数

9 b/ l9 s# V* F+ |/ ~# h    B. C语言的主函数最多允许有1个参数6 Y/ I: S- E6 P

C. C语言的主函数最多允许有2个参数

: `3 I+ U/ L% G9 e( z( F    D. C语言的主函数可以有2个以上参数6 Q( r  ]0 U9 P% k/ Y

三、判断题:2 t2 r9 ?# h+ l8 O1 I) ?& c

1.switch语句中,各个case和default的出现次序不影响执行结果。(    )          (满分:4)

8 o  i/ }3 v9 [$ V8 p    A. 错误0 D8 a3 C. q. o; x

B. 正确

- a+ l8 T3 b7 Q) Y3 e( r  p2.数据结构指的是数据的组织形式,数组就是一种数据结构(    )          (满分:4)

- {0 k. M9 b/ G. V    A. 错误7 _$ D. M% @4 @) p

B. 正确( c$ ~- O4 O$ z/ L3 C

3.switch语句中,多个case可以共用一组执行语句。(    )          (满分:4)( o' B7 v+ ?6 T

A. 错误

5 K; b/ @% P6 T9 O( O    B. 正确

' k! d: x8 q6 h/ C  B4.模运算符要求两侧均应为整型数据。(    )          (满分:4)

" i# x* n7 N' M7 G    A. 错误

; w: h+ }. a. q6 a! U$ ]9 s    B. 正确. H$ E% w. h6 I$ ]7 o4 i

5.共用体所占的内存空间大小取决于占空间最多的那个成员变量。          (满分:4)6 c6 ?. i3 u  H0 b/ O3 P

A. 错误

, D% H3 O) E) Q7 T    B. 正确1 R6 J) k' p, m  |

6.for(;;)语句相当于while(1)语句          (满分:4)" ~1 e( F6 J) E; y( y9 i0 e3 |

A. 错误) _8 T4 E4 `8 k1 z

B. 正确

$ A$ c4 F' m* o9 }6 \0 N7.语句int pt中的*pt是指针变量名。          (满分:4): f6 X! B9 q- Q% f$ Y7 e

A. 错误

$ ?4 k" ~4 D( T5 I! E% G    B. 正确: n# j/ @& i9 [/ G% F

8.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。          (满分:4)

4 p1 j9 _, K# H) b    A. 错误5 x$ I7 h0 N& f

B. 正确2 j" |+ A8 z5 L; m* e+ L! g

9.puts和gets函数只能输入或输出一个字符串          (满分:4)# H: |) @1 O& G1 B$ M; |5 [

A. 错误1 e7 w+ d0 U$ d* L- F

B. 正确. v  Q. N# g/ {! m% k5 @

10.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。          (满分:4)+ T9 p# \1 k! y- H0 H/ o

A. 错误. C" b% ]2 ]: y4 G" A/ j

B. 正确, I. T5 ^* A3 ^! Z0 l

9 h0 [( _2 Z' S

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值