资源描述:
《《C语言程序设计教程》课后题答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《C语言程序设计教程》课后题答案第一章一选择题1.A2.B3.C4.D5.B6.C二.填空题1.程序2.算法3.main或主4.编译5.编译6..obj7.库函数8.文本或ASCII码三、编程题1.参考代码如下:#includevoidmain(){printf("金木水火土");}2.参考代码如下:#includevoidmain(){inta,b;scanf("%d%d",&a,&b);printf("%d+%d=%d",a,b,a+b);printf("%d-%d=%d",a,b,a-b);prin
2、tf("%d*%d=%d",a,b,a*b);printf("%d/%d=%d",a,b,a/b);}3.参考代码如下:#includevoidmain(){floata,b,h,s;scanf("%f%f%f",&a,&b,&h);s=(a+b)*h/2;printf("s=%f",s);}第二章一选择题答案及分析:1.B,略2.A,-8在内存中是以补码(设两个字节)形式存储的3.A,C语言有32个关键字(参见课本第18页),且C语言标识符是区分大小写字母的4.A,略5.D,八进制数据中不能出现数码86.B,字符常量应该用单引号括起来,
3、答案D超出了ASCII取值范围(ASCII的取值范围为[0,255])7.C,该字符串中转义字符有三个:\、22和,普通字符有三个:a、,和0,所以字符串长度为68.C,略9.D,C语言没有read函数和%D格式符号,且scanf函数第二个形参为地址列表10.B,根据题意,scanf函数输入数据时分隔符号不应该是逗号,应该是空格或回车符,且输入数据时分一行或几行均可11.A,scanf函数中不允许出现%8.4,%6.2和%8这样的格式符号12.C,既要保证5位小数位,还得保证整数位不变,这样数据12345.67800用10列不能完全显示出来,按C语言规定,12
4、345.67800原样输出13.B,printf函数中格式符号%d,%o,%x表示对应的整型数据分别按十进制,八进制和十六进制输出14.C,按C语言规定,scanf函数形参双引号中,如果包含非格式符号,在输入数据时要求原样输入二.填空题答案及分析:1.intfloatdouble(略)2.65,89,printf函数中如果格式符号是%d,则输出相应字符的ASCII十进制数值3.a=98,b=765.000000,c=4321.000000,scanf函数中的格式符号%2d%3f%4f,表示将键盘输入的数据9876543210按2,3,4位分割,然后再分别赋给变量a,b
5、,c4.scanf("%lf%lf%lf",&a,&b,&c);double类型的变量对应的格式符号是%lf三、编程题1.参考代码如下:#includevoidmain(){inta=97;printf("%c",a);printf("%d",a);printf("%o",a);printf("%x",a);}程序分析:通过printf函数中不同的格式符号,即%c(字符),%d(十进制),%o(八进制),%x(十六进制)输出相应的值。2.参考代码如下:#includevoidmain(){inth,m,minute;
6、scanf("%d:%d",&h,&m);minute=h*60+m;printf("minute=%d",minute);}程序分析:输入形式为10:27,故scanf函数双引号中两个格式符号%d之间必须加入“:”。3.参考代码如下:#includevoidmain(){floatr=6371000,s,v;s=4*3.1415926*r*r;v=3.1415926*4/3*r*r*r;printf("s=%fv=%f",s,v);}程序分析:C语言中的π不代表3.1415926,可以用各种常量的形式体现出来。4.参考代码如下:#inclu
7、devoidmain(){intm100,m50,m20,m10,m5,m1,m;scanf("%d",&m);m100=m/100;m50=(m-m100*100)/50;m20=(m-m100*100-m50*50)/20;m10=(m-m100*100-m50*50-m20*20)/10;m5=(m-m100*100-m50*50-m20*20-m10*10)/5;m1=m-m100*100-m50*50-m20*20-m10*10-m5*5;printf("%d元发工资,人名币各票面的张数为:",m);printf("1