《全国计算机等级考试二级教程--C语言程序设计》课后习题答案第一章1.1EXE1.2COBJEXE1.3顺序选择循环第二章一.选择题2.1B2.2D2.3B2.4A2.5C2.6A2.7B2.8B2.9D2.10C2.11B2.12B2.13A二.填空题2.1411122.154.24.22.16{}定义执行语句2.17关键字用户标识符2.18intfloatdouble2.19floata1=1;floata2=1;2.20存储单元2.213.52.22(a*b)/ca*b/ca/c*b2.23把常量10赋给变量s2.24位1或02.2581270111111-128100000002.2632767-3276810000000000000002.2710816三.上机改错题2.28#include"stdio.h";删除行尾的";"main();/*mainfunction*/删除")"后的";",注释中的*要紧靠“/”,即应为“/*”和“*/”函数开始处遗失了一个“{”floatr,s;/*/*risradius*/,/*sisareaofcircuilar*/*/注释符号不可嵌套使用r=5.0;s=3.14159*r*r;printf("%f\n",s)行尾遗失了“;”函数结束处遗失了一个“}”2.29#include"stdio.h"main/*mainfunction*/main后遗失了“()”{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)行尾遗失了“;”}第三章一.选择题3.1C3.2C3.3D3.4C3.5D3.6B3.7C3.8D3.9A3.10B3.11C3.12D3.13D3.14A3.15C3.16C3.17C3.18无答案3.19C3.20B二.填空题3.21(1)-2002500(2)i=-200,j=2500(3)i=-200j=25003.2212003.23一条语句;3.24;3.25100,25.81,1.8923410025.811.8923410025.811.892343.26x=127,x=127,x=177,x=7f,x=1273.27x=127,x=127,x=$127,x=$000127,x=%06d3.28a=513.789215,a=513.79,a=513.78921500,a=513.78921500三.编程题和改错题3.29修改后的程序如下:main(){doublea,b,c,s,v;printf("inputa,b,c:");scanf("%lf%lf%lf",&a,&b,&c);s=a*b;v=a*b*c;printf("a=%f,b=%f,c=%f\n",a,b,c);printf("s=%f,v=%f\n",s,v);}3.30#includemain(){inta=560,b=60;printf("560minuteis%dhourand%dminute.\n",a/b,a%b);}3.31#includemain(){inta,b;a=1500;b=350;printf("adivbis:%d\n",a/b);printf("amodbis:%d\n",a%b);}3.32#includemain(){doublea,b,c,ave;printf("input3doublenumber:\n");scanf("%lf%lf%lf",&a,&b,&c);printf("%.1f\n",(a+b+c)/3);}3.33#includevoidmain(){inta,b,c,t;printf("请依次输入整数a,b,c:");scanf("%d%d%d",&a,&b,&c);printf("\n你输入的值是:a=%d,b=%d,c=%d\n",a,b,c);t=b;b=a;a=c;c=t;printf("交换之后的值是:a=%d,b=%d,c=%d\n",a,b,c);}第四章一.选择题4.1A4.2A4.3A4.4D4.5C4.6A4.7B4.8C4.9D4.10C二.填空题4.11非004.12<>>=<=同级==!=同级4.13!&&||4.15!4.16a==b||a4||x<-44.1714.18x<=01>04.193224.20*#三.编程题4.21略4.22#include/*检查日期的合法性*/intcheckdate(intyear,intmonth,intday){if(year<1900||year>2005){printf("输入的年份无效!\n");return0;}elseif(month<0&&month>12){printf("输入的月份无效!\n");return0;}elseif(day<=0&&day>31){printf("输入的日期无效!\n");return0;}else{switch(month){case4:case6:case9:case11:if(day>30){printf("输入的日期无效!\n");return0;}break;case2:if((year%4==0&&year%100!=0)||year%400==0){if(day>29){printf("输入的日期无效!\n");return0;}}else{if(day>28){printf("输入的出生日期无效!\n");return0;}}break;}/*endofswitch(m0)*/}return1;}voidmain(){inty0,m0,d0;/*生日*/inty1,m1,d1;/*当前日期*/intyears,months,days;/*实足年龄*/printf("请输入学生的生日:");scanf("%d%d%d",&y0,&m0,&d0);if(checkdate(y0,m0,d0)){printf("请输入当前日期:");scanf("%d%d%d",&y1,&m1,&d1);/*当前日期合法性检查*/if(!checkdate(y1,m1,d1)){return;}elseif(y0>y1){printf("出生年份比当前年份晚!\n");return;}elseif(y0==y1){if(m0>m1){printf("出生年月比当前年月晚!\n");return;}elseif(m0==m1){if(d0>d1){printf("出生年月日比当前年月日晚!\n");return;}}}}/*计算实足年龄*/years=y1-y0;months=m1-m0;days=d1-d0;/*修正实足年龄天数*/if(days<0){months--;switch(m1){case1:case5:case7:case10:case12:days+=30;break;case2:case4:case6:case8:case9:case11:days+...