从问题到程序--习题答案讲述.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
从问题到程序--习题答案讲述

从问题到程序—高级语言程序设计 第二章 练习 1. 指出下面的哪些字符序列不是合法的标识符: _abc x+- 3x1 Xf_1__4 Eoof___ x__x__2 ____ I am 答:不合法的标示符有: a$#24 非法符号# x+- 非法符号# 3x1 不是以英文字母开头 I am 非法符号“空格” bg--1 非法符号- 2. 手工计算下列表达式的值: 1)125 + 0125 2)0XAF - 0XFA 3)24 * 3 / 5 + 6 4)36 + - (5 - 23) / 4 5)35 * 012 + 27 / 4 / 7 * (12 - 4) 答:1)210 2)-75 3)20 4)40 5)350 3. 在下面表达式的计算过程中,在什么地方将发生类型转换,各个转换是从什么类型转换 到什么类型,表达式计算的结果是什么? 1)3 * (2L + 4.5f) - 012 + 44 2)3 * (int)sqrt(34) - sin(6) * 5 + 0x2AF 3)cos(2.5f + 4) - 6 *27L + 1526 - 2.4L 答:1)53.5 2)703.397077 在此题中十六进制数会在计算中(编译时)自动转成十进制数 3)1362.59357 4. 写程序计算第3 题中各个表达式的值。 答: #includestdio.h #includemath.h int main(){ printf(%f\n,3 * (2L + 4.5f) - 012 + 44); printf(%f\n,3 * (int)sqrt(34) - sin(6) * 5 + 0x2AF); printf(%f\n,cos(2.5f + 4) - 6 *27L + 1526 - 2.4); system(pause); return 0; } 5. 写程序计算下面各个表达式的值: 1) 2 34 1 257 . + 2) 1065 24*13 3) 23 582 7 96 3 67 . . / . 4) π2 +1 7)ln ln(10 1) 2π + 5)log5 2π ?1 6)e π +1 7)arctan(log ( )) 3 e + π 8) 3.68 13?(2.24?0.242 )2 9)1 2 3 4 5 + + / 10)ln(2π 13+ e ) 6. 已知铁的比重是7.86,金的比重是19.3。写几个简单程序,分别计算出直径100 毫米和 150 毫米的铁球与金球的重量。 答: #includestdio.h double f1(double r){ double v,w; v=4.0/3.0*r*r*r*3.1415926; w=7.86*v; return w; } double f2(double r){ double v,w; v=4.0/3.0*r*r*r*3.1415926; w=19.3*v; return w; } int main(){ printf(铁球的重量为: %f,金球的重量为: %f\n,f1(0.1/2),f2(0.1/2.0)); printf(铁球的重量为: %f,金球的重量为: %f\n,f1(0.15/2),f2(0.15/2.0)); system(pause); return 0; } 7. 写程序计算 5x2 + 2x + 6 的两个根,考虑用合适的方式输出。(提示:对这个具体问题,可以先人工计算出判别式 b2 ? 4ac 的值,以此作为已知信息,就可以写出程序 了。) 答: #include stdio.h #include math.h void f(double a,double b,double c){ double temp=b*b-4*a*c; if(temp0) printf(方程的根为:%f,%f,(-b+sqrt(temp))/2/a,(-b-sqrt(temp))/2/a); else if(temp==0) printf(方程有两个相同的根为:%f,-b/2/a); else printf(方程无解!); } int main(){ f(5,2,6); //可以测试不同的数据 system(pause); return 0; } 8. 在计算机上试验本章正文中的一些程序。对它们做一些修改,观察程序加工和运行的情 况,并对程序的行为做出解释。

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档