C语言第二次上级指导实验报告

本次实验旨在探讨C语言中int和float变量类型的使用。通过修改华氏到摄氏温度转换的代码,观察到int类型因无法表示小数导致输出错误,而float类型能保留小数,正确显示结果。实验强调了预定义数据类型的重要性,指出选择合适的数据类型对于程序输出的准确性至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标:
1、进一步掌握简单C程序的编写和运行的过程
2、初步体验数据类型的作用
任务1、显示美元和人民币的汇率
实验内容:编写一个“显示美元和人民币的汇率”C程序
实验目的:进一步掌握简单C程序的编写和运行的过程
说明:假设100美元=621人民币,程序显示100、200、300......1000美元与人民币汇率表
实验步骤
步骤1:参考“温度转换”程序,编写“汇率表”程序,程序名称p2_1
步骤2:运行程序
说明:100美元=621人民币,程序显示100,,200.。。1000美元与人民币汇率表
编写过程:参考上次的“温度表对照”的程序 把两个变量分别定义成dollar和yuan,由于是要把美元转换为人民币且是从100开始,步长为100,最大值为1000,所以要用到循环语句,以便于编写。并且汇率是6.21。之后编写好就运行。且运行效果图如下:

#include "stdafx.h"
int main()
{
	int dollar,yuan;
	int lower,upper,step;

	lower=100;
	upper=1000;
	step=100;
	dollar=lower;

	printf("郑志楠,29\n", "" );
	while(dollar<=upper){
		yuan=6.21*dollar;
		printf("%d %d\n",dollar,yuan);
		dollar=dollar+step;
	}
	return 0;
}





任务2:了解int和float变量类型

实验内容:修改“华氏温度与摄氏温度对照表”

实验目的:了解“同一变量”定义不同数据类型,如何影响程序运行结果

实验步骤:修改“华氏温度与摄氏温度转换”算法表达式

运行结果如下:


按以下代码,对源文件p2_2进行修改:

#include<stdio.h>
int main()
{
	int f;       //摄氏温度与华氏温度
	int c;       //摄氏温度
	
	int lower=0;
	int upper=300;
	int step=20;
	f=lower;
	printf("郑志楠,29\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属于整型输出,可是输出数据运算结果中有小数,是的程序无法输出正确的结果的,

所以输出的是0.


#include<stdio.h>
int main()
{
	float f;       //摄氏温度与华氏温度
	float c;       //摄氏温度
	
	float lower=0;
	float upper=300;
	float step=20;
	f=lower;
	printf("郑志楠,29\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;
	}
	getchar();
	return 0;
}


思考:int变量类型结果显示全部为零,而以float变量类型显示不为零且有多位小数,为什么会有这样大的区别呢?


答:float是浮点型,而int是整型输出只能是整数,float结果是保留六位小数,而编写的代码运算结果实际是带小数的,所以只有float满足输出要求。

实验总结:编写程序不是敲敲键盘输几个代码那么简单,之前的准备工作要做好。要先思考用什么数据类型定义及编写步骤,然后再敲键盘。不同的定义会使输出的结果差异性很大,甚至出现错误结果。所以要时刻用好数据类型的区别。通过本节课,明白了int与float的区别,也知道以后更该注意哪些,收获很大。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值