C语言程序设计课后题答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

二级C语言课本课后习题参考答案第一章程序设计基本概念**************************************************(1)exe(2)C,obj,exe(3)顺序,选择,循环***************EndofChapter1*******************第二章C程序设计的初步知识**************************************************一、选择题(1)B(2)D(3)B(4)A(5)C(6)A(7)B(8)B(9)A(10)C(11)B(12)B(13)A二、填空题(14)11,12(15)4.2,4.2(16){,}说明,执行(17)关键字,用户标识符(18)int,float,double(19)floata1=1,a2=1;(20)存储单元(21)3.5(22)a*b/ca/c*ba*(b/c)(23)10赋给变量s(24)位,0或1(25)8,255,11111111,0,00000000(26)32767,-32768,1000000000000000(27)十,八,十六三、上机改错题——————————————————————————————————————(28)请指出以下C程序的错误所在#includestdio.h;main();/*mainfunction*/floatr,s;/*/*risradius*/,/*sisareaofcircular*/*/r=5.0;s=3.14159*r*r;printf(%f\n,s);※正确应为:#include或#includestdio.hmain()/*mainfunction*/{floatr,s;/*risradius,sisareaofcircular*/r=5.0;s=3.14159*r*r;printf(%f\n,s);}——————————————————————————————————————(29)请指出以下C程序的错误所在#includestdio.hmain/*mainfunction*/{floata,b,c,v;/*a,b,caresides,visvolumeofcube*/a=2.0;b=3.0;c=4.0v=a*b*c;printf(%f\n,v);}※正确应为:#includestdio.hmain()/*mainfunction*/{floata,b,c,v;/*a,b,caresides,visvolumeofcube*/a=2.0;b=3.0;c=4.0;v=a*b*c;printf(%f\n,v);}***************EndofChapter2*******************第三章顺序结构**************************************************一、选择题(1)C(2)C(3)D(4)C(5)D(6)B(7)C(8)D(9)A(10)B(11)C(12)D(13)D(14)A(15)C(16)C(17)C(18)均不对,应为scanf(“%6f”,&c)(18)C(20)B二、填空题(21)①-200,2500②i=-200,j=2500③i=-200,j=2500(22)12,0,0(23)语句块,{;}(24);(25)100空格25.81空格1.89234/*可用一个或几个空格作为输入时的间隔符*/10025.811.89234/*Tab(制表符)也可以作为输入时的间隔符*/10025.811.89234/*CR(回车符)也可以作为输入时的间隔符*/(26)x=127,x=ццц127,x=ццц177,x=цццц7f,x=ццц127。(27)x=127,x=127ццц,x=177ццц,x=7fцццц,x=127ццц。(28)a=513.789215,a=цц513.79,a=цц513.78921500,a=цц513.78921500三、上机改错题——————————————————————————————————————3.30编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。※程序如下※main(){inthour,minute;hour=560/60;minute=560%60;printf(hour=%d,minute=%d,hour,minute);}——————————————————————————————————————3.31编写程序,输入两个整数:1500和350,求出它们的商数和余数并进行输出。※程序如下※#includemain(){intnum1,num2,i,j;/*定义变量i-商,j-余数*/printf(inputnum1andnum2:\n);scanf(%d%d,&num1,&num2);i=num1/num2;j=num1%num2;printf(商=%d\n余数=%d,i,j);}——————————————————————————————————————3.32编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果。※程序如下※main(){doublea,b,c,average=0;printf(inputa,b,c(double):\n);scanf(%lf%lf%lf,&a,&b,&c);average=(a+b+c)/3;average=average*10;average=average+0.5;average=(int)average;average=average/10;printf(average=%lf,average);}——————————————————————————————————————3.33编写程序,读入三个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中的值给a。※程序如下※main(){inta,b,c,t=0;printf(inputabc:\n);scanf(%d%d%d,&a,&b,&c);t=c;c=b;b=a;a=t;printf(a=%db=%dc=%d,a,b,c);}***************EndofChapter3*******************第四章选择结构**************************************************一、选择题(1)A(2)A(3)A(4)D(5)C(6)A(7)B(8)均错(9)D(10)A二、填空题(11)非零,零(12)或=、或=、==、!=(13)逻辑非、逻辑与、逻辑或(14)!、或=、或=、==、!=、&&、||(15)!(16)a==b||a4或x4||x-4(17)1(18)x0?0:1,1(19)a=3,b=2,c=2(20)*#三、编程题——————————————————————————————————————4.21当a0时,请将以下语句改写成switch语句。if(a30)m=1;elseif(a40)m=2;elseif(a50)m=3;elseif(a60)m=4;elsem=5;※程序如下※main(){inta;printf(Entera:\n);scanf(%d,&a);switch(a/10){case0:case1:case2:printf(m=1);break;case3:printf(m=2);break;case4:printf(m=3);break;case5:printf(m=4);break;default:printf(m=5);}}——————————————————————————————————————4.22编写程序,输入一位学生的生日(年:y0、月:m0、日:d0);并输入当前的日期(年:y1、月:m1、日:d1);输出该生的实足年龄。※程序如下※main(){inty0,y1,m0,m1,d0,d1,age=0;printf(YourBirthday(yyyy-mm-dd):\n);scanf(%d-%d-%d,&y0,&m0,&d0);printf(CurrentDate(yyyy-mm-dd):\n);scanf(%d-%d-%d,&y1,&m1,&d1);if(d1BRif(m1BRage=y1-y0;printf(\nAge=%d,age);}——————————————————————————————————————4.23编写程序,输入一个整数,打印出它是奇数还是偶数。※程序如下※main(){inti;printf(inputainteger:\n);scanf(%d,&i);if(i%2==0)/*条件判断*/printf(%disaeven,i);elseprintf(%disaodd,i);}——————————————————————————————————————4.24编写程序,输入a、b、c三个数,打印出最大者。※程序如下※main(){inta,b,c,max=0;printf(input(int)abandc:\n);scanf(%d%d%d,&a,&b,&c);max=a;if(maxBRmax=b;if(maxBRmax=c;printf(max=%d,max);}——————————————————————————————————————4.25有一函数:编写一程序,要求输入x的值,输出y的值。分别(1)不嵌套的if语句(2)嵌套的if语句(3)if_else语句(4)switch语句※程序如下※源程序一:(1)不嵌套的if语句main(){floatx;printf(inputx:\n);scanf(%f,&x);if(x-5&&x0)printf(y=%f,x);if(x==0)printf(y=%f,x-1);if(x0&&x10)printf(y=%f,x+1);if(x=-5||x=10)printf(inputerror);}源程序二:(2)嵌套的if语句main(){floatx;printf(inputx:\n);scanf(%f,&x);if(x-5&&x10){if(x==0)printf(y=%f,x-1);if(x0)printf(y=%f,x);if(x0)printf(y=%f,x+1);}if(x=-5||x=10)printf(inputerror);}源程序三:(3)if_else语句main(){floatx;printf(inputx:\n);scanf(%f,&x);if(x-5&&x10)if(x0)printf(y=%f,x-1);elseif(x==0)printf(y=%f,x);elseprintf(y=%f,x+1);elseprintf(inputerror);}源程序四:(4)switch语句main(){intflag;floatx;printf(Enterx:\n);scanf(%f,&x);if(x-5&&x0)flag=-1;if(x==0)flag=0;if(x0&&x10)flag=1;switch(flag){case-1:printf(y=%f,x);break;case0:printf(y=%f,x-1);break;case1:printf(y=%f,x+1);break;}}***************EndofChapter4*******************第五章循环结构**************************************************一、选择题(1)D(2)C(3)B(4)C(5)C(6)B(7)D(8)A(9)D(10)D二、填空题(11)5,4,6(12)

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功