第 PAGE 5 页共 NUMPAGES 7 页
《C语言程序设计》期中测验
班级学号 姓名: 李天一 成绩
题号
一
二
三
四
分数
选择或填空题(每小题2分 共20分)
D1.以下叙述正确的是 。
A.do-while语句构成的循环不能用其它语句构成的循环来代替。
B.do-while语句构成的循环只能用break语句退出。
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D.用do-while语句构成的循环,在while后的表达式为零时结束循环。
A2. C语言中运算对象必须是整型的运算符是 。
A. %? B. / C. =???? ? D. *
A3.将高级语言编写的程序翻译成机器语言程序,采用的两种翻译方式是
A. 编译和解释 B. 编译和汇编
C. 编译和链接 D. 解释和汇编
B4.以下符号在C语言中 不能用作用户标识符。
A. _256? B. 3char C. abc???? ? D. ds3
C5. 下列能正确表示a≥10或a≤0的关系表达式是 。
A. a>=10 or a<=0 B. a>=10 | a<=0
C. a>=10 || a<=0 D. a>=10 && a<=0
6.C语言中用 1 表示逻辑值“真”,用 0 表示逻辑值“假”。
7. 微机中1个字节表示的二进制位数是 8位 。
D8. 若int a=10;执行下列程序后,a变量的正确结果是:
switch (a)
{ case 9: a+=1;
case 10: a+=1;
case 11: a+=1;
case 12: a+=1;
}
A. 10 B. 11 C. 12 D. 13
D9. 若变量已正确定义且k的值是5,计算表达式(j=k--)后,__ _是正确的。
A.j=5,k=5 B. j=5,k=4????? C. j=4,k=5??? ???D. j=4,k=4
C10. 字符“a”的ASCII码的十进制表示为97,那么数字字符“d”的ASCII码的十进制表示为
A.98 B.99
二. 完成下列各题
1. 下面这个程序用于读入5个整数,当程序读入的数据n为正整数时,则显示该数,请补充程序。(5分)
#include
void main()
{int i=1, n;
while(i<=5)
{
printf("Please enter n:");
scanf(("%d",&n);
if (n > 0) printf("%d\n",n);
i++;
}
printf("Program is over!\n");
}
2. 改写下段程序,实现从控制台输入任意字符如果是大写转换成小写,如果是小写转换成大写,其它字符原样输出。(10分)
#include
void main()
{ char c1,c2;
c1=’A’;
c2=c1+32;
printf("%c\n",c2);
}
答案代码:#include
void main()
{
char c1,c2;
printf("输入一个字母\n");
scanf("%c",&c1);
if(c1>='A'&&c1<='Z')
{
c2=c1+32;
printf("%c\n",c2);
}
if(c1>='a'&&c1<='z')
{
c2=c1-32;
printf("%c\n",c2);
}
}
3. 下列程序有何错误?请改正。(10分)
#include
void main()
{short x,y,z;
x=200;
y=300;
z=x*y;
printf("%d\n",z);
}
答案代码:
#include
void main()
{
int x,y,z;
x=200;
y=300;
z=x*y;
printf("%d\n",z);
}