资源描述:
《从问题到程序--习题答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、从问题到程序—高级语言程序设计第二章练习1.指出下面的哪些字符序列不是合法的标识符:_abcx+-3x1Xf_1__4Eoof___x__x__2____Iam答:不合法的标示符有:a$#24非法符号#x+-非法符号#3x1不是以英文字母开头Iam非法符号“空格”bg--1非法符号-2.手工计算下列表达式的值:1)125+01252)0XAF-0XFA3)24*3/5+64)36+-(5-23)/45)35*012+27/4/7*(12-4)答:1)2102)-753)204)405)3503.在下面表达式的计算过程中,在什么地方将发生类型转换,各个转换是从什么
2、类型转换到什么类型,表达式计算的结果是什么?1)3*(2L+4.5f)-012+442)3*(int)sqrt(34)-sin(6)*5+0x2AF3)cos(2.5f+4)-6*27L+1526-2.4L答:1)53.52)703.397077在此题中十六进制数会在计算中(编译时)自动转成十进制数3)1362.593574.写程序计算第3题中各个表达式的值。答:#include#includeintmain(){printf("%f",3*(2L+4.5f)-012+44);printf("%f",3*(int)sqr
3、t(34)-sin(6)*5+0x2AF);printf("%f",cos(2.5f+4)-6*27L+1526-2.4);system("pause");return0;}5.写程序计算下面各个表达式的值:1)2341257.+2)106524*133)23582796367../.4)π2+17)lnln(101)2π+5)log52π−16)eπ+17)arctan(log())3e+π8)3.6813−(2.24−0.242)29)12345++/10)ln(2π13+e)6.已知铁的比重是7.86,金的比重是19.3。写几个简单程序,分别计算出直径
4、100毫米和150毫米的铁球与金球的重量。答:#includedoublef1(doubler){doublev,w;v=4.0/3.0*r*r*r*3.1415926;w=7.86*v;returnw;}doublef2(doubler){doublev,w;v=4.0/3.0*r*r*r*3.1415926;w=19.3*v;returnw;}intmain(){printf("铁球的重量为:%f,金球的重量为:%f",f1(0.1/2),f2(0.1/2.0));printf("铁球的重量为:%f,金球的重量为:%f",f1(0.
5、15/2),f2(0.15/2.0));system("pause");return0;}7.写程序计算5x2+2x+6的两个根,考虑用合适的方式输出。(提示:对这个具体问题,可以先人工计算出判别式b2−4ac的值,以此作为已知信息,就可以写出程序了。)答:#include#includevoidf(doublea,doubleb,doublec){doubletemp=b*b-4*a*c;if(temp>0)printf("方程的根为:%f,%f",(-b+sqrt(temp))/2/a,(-b-sqrt(temp))/2/a
6、);elseif(temp==0)printf("方程有两个相同的根为:%f",-b/2/a);elseprintf("方程无解!");}intmain(){f(5,2,6);//可以测试不同的数据system("pause");return0;}8.在计算机上试验本章正文中的一些程序。对它们做一些修改,观察程序加工和运行的情况,并对程序的行为做出解释。9.在一个能正确工作工作的输出整数结果的程序里,将printf的相应转换描述改为%f或者%ld,看看会出现什么问题。在一个能正确工作工作的输出双精度结果的程序里,1、将printf的相应转换描述改为%d或者%ld
7、,看看会出现什么问题。第三章练习1.下面的字符序列中哪些不是合法的变量名:-abc__aaforpp.288IBM/PCtihsWhiler24_s25__a__ba"bc_345答:-abcforpp.288tobeIBM/PCms-c#microm%ustWhilea"bc2.假设整型变量a的值是1,b的值是2,c的值是3,在这种情况下分别执行下面各个语句,写出执行对应语句后整型变量u的值。1)u=a?b:c;2)u=(a=2)?b+a:c+a;答:1)u=22)u=43.假设整型变量a的值是1,b的值是2,c的值是0,写出下面各个表达式的值。1)a&&!(
8、(b
9、
10、c)&&!a)2