|
-[吉林大学]吉大《C语言程序设计》在线作业一+ Y# n3 R* V; Z- W! C X4 h
试卷总分:100 得分:100% _8 H/ @6 h' W' o& i! v. k
第1题,一个C语言程序是由
A、一个主程序和若干子程序组成# v7 h0 o3 e& r( X; H
B、函数组成; D6 Q6 e% }+ i1 O1 ~# ` Q$ V
C、若干过程组成
D、若干子程序组成/ i" I3 `6 @' d0 g2 j8 A
正确答案:1 S) s7 }& s& s# d# @- p& _
" e' x' k7 Q0 E# [% Y
第2题,有如下程序: long fib(int n) { if(n2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是9 c5 `6 u9 S$ d
A、2
B、49 [$ `% w! s7 t2 H0 w, ?
C、60 \! U! o6 \) {1 o
D、8
正确答案:- Y4 j, k3 }' u0 v3 L$ j$ ~
8 x2 }5 w/ c% C: C9 q
第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"))==NUL
A、程序完成将磁盘文件的信息在屏幕上显示的功能
B、程序完成将两个磁盘文件合二为一的功能' ^, E1 M; f6 C* ]9 b
C、程序完成将一个磁盘文件复制到另一个磁盘文件中8 Y; S8 d# J% G- m5 X7 Z- f' h$ ?
D、程序完成将两个磁盘文件合并并在屏幕上输出' _4 b. Q0 S9 z9 O1 D
正确答案:
l- T4 ]; \, O
第4题,以下叙述中不正确的是
A、在不同的函数中可以使用相同的名字的变量9 \: p. ?: j5 m) @7 ]3 `) J. z, L
B、函数中的形式参数是局部变量
C、在一个函数内定义的变量只在本函数范围内有效5 z/ D+ Y# W+ x0 c
D、在一个函数内的复合语句中定义的变量在本函数范围内有效
正确答案:7 c# e# \: O8 `& e
,下列程序的输出结果是 int b=2; int func(int *a) { b += *a; return(b);} main() { int a=2, res=2; res += func(&a); printf("%d\n",res); }0 [2 y1 ^6 _0 j
A、41 E4 o$ w& X, ?$ P0 V% V) H
B、6
C、8
D、10
正确答案:0 k% S$ N. J$ y. P2 E1 Q" q! |9 X2 Z
. j) g6 x) m- I3 T: B6 q5 e
第6题,C语言中,能识别处理的文件为
A、文本文件和数据块文件+ R: t' I0 w5 x
B、文本文件和二进制文件
C、流文件和文本文件
D、数据文件和二进制文件
正确答案:- }$ S6 u/ ?$ u/ u* ~
7 b2 S/ P2 d, r
第7题,下列程序的输出结果是 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y); }+ c# @, B$ p+ u, w
A、3& J7 b: ?; \, I5 @6 U
B、3.28 h0 A6 _" s4 V: l/ c, \4 ?: y
C、0+ ?4 c( g. m) \# V+ {6 u
D、3.07: k6 h1 z2 Q, Y# X3 U
正确答案:
第8题,以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... }
A、语句 void prt_char();有错,它是函数调用语句,不能用void说明* j; n4 P; @% M0 f% @2 |
B、变量名不能使用大写字母
C、函数说明和函数调用语句之间有矛盾
D、函数名不能使用下划线: _ O i! ]4 k# u7 T
正确答案:
1 L3 k- q$ v* F) z5 v' v% f
第9题,以下程序有错,错误原因是 main() { int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ...... }
A、p和q的类型不一致,不能执行*p=*q;语句& Q7 D: i7 H4 s. h% w5 w
B、*p中存放的是地址值,因此不能执行*p=40;语句0 U5 b" r; q2 M8 B2 \5 T& A
C、q没有指向具体的存储单元,所以*q没有实际意义
D、q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果% Z/ f$ P7 g: G: _; e8 |1 B V0 V
正确答案:5 Q3 g. w- c7 _0 A$ p; H8 [; f* z0 d
1 N3 I- {7 C3 a0 o3 X* l: W* n
,下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));} n7 h" N' p" p) a6 ?
A、3
B、4
C、1. Z. a4 U) v" d# A N/ S
D、29 F5 `7 r. O$ Z
正确答案:2 N8 w4 _' ~+ u" _& M7 i
第11题,以下不正确的描述是______。
A、函数的定义可以嵌套,函数的调用不可以嵌套4 s$ v# X( E1 [, ~2 O/ {7 R8 l
B、函数的定义不可以嵌套,函数的调用可以嵌套! M: k+ e& A% W! g. n @; m: K
C、函数的定义和函数的调用均可以嵌套
D、函数的定义和函数的调用均不可以嵌套, }4 r; c# Q" R* a) [
正确答案:,C,D' d2 s. ]4 a3 U8 [
: Y& T6 n1 d- B: e5 e
! g6 j/ W. ~* L; x! f' I
,关于文件的打开方式描述正确的是:______。0 d) ~, y; C1 m+ z
A、r:打开只读文件/ U. f% s b1 ]) v
B、a+:打开或建立用于更新数据的文件,数据追加到文件尾& O4 B1 r/ I1 @ b! h1 }9 F
C、a:打开或建立一个把数据追加到文件尾的文件* r+ S, _2 C, l) g1 {4 { F+ ]
D、r+:打开用于更新数据的文件
正确答案:,B,C,D$ E3 @. M1 F8 _% f) a z7 @# w
f3 z# y- E# H0 u* U
第13题,设有如下定义:int (*ptr)();则以下叙述中不正确的是______。2 d1 q: {; y' V7 y" W
A、ptr是指向一维数组的指针变量
B、ptr是指向int型数据的指针变量0 u) W% b# b) k" D% F3 x
C、ptr是指向函数的指针,该函数返回一个int型数据
D、ptr是一个函数名,该函数的返回值是指向int型数据的指针
正确答案:
: } b) y) n: R2 k" `* v! Z
第14题,在动态存储区中主要存放以下数据______。
A、函数形式参数
B、自动变量3 T X6 S$ i$ H4 D4 Y; g
C、函数调用时的现场保护和返回地址6 d9 @$ c) E; p% H) V; F
D、全局变量9 ?' z' [' B( R- g7 q) Z6 U6 f, X
正确答案:,B,C
,C语言中函数返回值的类型与下列哪项无关? M! r, h% E2 i7 ~
A、定义函数时所指定的函数类型7 M: E2 h1 n0 u( m8 T" s
B、调用函数时临时
C、调用该函数的主函数类型+ r2 u, t* s$ I
D、return语句中的表达式类型1 Z3 y5 ^4 f* ]7 _, I. ?
正确答案:,C,D
第16题,C程序中各函数之间既允许直接递归调用也允许间接递归调3 `- d2 a# I$ n' K1 Z; h
A、错误, f6 t2 I$ u( d3 E
B、正确. r0 s$ k/ L) ?* V& E0 t
正确答案 U0 P4 f8 u9 L( p& Q
' k+ m/ H: X8 }$ m- q* W @
第17题,for(;;)语句相当于while(1)语句9 k5 ]6 m& E- ?, ^0 A* a5 x
A、错误
B、正确
正确答案:& v, R0 E8 }5 L
) {3 F7 z8 B$ f6 Z+ Y/ U8 ^
第18题,对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。 P, d0 D. }9 ?
A、错误9 G6 _4 x5 V" v1 E0 c
B、正确
正确答案:
, A" ^: G# @: u5 n
第19题,函数必须有返回值,否则不能使用函数" X- O4 F; W$ o( Q
A、错误# I9 e- ~2 {4 @% U1 S! k$ x& _
B、正确
正确答案:/ L6 p2 v7 p$ d7 i: P
/ \, E' h5 q' i3 m R( v6 y* U$ \
使用getchar函数可以不添加#include stdio.h命令。( )0 ?! i* A$ m9 N) J' b: R% G5 B
A、错误
B、正确
正确答案:; t1 p6 p) {4 ?' n3 W% v
9 X" ~' f) e* N) Y* B9 I- H
' c" _! t3 p2 H6 w3 l5 }) z
第21题,puts和gets函数只能输入或输出一个字符串! B0 F8 S& ? E# i
A、错误
B、正确: _. y5 c* d- U& W. g) V
正确答案:# A+ ?7 V1 o, y. ?1 t0 X
第22题,switch语句中,各个case和default的出现次序不影响执行结果。( )
A、错误
B、正确
正确答案:
第23题,宏名必须用大写字母表示。& i' S' ^. s( r* {
A、错误
B、正确
正确答案:
! y1 U1 G& _ Y$ ~9 H! V$ y
第24题,语句int pt中的*pt是指针变量名。3 E7 P. H. R( o! I
A、错误8 Y n5 m' |- k1 C; i. m2 Q
B、正确5 M' k) l2 c, x" V; F p
正确答案:" s* a6 k' u, m+ R, D& L
. ?/ w- W" Y2 u! V1 T
,C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
A、错误% X* z5 ^& A0 v' S5 p I
B、正确) Z( Q1 E. M; [/ b5 S% C/ Y
正确答案: |
|