|
[吉林大学]吉大《C语言程序设计》在线作业一
试卷总分:100 得分:100
第1题,有以下程序: #include union pw { int i; char ch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是
A、13
B、146 c# h% i8 L' }
C、2082 |$ N/ O7 J& q+ V
D、209
正确答案:
第2题,设有以下语句: char x=3,y=6,z; z=x^y2; 则z的二进制值是4 V4 d5 h1 U' m
A、00010100
B、00011011
C、00011100! A K7 `( }0 ^
D、000110005 t) A/ x# V+ M9 B; n
正确答案:. d, Z! @3 ?5 K
4 ~8 X5 p) i9 Y8 N
第3题,下列程序的输出结果是 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y); }
A、3
B、3.2
C、0
D、3.07
正确答案:; l" F8 _! Q8 Q0 f [/ V* W9 R
第4题,以下叙述中不正确的是6 s( {* i1 l4 B" m2 h2 Z! ~, `* ~
A、在不同的函数中可以使用相同的名字的变量
B、函数中的形式参数是局部变量2 T3 C& x1 n5 J5 j. _1 v% ]' c
C、在一个函数内定义的变量只在本函数范围内有效
D、在一个函数内的复合语句中定义的变量在本函数范围内有效: M3 H4 z" `" c9 F* y
正确答案:% Y' R/ d6 K. {! Z/ n8 c
下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #include "stdio.h" main(){ int i=0,j,k;do{i++;k=316-13*i;}while(k%11);j=k/11;printf("316=13*%d+11*%d",i,j);}
A、k%11
B、k
C、k/11==0
D、k==07 q G: t- h% J, \0 Y
正确答案:
第6题,在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是% h8 u9 o; v k3 Z, A
A、17 I4 C+ h( I& j ]" ]! T# A) [
B、2! ~, Y8 g6 A3 @! K9 O& D
C、76 Q6 H T' [% ~( |% @
D、11
正确答案:: D- P4 s. i4 o* `/ S7 s$ L x) u
- c: T- H5 o& w3 F9 W ?
第7题,以下程序的输出结果是 #include "stdio.h"void reverse(int a[],int n){ int i,t; for(i=0;in/2;i++){ t=a; a=a[n-1-i]; a[n-1-i]=t; }}main(){ int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; reverse(b,8); for(i=6;i10;i++) s+=b; printf("%d\n",s);} P8 {. n7 s2 f; Z$ g5 Q# w* T
A、22
B、10' @/ l- y% m% c7 S! i
C、34# A* }3 M/ Q6 L6 C8 Z5 t- L
D、30/ H/ ?0 j9 q7 y& S0 x3 `
正确答案:# G& s( U3 Z0 v. u Q$ T Y
4 X6 `% I1 B4 j5 j* T; ]
第8题,以下程序有错,错误原因是 main() { int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ...... }9 ]$ z( Z# x) S# e1 A9 P3 H" q
A、p和q的类型不一致,不能执行*p=*q;语句$ d8 F4 a2 I: ?: W2 h9 r; k
B、*p中存放的是地址值,因此不能执行*p=40;语句
C、q没有指向具体的存储单元,所以*q没有实际意义: C- q6 E5 U5 f" M k
D、q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果) x1 c2 z. V9 `3 h
正确答案:* ^/ s+ V2 X# F, v3 C
7 F. X8 p# O- |$ u0 [
9 b" n' h) m1 Z% U' D+ J4 ^
第9题,函数 rewind 的作用是: C0 i; N& |4 t2 k7 u
A、使文件位置指针重新返回文件的开始位置. |) x" ^ t5 S, }. J0 Q
B、将文件位置指针指向文件中所要求的特定位置) N) V0 F1 z# k" M
C、使文件位置指针指向文件的末尾
D、使文件位置指针自动移至下一个字符位置. F& S# s- g8 V8 H
正确答案:+ v- F2 L5 x! `2 G2 B6 Y' B+ Y
阅读以下程序及对程序功能的描述,其中正确的描述是 #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、程序完成将两个磁盘文件合二为一的功能8 A6 f6 G0 I4 |( {8 M! X
C、程序完成将一个磁盘文件复制到另一个磁盘文件中- u- t+ ]4 A& s4 H: ]0 R& w
D、程序完成将两个磁盘文件合并并在屏幕上输出& ~' N$ T8 ~% t6 R
正确答案:1 e! g i( `8 y* G. t. b# G- N
% A5 {/ h q3 `7 @9 \( n6 m8 I6 C" m
第11题,C提供的预处理功能主要有______。$ Y% ]" I* [" N. {( U
A、宏定义5 m2 ]* k! m9 ]
B、文件包含
C、条件编译
D、异常终止
正确答案:,B,C
已知:int x,a,b;下列选项中正确的if语句是______。
A、if(a=b) x++;
B、if(a=b) x++;2 H' A% k0 T1 q+ \& X6 `
C、if(a-b) x++;
D、if(x) x++;4 Y# A& e1 K T- O$ b$ }- C
正确答案:,C,D
5 u' Q/ @' N4 n
第13题,以下说法不正确的是______。$ ?1 }( W. |8 t
A、定义函数时,形参的类型说明可以放在函数体内# u) x! u7 T7 S9 M& u0 T
B、return后边的值不能为表达式
C、如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准5 v- ?* q5 c! N0 p2 A% C+ v! ^
D、如果形参与实参的类型不一致,以实参类型为准
正确答案:,B,D% V( H9 G" M7 ~! D5 L5 Q
0 ?# e v; {6 t, C
第14题,以下叙述中正确的是______。
A、对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B、当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出"下标越界"的出错信息
C、可以通过赋初值的方式确定数组元素的个数
D、数组名代表的是数组所占存储区的首地址,其值不可改变
正确答案:,C,D
下列关于#include命令的叙述中,正确的是______。! g& E$ {# I, j" a, e' T
A、一个#include命令中只能指定一个被包含文件! S. A# ]: ~; R' Z2 G5 y" T
B、一个#include命令中可以指定多个被包含文件
C、一个被包含文件中又可以包含另一个被包含文件! Q, W6 x" a7 j2 K s, I4 \' g
D、#include命令中,文件名可以用双引号或尖括号括起来
正确答案:,C,D. `# n% T& r+ ^4 l K9 [1 X! ]2 }9 I9 q
0 e' j" f0 m/ v* a$ ^. A9 W6 W# {
% E3 [% ?% M5 y
第16题,puts和gets函数只能输入或输出一个字符串9 m% }# j0 |, f# ?) f& K: n; R
A、错误: i5 O( h2 `2 x+ ^
B、正确( x$ g0 b) Y& q" S( C: P* l
正确答案:3 l" `3 `& |) z% p) _5 }5 ?0 s5 X1 T
/ j2 E! J* ?7 A
第17题,主函数和其它函数可以相互调用
A、错误; b8 i' X9 O$ M8 q
B、正确
正确答案:2 ^! I7 }/ f* k1 J+ Y4 q3 ?7 W
1 G# Z- L+ L- |, U( `
第18题,使用printf和scanf函数时,必须添加#include stdio.h命令。( )
A、错误2 j9 }& @. }$ |7 ]! E8 O' B% O
B、正确# n2 s7 ~' M7 j, @3 A
正确答案:
第19题,switch语句中,多个case可以共用一组执行语句。( )( f+ v2 j" V+ ?8 \+ t+ K
A、错误 S- ~! G! r) N% \1 k9 G& {
B、正确
正确答案:
调用函数只可得到一个返回值,而用宏可以设法得到几个结果。6 X) ]2 t5 \# p H" }7 r
A、错误
B、正确
正确答案:3 z" k& k" r; r, Q7 l2 E
4 g% U9 A. Y- z& L. F" h+ Z1 S
第21题,数据结构指的是数据的组织形式,数组就是一种数据结构( )
A、错误
B、正确: s( E( ^6 o+ A0 O2 W$ T% D
正确答案:
! V8 V, ]" \- G7 ]* ~& K/ }, b
( D8 @* u$ S v( N2 k1 v
第22题,C程序中各函数之间既允许直接递归调用也允许间接递归调
A、错误
B、正确4 y) \ L; W- a/ V
正确答案:% M$ ], M- E& m! F
第23题,静态外部变量既可以在文本文件中引用,也可以在其它文件引用
A、错误
B、正确. ?: y1 {8 B7 ~. H
正确答案:
. \9 v9 ^: b, Y- \9 p* s
2 f; o4 X& Z) D; m
第24题,C程序的执行总是从第一个定义的函数开始& G; y: ~" L0 m' e
A、错误' {) H. Z+ V; D
B、正确% t2 V$ X% ]9 F& d" Q
正确答案:; b4 U, @- W5 N' W1 P) l
若打开文件的方式为"w"而该文件已经存在,则文件中原有数据被清除。
A、错误
B、正确
正确答案: |
|