|
资料来源:谋学网(www.mouxue.com)C语言程序设计-[吉林大学]吉大《C语言程序设计》在线作业一
/ \! `3 @- I+ \$ g6 s试卷总分:100 得分:100
I8 k% a0 F N6 E2 u/ R0 W第1题,一个C语言程序是由
" d, B+ Q: V9 L" W H3 lA、一个主程序和若干子程序组成, v; r1 @% C, a/ p; y# s0 L, S
B、函数组成
3 G5 \7 c, E$ {- u$ dC、若干过程组成
& E$ T& M3 n2 z" o& M( o' f- _D、若干子程序组成- T f# {5 \; @
正确资料:9 T+ Z1 V5 l2 Q3 g, p O! _
2 i% r/ U" Y1 g* M2 t9 u* j2 O4 _# q) B% `3 s
第2题,有如下程序: long fib(int n) { if(n2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是
' z1 e/ |2 A0 v+ {8 a1 j/ v. n8 E% kA、2% }$ u9 K0 h% [2 L9 m9 F
B、45 S# d2 H6 j4 z9 k% F
C、6
, V0 l2 r, @" t1 d' k% R" i- ND、8
f9 s- g& a5 | E" D1 l正确资料:# L$ N) r3 c2 Z
* R. i( N2 p0 V* D: @
& ~. k& w5 I* S; @9 ]第3题,阅读以下程序及对程序功能的描述,其中正确的描述是 #include main() { FILE *in,*out; char ch,infile[10],outfile[10]; printf("Enter the infile name:\n"); scanf("%s",infile); printf("Enter the outfile name:\n"); scanf("%s",outfile); if((in=fopen(infile,"r"))==NUL9 m, G+ Z( X! k
A、程序完成将磁盘文件的信息在屏幕上显示的功能1 m" o7 g0 a$ H* x& [( ]/ a
B、程序完成将两个磁盘文件合二为一的功能
% [1 Q' H; l% X* uC、程序完成将一个磁盘文件复制到另一个磁盘文件中; }5 o2 R" M* C) g) Q6 H5 d; U
D、程序完成将两个磁盘文件合并并在屏幕上输出# T' a' K9 h y* I: ?) K( z5 l
正确资料:9 X$ Y3 @# o$ L& H* ^
I, ^/ a, d) j5 Y! V Y4 f2 l5 @! v# v# l: C; l& ~' H
第4题,以下叙述中不正确的是! j/ _) O8 i( b O
A、在不同的函数中可以使用相同的名字的变量
% m3 q' ]0 ]6 q" B" d8 vB、函数中的形式参数是局部变量
* d# ~6 @0 i. |, t3 TC、在一个函数内定义的变量只在本函数范围内有效
" X7 V. ], }" P) A- @" U3 _D、在一个函数内的复合语句中定义的变量在本函数范围内有效! G1 a+ L" W/ `4 @# K8 E& s
正确资料:
$ H" ?+ k M6 q; U9 n7 C1 B, s0 ~
2 f0 {7 W& b' Z4 F! |, ^. f2 z! F
$ d" J K3 {, X& A4 I资料来源:谋学网(www.mouxue.com),下列程序的输出结果是 int b=2; int func(int *a) { b += *a; return(b);} main() { int a=2, res=2; res += func(&a); printf("%d\n",res); }
. i9 U9 [" [; L1 W J: \A、4
6 I/ l m. L- KB、6( e1 V7 {5 I: r% H8 M! U
C、83 C1 v& w; t: _# b, W: {
D、10% E5 u1 X2 @2 V% H. m
正确资料:( g6 B' A6 c1 d" @8 {( o
1 u0 O$ Y( `/ W: s1 T& p/ V s: z5 Z2 t0 x* T) r3 c% D
第6题,C语言中,能识别处理的文件为- o7 F0 p! o6 I0 I5 y2 S# ]
A、文本文件和数据块文件
9 W# z% z( d1 M( zB、文本文件和二进制文件
; M2 l9 ^8 d: B$ X3 zC、流文件和文本文件+ f& `* A" T; x- [* T
D、数据文件和二进制文件" O" M6 q& {5 z+ y& F/ o9 Q
正确资料:, K) k; C; c6 d/ J& J( G5 F9 C
# o0 p, \% e L0 Y
& [/ B c! \6 ^, P第7题,下列程序的输出结果是 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y); }
. }- ~ c7 v" M( V- CA、3
, U' t0 p; ?6 v% S* |# zB、3.2
6 _$ ]8 R( ]" R0 m$ P! {# }C、0: H% P/ d/ B; x: t. h
D、3.07
) \# A0 f i" S) V正确资料:1 z* @- K( _5 K& I0 l! H
# n. p, v8 h1 Y. x
/ _+ _' o! j- r/ K( ~第8题,以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... }
1 y( d! B0 A% g' j* v4 c" g7 Y7 MA、语句 void prt_char();有错,它是函数调用语句,不能用void说明
( a g& l Y% s w$ W. RB、变量名不能使用大写字母
1 K0 N" m- U& }& B& E" k/ C8 TC、函数说明和函数调用语句之间有矛盾6 I: k2 y2 [8 K0 X6 c
D、函数名不能使用下划线
! k" ~ D! `: Q. l正确资料:! ^' {9 p! ?' @1 x3 x, }4 G
1 D% s$ w4 i+ B$ _- B* L( A7 ^5 T* c9 P5 u: s8 @" y5 O; V
第9题,以下程序有错,错误原因是 main() { int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ...... }/ V# w! C, R7 `, T
A、p和q的类型不一致,不能执行*p=*q;语句
/ G4 F0 h8 H8 D5 \4 i/ L. uB、*p中存放的是地址值,因此不能执行*p=40;语句4 R6 W7 B- F7 c: @1 Y2 J
C、q没有指向具体的存储单元,所以*q没有实际意义! P+ U, K! a# ^" F+ s; Z
D、q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
8 [! |4 x! H4 F$ X% d! g, [正确资料:1 a) j3 @! B+ H1 j( J
1 D: A/ q4 t1 E' F' K A) y9 l7 C
: t- H( f1 b0 g9 F资料来源:谋学网(www.mouxue.com),下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}3 ?3 }* h. Z' F% w+ h" ^
A、3) E* h# D0 I9 {5 N7 e) y8 S$ w
B、4
- a$ w' D6 t; SC、1
: A# Q$ Q+ G" u; MD、24 ~2 v0 t5 u. |5 s7 @( [
正确资料:
: r& v n7 I0 i" U* L
. y( B: \5 T. L3 R) c+ v$ U/ `& e: p8 v) z9 v; D% t( v
第11题,以下不正确的描述是______。
# [& Z/ z9 D& @8 oA、函数的定义可以嵌套,函数的调用不可以嵌套
8 W2 e4 z3 W& R/ u( C6 w, J: PB、函数的定义不可以嵌套,函数的调用可以嵌套
0 {9 g% w/ z5 P$ m$ @+ [6 HC、函数的定义和函数的调用均可以嵌套
* n5 w' ?, S( a4 {! kD、函数的定义和函数的调用均不可以嵌套
, @. i% Q' l( {# p6 ^* k, V- M正确资料:,C,D9 z6 V8 j4 v2 |* E* S$ Y) R5 i
7 f1 w$ I6 p/ v2 U) Z" l" S/ ?1 o& ?( K0 v9 w/ M. x; t9 s
资料来源:谋学网(www.mouxue.com),关于文件的打开方式描述正确的是:______。9 g+ M# j$ U+ g! v" o, k) O
A、r:打开只读文件; w+ y+ W# c8 l; r
B、a+:打开或建立用于更新数据的文件,数据追加到文件尾, V O" ]5 r5 Y- `, `
C、a:打开或建立一个把数据追加到文件尾的文件 z4 E0 V" W. j, S; S6 P8 g V# X
D、r+:打开用于更新数据的文件, Z5 {0 L5 C7 G) T
正确资料:,B,C,D# c; ]8 P. I- m4 a& X& }/ w
' ]/ \; B% {9 c* p# ~
* g7 }- G" D7 t& f第13题,设有如下定义:int (*ptr)();则以下叙述中不正确的是______。
- d- J2 d# H: W! T# u _! m# aA、ptr是指向一维数组的指针变量$ }8 F* Q$ J7 n
B、ptr是指向int型数据的指针变量6 E3 x# N G; v8 E3 b
C、ptr是指向函数的指针,该函数返回一个int型数据' Q- B% s- t/ L$ n, ]
D、ptr是一个函数名,该函数的返回值是指向int型数据的指针
- h4 ?4 M5 k( O% |- w2 ?正确资料:,B,D
2 [, R* R& u; F& L% D" H9 C
! u, L9 D1 v2 x6 ^& Y7 A6 e4 Q) {2 n' e* y& I1 f/ }1 P. e3 ^
第14题,在动态存储区中主要存放以下数据______。
2 k6 U- I* j B) |$ o. KA、函数形式参数5 L3 S6 l+ q8 O& [& ?
B、自动变量- j! P l f, v, S2 a0 u
C、函数调用时的现场保护和返回地址: G$ X8 s4 X# @# m- B
D、全局变量3 g/ K8 C; V& C: d2 x( j
正确资料:,B,C1 B$ {* U: z# f/ s
) u/ |2 {, T& \/ u: F7 n: Z6 q3 s) E) [* L/ |
资料来源:谋学网(www.mouxue.com),C语言中函数返回值的类型与下列哪项无关?
. y- ^0 b) l& H8 I0 W) GA、定义函数时所指定的函数类型
8 O6 H# R( {% @) z( w9 y& e6 fB、调用函数时临时7 z( n D k; k+ H+ R( _
C、调用该函数的主函数类型
. w' X0 Z6 B: ^6 c, TD、return语句中的表达式类型* Y0 z& P2 _; F' z! }- o
正确资料:,C,D$ m& x2 ~5 x5 ^( [$ K9 z- A. T
0 s: p7 w1 G$ E) Y/ b
2 c- b# i2 E: ~第16题,C程序中各函数之间既允许直接递归调用也允许间接递归调0 B; x Z. i" t. U C# K% ]% Y
A、错误
8 x& a* m9 t% E3 @, k# Y5 R! GB、正确+ v# T+ z* C5 C1 b& G
正确资料:
% n8 a, V5 M$ A# T) G% }3 r- m/ f: J3 K
4 D- O; V9 G8 d3 \( p( W第17题,for(;;)语句相当于while(1)语句
: O$ D* Q/ w z2 V: zA、错误
4 R0 i7 y' [) Z" Q9 K: iB、正确3 g' f$ `/ \8 c9 x) ]7 ]3 E
正确资料:$ U. Y2 ~2 h& i$ `- z; {7 L
$ ?0 X4 r" g3 Q# \7 f' ?& J$ J2 X) @# \/ G- Y8 f
第18题,对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。
2 ~( i( C8 C. A4 w$ K2 DA、错误
, P8 \ Q& D% m$ r6 g& a8 |B、正确7 [+ ~1 N2 d& Q3 l7 L9 q8 n
正确资料:- Z$ t3 Q5 [1 P, T6 L9 ~- i( ~2 C
0 i ^6 S& b* T- R6 `/ Z
1 ?, Y+ Z. A' _第19题,函数必须有返回值,否则不能使用函数7 x. B4 N) N1 W2 ]: z" r; I! f
A、错误
2 B5 o. t) b8 ? j3 Y' k, K5 }B、正确
: g9 s. e1 {% [; u# l% u正确资料:( U+ k* U4 x+ G
: o* {2 `( z/ R$ A" P' i
7 F1 h- |4 W6 @9 t
资料来源:谋学网(www.mouxue.com),使用getchar函数可以不添加#include stdio.h命令。( )8 e# C! }' M) F0 R
A、错误
9 }$ M$ ~ A5 BB、正确
2 o/ ?7 H2 K" G( m6 F6 y5 L# x正确资料:
& T% a/ E) g1 M/ S7 `4 j# S* _" _8 M1 y( \! V
& `" K" J* r+ E( ?, _' C, z第21题,puts和gets函数只能输入或输出一个字符串
9 L9 u2 o3 U8 l: I3 A9 S! PA、错误
- N' S8 b6 }0 ]# L, W% hB、正确
3 n( ? x: N6 X: s正确资料:0 v2 H( u* `* U# y* ?
. Q7 ~( G" y1 C' k& Y
) k! f3 \& a B/ ^第22题,switch语句中,各个case和default的出现次序不影响执行结果。( )3 e% C/ J3 b) N! Q5 t+ P. R# z6 M
A、错误
+ w* g" d8 l: K" f, f+ _8 X$ OB、正确
$ s0 _/ \0 k3 q4 U' x正确资料: r. q8 X% G' Y' j1 g+ V, ~
6 \- `8 x. X# @1 Q) Z1 b) z5 T1 w2 ~& y* O+ \
第23题,宏名必须用大写字母表示。/ G$ \% s9 a7 K% z0 C3 b
A、错误2 X8 N6 D m- q+ g! U4 p
B、正确
9 H) s# y9 g! i2 S6 ^4 W正确资料:
0 F7 J# @% Q0 z: K
4 [8 i" y) [. z% s* [6 M1 i
$ {. v, |9 K3 Z! I8 [# [" Z; k, L第24题,语句int pt中的*pt是指针变量名。$ ]$ T, ?" w+ S8 |4 O2 C
A、错误$ L$ {$ G$ g# H2 l" W
B、正确
+ ?: N8 S; T+ w* L) \# A正确资料:
# n% d$ h' q8 r1 \8 X% M6 i% o
( a0 U, g5 G/ H a9 w( Q' q' s6 j/ [$ ^6 k9 C! Y* N
资料来源:谋学网(www.mouxue.com),C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )9 @, c8 d# D t- k1 l" F+ @* |
A、错误
: k$ i0 k- J6 [2 U5 r/ G* M7 ~0 {8 b) DB、正确
6 X& |0 c% L/ i; a. d# j正确资料:# O# d6 X$ {( r9 \& j, w* I3 N/ z
. S7 u% ]; |; a2 W9 h2 B0 k7 g
6 L( k7 z4 x9 u# W( h; X
8 b- [6 [9 D# S" \: b
+ B* }, W! Q7 n* t
9 x- ~. E' E; x
( U0 y, m+ H6 Z& h( D/ Z
9 m* C& L( s u% C+ @
1 q3 D7 h7 }8 D3 `+ Q6 T: `1 b! a8 q# x( ]' f
# N- R% {: }. T& m
5 b4 i0 M8 @) u/ Z+ `% a% n
1 g5 _" E- n4 U4 {4 L
# Z) O4 J( f# i8 T" p# k; i& ^3 \% q: @* |) a9 i1 m
|
|