实验二答案

更新时间:2023-09-13 11:11:01 阅读量: 教学研究 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

359242463.docx数据描述(基本数据类型及运算符)答案

实验二数据描述(基本数据类型及运算符)答案

编程及调试实例2-1改正错误后的程序 #include void main( ) {

int celsius, fahr; fahr = 100;

celsius = 5 * (fahr - 32) / 9;

printf(\ %d, celsius = %d\\n\ }

编程及调试练习2-1:源程序 (1)

#include void main( ) {

int celsius, fahr;

fahr = 150; /*只改变fahr的值*/

celsius = 5 * (fahr - 32) / 9; /*celsius = 5 * (fahr - 32) / 9与上面的实例完全一样 */ printf(\ }

运行程序后,输出: fahr = 150, celsius = 65

(2)

#include void main( ) {

int celsius, fahr;

fahr = 150; /*fahr的值仍为150*/

celsius = 5*fahr / 9 - 5*32 / 9; /* celsius的值的计算方法从数学上看与(1)的完全一样*/ printf(\ }

运行程序后,输出: fahr = 150, celsius = 66

(3)

#include void main( ) {

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 void main( ) {

int celsius, fahr; celsius = 26; fahr= 9/5*(celsius + 32);

printf(\ }

运行程序后,输出: celsius = 26, fahr =58

(2)

#include void main( ) {

int celsius, fahr; celsius = 26;

fahr= 9*celsius/5 + 9*32/5;

printf(\ }

运行程序后,输出: celsius = 26, fahr =103

(3)

#include void main( ) {

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

本文来源:https://www.bwwdw.com/article/jkhh.html

Top