北京工业大学计算机专业近几年c语言期末考试题
北京工业大学实验学院2012―2013学年第一学期
《计算机导论》(A)卷课程试卷
适用专业:计算机科学与技术考试方式:机考考试时间:2012年12月
班级学号12570219姓名:李志伟成绩
得分登记(由阅卷教师填写)
题号一二三四
分数
考生须知:
提交考试结果:
编程题将程序源代码粘贴到试卷相应题目下端,以学号姓名命名文件。
选择或填空题(每小题2分共20分)
1.完整的计算机系统应包括(B)。
A.主机和外部设备B.硬件系统和软件系统
C.操作系统和应用软件系统D.输入设备和输出设备
2.以下叙述正确的是。
A.do-while语句构成的循环不能用其它语句构成的循环来代替。
B.do-while语句构成的循环只能用break语句退出。
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D.用do-while语句构成的循环,在while后的表达式为零时结束循环。
3.C语言中运算对象必须是整型的运算符是。
A.%=
B./C.=
D.*
4.将高级语言编写的程序翻译成机器语言程序,采用的两种翻译方式是
A.编译和解释B.编译和汇编
C.编译和链接D.解释和汇编
5.微型计算机系统的中央处理器是由组成的
A.内存储器和控制器B.主存储器和运算器
C.控制器和运算器D.内存储器.控制器和运算器
6.以下符号在C语言中不能用作用户标识符。
A._256
B.3charC.
abcD.ds3
7.计算机能直接执行的程序设计语言是。
A.C B.BASIC
C.机器语言 D.汇编语言
8.下列能正确表示a≥10或a≤0的关系表达式是_______。
A.a>=10ora=10|a<=0
C.a>=10||a=10&&a<=0
9.C语言中用1表示逻辑值“真”,用0表示逻辑值“假”。
10.微机中1个字节表示的二进制位数是8位数。
二.完成下列各题
1.下面这个程序用于读入5个整数,当程序读入的数据n为正整数时,则显示该数,请补充程序。(5分)
#include
voidmain()
{inti,n;
for(i=1;i<=5;i++)
{
printf(Pleaseentern:);
scanf(“%d”,&n);
if(n>0)printf(“该整数为:%d”,n);
}
printf(Programisover!\n);
}
2.改写下段程序,实现从控制台输入任意字符如果是大写转换成小写,如果是小写转换成大写,其它字符原样输出。(10分)
#include
voidmain()
{charc1,c2;
c1=’A’;
c2=c1+32;
printf(%c\n,c2);
}
答案代码:
#include
voidmain()
{charc1,c2;
printf(请输入一个字符:);
scanf(%c,&c1);
if(c1='a')
{c2=c1-32;
printf(大写字母为:%c\n\n,c2);}
elseif(c1='A')
{c2=c1+32;
printf(小写字母为:%c\n\n,c2);
}
else
printf(原字符为:%c\n\n,c1);
}
3.下列程序有何错误?请改正。(10分)
#include
voidmain()
{shortx,y,z;
x=200;
y=300;
z=x*y;
printf(%d\n,z);
}
答案代码:
#include
voidmain()
{intx,y,z;
x=200;
y=300;
z=x*y;
printf(%d\n,z);
}
4.阅读程序,补充程序的功能。(10分)
从键盘任意输入一个年号(year),判断它是否是闰年。若是闰年输出“它是闰年”,否则输出“它不是闰年”。已知符合下列条件之一者是闰年:能被4整除,但不能被100整除。能被400整除。
#include
voidmain()
{intyear,flag;
printf(Enteryear:);
scanf(%d,&year);
if((year%4=0&&year%100!=0)||year%400=0)
{flag=1;
}
else
{flag=0;
}
if(flag=1)
{
printf(它是闰年\n);
}
else
{
printf(它不是闰年\n);
}
}
三、编写程序,并调试程序正确运行。
1.编写一个程序,从键盘输入某计算机的价格,再输出该价格打7折后的价格。(15分)
答案代码:
#include
#include
intmain()
{
floata,b;
printf(输入一台计算机的价格:);
scanf(%f,&a);
b=0.7*a;
printf(打7折后的价格为:%.1f\n\n,b);
system(pause);
return0;
}
2.从键盘输入一个三位数,求各位数字之和。例如:输入的三位数是385,输出结果为3+8+5=16;(15分)
答案代码:
#include
#include
#include
intmain()
{
chara[3];
intb,c,d,e;
printf(请输入一个三位数:);
scanf(%s,a);
b=a[2]-'0';
c=a[1]-'0';
d=a[0]-'0';
e=b+c+d;
printf(各位数字之和为:%d\n\n,e);
system(pause);
return0;
}
3.日本一位中学生发现一个奇妙的“定理”,请角古教授证明,而角古教授无能为力,于是产生角古猜想,猜想的内容是:任意自然数,若为偶数除以2,若为奇数则乘以3加1,得到一个新的自然数,按照上面的法则继续演算,若干次后结果必然为1,请编程验证。(15分)
答案代码:
#include
voidmain()
{inta;
printf(输入一个自然数:);
scanf(%d,&a);
if(a%2==1)
a=a*3+1;
while(a!=1)
{
a=a/2;
}
printf(所得结果为:%d\n,a);
}
我是实验学院的,这是我们2012大一期末的,希望有帮助,里面的答案是自己写的,可忽略
免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。
如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!
新励学网教育平台
海量全面 · 详细解读 · 快捷可靠
累积科普文章数:18,862,126篇