C语言期末考试题含答案.docx
《C语言期末考试题含答案.docx》由会员分享,可在线阅读,更多相关《C语言期末考试题含答案.docx(9页珍藏版)》请在冰豆网上搜索。
C语言期末考试题含答案
《C语言程序设计》期末试卷
欧阳光明(2021.03.07)
一、单项选择题(10x2’=20’)
1、以下叙述正确的是()
A)C语言的源程序不必通过编译就可以直接运行。
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C)C语言源程序经编译形成的二进制代码可以直接运行。
D)C语言中的函数不可以单独进行编译。
2、一个C语言的源程序中()
A)必须有一个主函数 B)可能有多个主函数
C)必须有除主函数外其它函数 D)可以没有主函数
3、以下不能定义为用户标识符的是()
A)scanf B)Void C)_3com D)int
4、若以下选项中的变量已正确定义,则正确的赋值语句是()
A)x1=26.8%3; B)1+2=x2; C)x3=0x12; D)x4=1+2=3;
5、设有定义:
floata=2,b=4,h=3;以下C语言表达式中与代数式
的计算结果不相符的是()
A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)
6、C语言中用于结构化程序设计的3种基本结构是()
A)顺序结构、选择结构、循环结构
B)if、switch、break
C)for、while、do-while
D)if、for、continue
7.在while(!
x)语句中的!
x与下面条件表达式等价的是()
A)x!
=0B)x==1C)x!
=1D)x==0
8、有以下程序:
#include
voidmain(){
inti=1,j=1,k=2;
if((j++||k++)&&i++)
printf(“%d,%d,%d\n”,i,j,k);}
执行后的输出结果是()
A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3
9、有以下程序:
#include
voidmain(){
inti,s=0;
for(i=1;i<10;i+=2)
s+=i+1;
printf(“%d\n”,s);}
程序执行后的输出结果是()
A)自然数1~9的累加和 B)自然数1~10的累加和
C)自然数1~9中奇数之和 D)自然数1~10中偶数之和
10、有以下函数定义:
voidfun(intn,doublex){……}
若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()
A)fun(inty,doublem); B)k=fun(10,12.5);
C)fun(x,n);D)voidfun(n,x);
二、填空题(10x2’=20’)
11、C语言描述“x和y都大于或等于z”的表达式是:
。
12、函数定义时涉及的基本要素是:
、、。
13、C语言可以用来实现循环的结构化语句是:
、、。
14、判断整型变量a即是5又是7的整数倍的C语言表达式是:
。
15、若x和n都是int型变量,且x和n的初值都是6,则计算表达式x+=n++后,x的值为:
,n的值为:
。
三、写出下列程序的运行结果(3x5’=15’)
16、程序1
#include
voidmain(){
inta=12,b=12;
printf(“%d,%d\n”,--a,++b);}
程序执行后的输出结果是:
17、程序2
#include
voidmain(){
inta=5,b=4,c=3,d=2;
if(a>b>c)
printf(“%d\n”,d);
elseif((c-1>=d)==1)
printf(“%d\n”,d+1);
else
printf(“%d\n”,d+2);
}
程序执行后的输出结果是:
18、程序3
#include
voidmain()
{
intx=0,y=5,z=3;
while(z-->0&&++x<5)
y=y-1;
printf(“%d,%d,%d\n”,x,y,z);
}
程序执行后的输出结果是:
四、编程题(3x15’=45’)
19、编写一个程序。
实现输入一个小写字母,程序输出它对应的大写字母。
(提示:
小写字母的ASCII码值比大些字母大32)
20、编写一个程序,计算100+101+102+…+300的值。
21、已知学生成绩(100分为满分)与等级的对应关系为:
成绩(grade)
等级
90<=grade<=100
A
80<=grade<90
B
70<=grade<80
C
60<=grade<70
D
grade<60
E
请你编写一个程序,要求:
输入学生成绩,输出学生成绩对应的等级。
(提示:
使用switch….case语句)
期末试题答案
1、B
2、A
3、D
4、C
5、B
6、A
7、D
8、C
9、D
10、C
11、x>=z&&y>=z
12、函数名、形式参数、函数体
13、while、do-while、for
14、a%5==0&&a%7==0
15、12,7
16、11,13
17、3
18、3,2,-1
19、程序代码如下:
#include
voidmain()
{
charch;
scanf("%c",&ch);
printf("%c\n",ch-32);
}
20、程序代码如下:
#include
voidmain()
{
inti,sum=0;
for(i=100;i<=300;i++)
sum+=i;
printf("sum=%d\n",sum);
}
21、程序代码如下:
#include
voidmain()
{
intgrade;
scanf("%d",&grade);
switch(grade/10)
{
case10:
case9:
printf("A\n");
break;
case8:
printf("B\n");
break;
case7:
printf("C\n");
break;
case6:
printf("D\n");
break;
default:
printf("E\n");
break;
}
}
期末试题答案备用卷
1、B
2、A
3、D
4、D
5、B
6、A
7、A
8、B
9、B
10、A
11、整型、实型、字符型
12、3
13、2,1
14、9,0
15、return
16、double
17、7
18、2
19、2,1,1
20、程序代码:
#include
voidmain()
{
inta,b,c;
floatpinjun;
scanf("%d%d%d",&a,&b,&c);
pinjun=(a+b+c)/3.0;
printf("%.2f\n",pinjun);
}
21、程序代码:
#include
voidmain()
{
inta;
scanf("%d",&a);
if(a<0)
a=-a;
printf("%d\n",a);
}
22、程序代码:
#include
voidmain()
{
floatx,y;
scanf("%f",&x);
if(x<=0)
y=3*x+5;
elseif(x>0&&x<=1)
y=x+5;
else
y=-2*x+8;
printf("%.2f\n",y);
}