您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 全国计算机等级考试二级教程--C语言程序设计课后习题答案
《全国计算机等级考试二级教程--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#includestdio.h;删除行尾的;main();/*mainfunction*/删除)后的;,注释中的*要紧靠“/”,即应为“/*”和“*/”函数开始处遗失了一个“{”floatr,s;/*/*risradius*/,/*sisareaofcircuilar*/*/注释符号不可嵌套使用r=5.0;s=3.14159*r*r;printf(%f\n,s)行尾遗失了“;”函数结束处遗失了一个“}”2.29#includestdio.hmain/*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||acx4||x-44.1714.18x=0104.193224.20*#三.编程题4.21略4.22#include/*检查日期的合法性*/intcheckdate(intyear,intmonth,intday){if(year1900||year2005){printf(输入的年份无效!\n);return0;}elseif(month0&&month12){printf(输入的月份无效!\n);return0;}elseif(day=0&&day31){printf(输入的日期无效!\n);return0;}else{switch(month){case4:case6:case9:case11:if(day30){printf(输入的日期无效!\n);return0;}break;case2:if((year%4==0&&year%100!=0)||year%400==0){if(day29){printf(输入的日期无效!\n);return0;}}else{if(day28){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(y0y1){printf(出生年份比当前年份晚!\n);return;}elseif(y0==y1){if(m0m1){printf(出生年月比当前年月晚!\n);return;}elseif(m0==m1){if(d0d1){printf(出生年月日比当前年月日晚!\n);return;}}}}/*计算实足年龄*/years=y1-y0;months=m1-m0;days=d1-d0;/*修正实足年龄天数*/if(days0){months--;switch(m1){case1:case5:case7:case10:case12:days+=30;break;case2:case4:case6:case8:case9:case11:days+=31;break;case3:if((y1%4==0&&y1%100!=0)||y1%400==0){days+=29;}else{days+=28;}break;}/*endofswitch(m1)*/}/*endofif(days0)*//*修正实足年龄月数*/if(months0){months+=12;years--;}/*endofif(months0)*/printf(出生日期:%d年%d月%d日\n,y0,m0,d0);printf(当前日期:%d年%d月%d日\n,y1,m1,d1);printf(实足年龄:%d年%d月%d日\n,years,months,days);return;}4.23#includevoidmain(){inta;printf(请输入一个整数:);scanf(%d,&a);if(a%2==0){printf(%d是偶数\n,a);}else{printf(%d是奇数\n,a);}}4.24#includevoidmain(){inta,b,c,temp,max;printf(请输入三个整数:);scanf(%d%d%d,&a,&b,&c);temp=(ab)?a:b;max=(tempc)?temp:c;printf(\n);printf(你输入的数中最大的是%d.\n,max);}4.25(1)不嵌套的if语句#includevoidmain(){intx,y;printf(inputx:);scanf(%d,&x);if(x-5&&x0){printf(yis%d\n,y=x);}if(x==0){printf(yis%d\n,y=x-1);}if(x0&&x10){printf(yis%d\n,y=x+1);}if(x=10||x=-5){printf(error\n);}}(2)嵌套的if语句#includevoidmain(){intx,y;printf(inputx:);scanf(%d,&x);printf(\n);if(x0){if(x-5){printf(yis%d.\n,y=x);}else{printf(error!\n);}}if(0==x){printf(yis%d.\n,y=x-1);}if(x0){if(x10){printf(yis%d.\n,y=x+1);}else{printf(error!\n);}}}(3)if_else语句#includevoidmain(){intx,y;printf(inputx:);scanf(%d,&x);if(x-5&&x0){printf(yis%d.\n,y=x);}elseif(x==0){printf(yis%d.\n,y=x-1);}elseif(x0&&x10){printf(yis%d.\n,y=x+1);}else{printf(error!\n);}}(4)switch语句#includevoidmain(){intx,y;printf(inputx:);scanf(%d,&x);switch(x){case-4:case-3:case-2:case-1:printf(yis%d.\n,y=x);break;case0:printf(yis%d.\n,y=x-1);break;case1:case2:case3:case4:case5:case6:case7:case8:case9:printf(yis%d.\n,y=x+1);break;default:printf(error!\n);}}第五章一.选择题5.1D5.2C5.3B5.4C5.5C5.6B5.7D5.8A5.9D5.10D二.填空题5.115465.12死循环5.13-15.14115.15d=1.0k++k=n5.16x=0x三.编程题5.17#includevoidmain(){inti;intsig=1;intsum=0;for(i=1;i=101;i++,i++){sum+=sig*i;sig*=-1;}printf(sum=%d\n,sum);}5.18(1)#includevoidmain(){inti;doublem=1.0;doublee=1.0;for(i=1;i50;i++){m*=i;e+=1/m;}printf(e=%f\n,e);}(2)#includevoidmain(){inti=1;doublem=1.0;doublee=1.0;while(1/m=0.0004){m*=i;e+=1/m;i++;}printf(e=%f\n,e);}5.19#includevoidmain(){intyear;intcol=0;for(year=1600;year=2000;year++){if((year%4==0&&year%100!=0)||year%400==0){printf(%d\t,year);col++;if(col%5==0){printf(\n);}}}printf(\n
本文标题:全国计算机等级考试二级教程--C语言程序设计课后习题答案
链接地址:https://www.777doc.com/doc-2688720 .html