359242463.docx数据描述(基本数据类型及运算符)答案
实验二数据描述(基本数据类型及运算符)答案
编程及调试实例2-1改正错误后的程序 #include
int celsius, fahr; fahr = 100;
celsius = 5 * (fahr - 32) / 9;
printf(\ %d, celsius = %d\\n\ }
编程及调试练习2-1:源程序 (1)
#include
int celsius, fahr;
fahr = 150; /*只改变fahr的值*/
celsius = 5 * (fahr - 32) / 9; /*celsius = 5 * (fahr - 32) / 9与上面的实例完全一样 */ printf(\ }
运行程序后,输出: fahr = 150, celsius = 65
(2)
#include
int celsius, fahr;
fahr = 150; /*fahr的值仍为150*/
celsius = 5*fahr / 9 - 5*32 / 9; /* celsius的值的计算方法从数学上看与(1)的完全一样*/ printf(\ }
运行程序后,输出: fahr = 150, celsius = 66
(3)
#include
int celsius, fahr;
fahr = 150; /* fahr的值仍为150*/
1
359242463.docx数据描述(基本数据类型及运算符)答案
celsius = 5 / 9*(fahr–32); /* celsius的值的计算方法从数学上看与(1)和(2)的完全一样*/ printf(\ }
运行程序后,输出: fahr = 150, celsius =0
原因分析:
从数学上看,以上三个程序的输出结果应该完全相同,但程序运行后输出的结果不一样,这是为什么呢?其实原因很简单,只要同学们掌握C的运算规则就可以找到答案。在此应注意两点:一是整型数据与整型数据进行运算时,结果取整型(小数部分被舍弃掉);二是运算的优先级和结合性。
思考与进一步练习:
以上已知摄氏温度,求对应的华氏温度的程序,得到的华氏温度是近似值(有时甚至相差较大),若要得到精确华氏温度值,应定义什么数据类型?计算华氏温度的赋值语句应如何写?
编程及调试练习2-2:源程序 (1)
#include
int celsius, fahr; celsius = 26; fahr= 9/5*(celsius + 32);
printf(\ }
运行程序后,输出: celsius = 26, fahr =58
(2)
#include
int celsius, fahr; celsius = 26;
fahr= 9*celsius/5 + 9*32/5;
printf(\ }
运行程序后,输出: celsius = 26, fahr =103
(3)
#include
2
359242463.docx数据描述(基本数据类型及运算符)答案
int celsius, fahr; celsius = 26; fahr= 9*(celsius + 32)/5;
printf(\ }
运行程序后,输出: celsius = 26, fahr =104
?
如何求摄氏温度65°C所对应的华氏温度?
答:将以上程序中的语句celsius = 26;改为celsius = 65;,即是求摄氏温度65°C所对应
的华氏温度。
★通过以上练习,分析产生不同运行结果的原因,思考并总结得到精确且完全一致结果的措施。
3
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新教学研究实验二答案 全文阅读和word下载服务。
相关推荐: