第二次上机实验报告
目标:
1. 进一步掌握简单 C 程序的编写和运行的过程
2. 初步体验数据类型的作用
任务1:显示美元和人民币的汇率
实验内容:编写一个“显示美元和人民币的汇率”C 程序
实验目的:进一步掌握简单 C 程序的编写和运行的过程
说明:假设100 美元=621 人民币,程序显示100、200、300….1000 美元与人民币汇率表
#include<stdio.h>
float main()
{
float d=100.0;
float y;
printf("颜建荣,120705231\n","");
while (d<=1000)
{
y=6.21*d;
printf("%f\t%f\n",d,y);
d=d+100;
}
return 0.0;
}
运行效果图:
设计时遇到的问题:
因为弄不清int和float的作用,造成程序运行总是出问题,后来经过一番学习,终于找到错误。在以后的学习过程中会多注意各个语言的作用,尽量避免错误!
------------------------------------------------任务分割线-----------------------------------------------------------
任务2:了解int 和float 变量类型
实验内容:修改 ”华氏温度与摄氏温度对照表”
实验目的:了解“同一变量”定义不同数据类型,如何影响程序运行结果
#include<stdio.h>
int main()
{
int f;
int c;
int lower=0;
int upper=300;
int step=20;
f=lower;
printf("颜建荣,120705231\n");
while (f<=upper)
{
//**************************
// 摄氏与华氏温度转换公式
// c= (5/9)*(f-32)
//**************************
c=(5/9)*(f-32);
printf("%d\t%d\n",f,c);
f=f+step;
}
return 0;
}
运行效果图:
为什么程序运行结果有出入?
因为int所代表的数据类型是整型,5/9不是整型,在强制转换成int类型时的值是0,所以后面的输出温度一直都是0。
步骤2 :再一次修改代码
--------------------------------------------------------------------------------
1. 按照以下代码,对源文件p2_2 进行修改:
#include<stdio.h>
int main()
{
float f;
float c;
float lower =0;
float upper =300;
float step =20;
f=lower;
printf("颜建荣,120705231\n","");
while (f<=upper)
{
//*************************
// 摄氏与华氏温度转换公式
// c=(5/9)(f-32)
//*************************
c=(5.0/9.0)*(f-32.0);
printf("%f\t%f\n",f,c);
f=f+step;
}
return 0;
}
运行结果截图:
为什么程序运行结果OK 了?
因为5/9在单精度里面是有效的,所以后面输出比较准确。