实验二答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

编程及调试实例2-1改正错误后的程序

#include

void main( )

{

int celsius, fahr;

fahr = 100;

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

printf("fahr = %d, celsius = %d\n", fahr, celsius);

}

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

(1)

#include

void main( )

{

int celsius, fahr;

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

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

}

运行程序后,输出:

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 =%d, celsius = %d\n", fahr, celsius);

}

运行程序后,输出:

fahr = 150, celsius = 66

(3)

#include

void main( )

{

int celsius, fahr;

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

celsius = 5 / 9*(fahr–32); /* celsius的值的计算方法从数学上看与(1)和(2)的完全一样*/ printf("fahr =%d, celsius = %d\n", fahr, celsius);

}

运行程序后,输出:

fahr = 150, celsius =0

原因分析:

从数学上看,以上三个程序的输出结果应该完全相同,但程序运行后输出的结果不一样,这是为什么呢?其实原因很简单,只要同学们掌握C的运算规则就可以找到答案。在此应注意两点:一是整型数据与整型数据进行运算时,结果取整型(小数部分被舍弃掉);二是运算的优先级和结合性。

思考与进一步练习:

以上已知摄氏温度,求对应的华氏温度的程序,得到的华氏温度是近似值(有时甚至相差较大),若要得到精确华氏温度值,应定义什么数据类型?计算华氏温度的赋值语句应如何写?

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

(1)

#include

void main( )

{

int celsius, fahr;

celsius = 26;

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

printf("celsius = %d, fahr = %d\n", celsius, fahr );

}

运行程序后,输出:

celsius = 26, fahr =58

(2)

#include

void main( )

{

int celsius, fahr;

celsius = 26;

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

printf("celsius = %d, fahr = %d\n", celsius, fahr );

}

运行程序后,输出:

celsius = 26, fahr =103

(3)

#include

void main( )

{

int celsius, fahr;

celsius = 26;

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

printf("celsius = %d, fahr = %d\n", celsius, fahr );

}

运行程序后,输出:

celsius = 26, fahr =104

如何求摄氏温度65°C所对应的华氏温度?

答:将以上程序中的语句celsius = 26;改为celsius = 65;,即是求摄氏温度65°C所对应的华氏温度。

★通过以上练习,分析产生不同运行结果的原因,思考并总结得到精确且完全一致结果的措施。

相关文档
最新文档