C语言考试卷及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题:(共32分,每空2分)
1.能将高级语言编写的源程序转换成目标程序的是___B___。
A) 编辑程序 B) 编译程序 C) 解释程序 D) 链接程序
2.在多媒体计算机系统中,不能用以存储多媒体信息的是__A____。
A) 光缆 B) 软盘 C) 硬盘 D) 光盘
3.以下叙述中正确的是___A___
A) 构成C程序的基本单位是函数
B) 可以在一个函数中定义另一个函数
C) main()函数必须放在其它函数之前
D) 所有被调用的函数一定要在调用之前进行定义
X4.下面那一项在C语言中是非法的常量(B)C
A.—78.33
B.“”
C. ‘ax ’
D. 5.2E-3 5.下面运算符的优先级比较,正确的是(C)
A.“!=”<“+”<“=”<“&&”
B.“&&”<“!=”<“+”<“=”
C.“=”<“&&”<“!=”<“+”
D.“+”<“!=”<“=”<“&&”
6.以下选项中合法的实型常数是___C___
A) 5E2.2 B) E-3 C) 2E3 D) 1.3E
7.以下选项中合法的用户标识符是___B___
A) long B) _2Test C) 3Dmax D) A.dat
X8.C语言中的简单数据类型包括(B)。D
A)整型,实型,逻辑型B)整型,实型,字符型,逻辑型
C)整型,字符型,逻辑型D)整型,实型,字符型
X9.要求当A的值为奇数时,表达式的值为真;A的值为偶数时,表达式的值为假,以下不满足要求的表达式是(B)C
A. A%2= =1
B.!(A%2= =0)
C.!(A%2)
D.A%2
10.有以下程序段
int n=0,p;
do {scanf("%d",&p);n++;} while(p!=12345&&n<3);
此处do-while循环的结束条件是____D__
A) p的值不等于12345并且n的值小于3
B) p的值等于12345并且n的值大于等于3
C) p的值不等于12345或者n的值小于3
D) p的值等于12345或者n的值大于等于3 11.判断char型变量ch是否为小写字母的正确表达式是(D)
A. ‘a’<=ch< ‘z’
B. (‘a’<=ch) AND (‘z’>=ch)
C. (ch>= ‘a’) & (ch<=‘z’)
D. (ch>= ‘a’) && (ch<=‘z’)
12.以下关于C语言标识符的描述中,正确的是(D)
A)标识符可以由汉字组成; B)标识符只能以字母开头;
C)关键字可以作为用户标识符; D)Area与area是不同的标识符。
13.执行语句for(i=10;i>0;i);后,变量i的值为(A)
A)10 B) 9 C)0 D)1
14.putchar函数可以向终端输出一个(A)
A. 字符或字符型变量值
B. 字符串
C. 整型变量表达式的值
D. 实型变量的值
15.若用数组名作为函数调用时的实参,则实际上传递给行参的是(B)
A. 数组首地址
B. 数组的第一个元素值
C. 数组中全部元素的值
D. 数组元素的个数
16.与十进制511等值的十六进制数为___A___。
A) 1FF B) 2FF C) 1FE D) 2FE
二、写出下列数学表达式在C语言中相应的表达式表示(每题2分,共
14分)
(1)
5
4
24
1200
⨯
-
1200/(24-4*5)
(2)c×b
a2
2
+
c*sqrt(a*a+b*b)
(3) cos2(a+b) cos(a+b)*cos(a+b)
(4) 条件“50
?(5) |a+b| abs(a+b)
?(6) b-e5 b-exp(5)
X(7) lnln(x+y) ln(ln(x+y)) log(log(x+y))
三、填空题,请在下面各小题的______内填入正确的内容。(每空2分,共 30
分)
1.下列程序的功能是求1-1000之间能同时被3,5整除的数,按每行10个数的
格式输出这些数,请完成该程序。
main()
{ int __i,j=0___________;
for(i=1;i<1000;__i++_____)
{ if (__(i%3==0)&&(i%5==0)_________)
{ printf(“%4d”,i);
j=j+1;}
if(j==10){printf(“\n”); j=0}
}
}
2.根据以下if语句所给的条件,写出等价的switch语言,使它完成相同的功能,(假设score取值在0-100之间)。请在_________内填入正确内容。
if 语句:
if(score<60)k=1;
else if (score<70)k=2;
else if(score<80)k=3;
else if(score<90)k=4;
else k=5;
等价的switch语句:
switch(score/10)
{ case 0:
case 1:
case 2:
case 3:
case 4:
case 5:________k=1________________;
case 6:________k=2________________;
case 7:________k=3________________;
case 8:________k=4________________;
case 9:
case 10:_______k=5____________;
}
3. 以下程序实现输出a,b,c三个数中的最大者,请在________内填入正确的内容。
main()
{int a=4,b=6,c=7;
int__d,e___________;
if___a>b,__________d=a; else d=b;
if____d>c,_________e=d;
else e=c;
printf(“max=%d\n”,e);
}
4.下面程序的功能是读入20个整数,统计非负数个数,并计算所有非负数的和。
#include
main()
{ int i,a[20],s,count=0;
s=0;
for(i=0;i<20;__i++____)
scanf(“%d”,__a[i]_______);
for(i=0;___ i<20____;i++)
{if (a[i]<0)
_____ count++_________;
s+=a[i];
count++;
}
printf(“s=%d\tcount=%d\n”,s,count);
}
四、编程题(24分)
1.编写程序,从键盘输入梯形的上下底边
长度和高,计算梯形的面积。(注:梯形的面积计算公式为:area=
2
1
(a+b)*h 其中a,b分别表示上、下边长,h表示高)
(6分)2.编写程序判断某年是否为闰年,闰年的条件符合如下二者之一即可:(1)能被4整除,但不能被100整除。(2)能被400整除
(8分)3.“水仙花数”是指一个三位数,它的三个数位数字的立方和这个数的数值相等,编程打印所有的水仙花数。(10分)
1.
#include "stdio.h"