欢迎来到天天文库
浏览记录
ID:50504952
大小:154.00 KB
页数:10页
时间:2020-03-10
《C语言复习题(答案).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2014年春C语言程序设计复习分数分布:题号一二三四五满分2030201218得分题型:得分评卷人一、填空题(每空2分,共20分)得分评卷人二、选择题(每小题2分,共30分)得分评卷人三、给出下列程序运行后的输出结果(每小题5分,共20分)得分评卷人四、程序填空题(每空2分,共12分)得分评卷人五、编写程序(共18分)注:以下答案仅为个人理解的方法所出。同学们帮核对一下若有错误还请同学们指正。如有哪个同学有更好更快更准更简的方法做题或编程序,还望其能指点一二、多探讨多交流。同学们可以直接把程序复制到VC6.0编译器上编译。此外我发有个编译器在群
2、共享文件里是中文版的哦,本人觉得挺好用的同学们也可以下载来用用看好不好用。给出程序运行结果:1.该程序运行后的输出结果是_____8、1、1_____。#include“stdio.h”voidmain(){inta=9,b=17;printf(“%d”,b%a);//17余9=8printf(“%d”,!a
3、#include不知道题目是省略还是故意弄。如果加了头文件程序如下。main(){inta,b,s;scanf("%d%d",&a,&b);//从键盘上分别输入10和5分别放到地址a和地址b去。s=a;//此时S的值=10if(a4、再执行s*s=10*10=100 如果分别输入5和10循环列表 值值值表达式表达式运行次数abs=s=bs=s*s1510100s=1010*10 5比10大所以执行s=b这条语句此时s的值=b=10然后再执行s*s=10*10=100 1.以下程序执行后,sum的值是45。#includevoidmain(){inti,sum=0;for(i=1;i<10;i++)sum=sum+i;printf("%d",sum);}解析表值:如下循环列表运行次数值值表达式i=i++sum=sum+i15、110+12231+23363+344106+4551510+5662115+6772821+7883628+8994536+92.程序段:for(i=1;i<=2;i++){scanf("%d%d",&x,&y);if(x>y){t=x;x=y;y=-t;}printf("%d%d",x,y);}解析:注题目也是没有预处理命令头文件那样编译会出错的如果加有头文件那程序如下:#includeintmain(){inti,x,y,t;for(i=1;i<=2;i++)//此循环是为了你能有两次输入的机会{scanf("%d%6、d",&x,&y);if(x>y)//判断你所输入的第一个数是否比第二个数大,如果第一个数不比第二{//个数大那么就执行以下交换语句否则就跳出直接执行输出语句t=x;x=y;y=-t;//交换x和y的值}printf("%d%d",x,y);//输出x和y的值}}执行该程序段时,若键盘输入41<回车>及14<回车>,则输出结果为_____1,-41,4__。解析:列表如下分别输入4和1及1和4循环列表 值值值表达式值值运行次数i=i++输入x输入yt=x;x=y;y=-t;输出x输出y1141此时x=1,y=-41-42214此时不执行交换7、语句411.下列程序的运行结果是___*##*##*##*##*##*##*##*#$______。#includemain(){inti;for(i=1;i<=15;i++){if(i%2)printf("*");printf("#");}printf("$");}解析:列表如下循环列表值 i%2不为0时i%2为0时i>15时 执行次数值值执行语句执行语句执行语句 ii%2printf(“*”)printf(“#”)printf(“$”)最终结果1次12*# *#2次20 # *##3次31*# *##*#4次48、0 # *##*##5次51*# *##*##*#6次60 # *##*##*##7次71*# *##*##*##*#8次80 # *##*##*##
4、再执行s*s=10*10=100 如果分别输入5和10循环列表 值值值表达式表达式运行次数abs=s=bs=s*s1510100s=1010*10 5比10大所以执行s=b这条语句此时s的值=b=10然后再执行s*s=10*10=100 1.以下程序执行后,sum的值是45。#includevoidmain(){inti,sum=0;for(i=1;i<10;i++)sum=sum+i;printf("%d",sum);}解析表值:如下循环列表运行次数值值表达式i=i++sum=sum+i1
5、110+12231+23363+344106+4551510+5662115+6772821+7883628+8994536+92.程序段:for(i=1;i<=2;i++){scanf("%d%d",&x,&y);if(x>y){t=x;x=y;y=-t;}printf("%d%d",x,y);}解析:注题目也是没有预处理命令头文件那样编译会出错的如果加有头文件那程序如下:#includeintmain(){inti,x,y,t;for(i=1;i<=2;i++)//此循环是为了你能有两次输入的机会{scanf("%d%
6、d",&x,&y);if(x>y)//判断你所输入的第一个数是否比第二个数大,如果第一个数不比第二{//个数大那么就执行以下交换语句否则就跳出直接执行输出语句t=x;x=y;y=-t;//交换x和y的值}printf("%d%d",x,y);//输出x和y的值}}执行该程序段时,若键盘输入41<回车>及14<回车>,则输出结果为_____1,-41,4__。解析:列表如下分别输入4和1及1和4循环列表 值值值表达式值值运行次数i=i++输入x输入yt=x;x=y;y=-t;输出x输出y1141此时x=1,y=-41-42214此时不执行交换
7、语句411.下列程序的运行结果是___*##*##*##*##*##*##*##*#$______。#includemain(){inti;for(i=1;i<=15;i++){if(i%2)printf("*");printf("#");}printf("$");}解析:列表如下循环列表值 i%2不为0时i%2为0时i>15时 执行次数值值执行语句执行语句执行语句 ii%2printf(“*”)printf(“#”)printf(“$”)最终结果1次12*# *#2次20 # *##3次31*# *##*#4次4
8、0 # *##*##5次51*# *##*##*#6次60 # *##*##*##7次71*# *##*##*##*#8次80 # *##*##*##
此文档下载收益归作者所有