19.9.22 C语言学习笔记(浮点数)

由于C语言都有过接触所以,不再是从头来过的那种学习方式,而是对一些概念都看看,看有没有必要再系统的重新学习一遍

浮点数的使用

手动输入两个数的写法
scanf("%d %d",&a,&b);

对带小数点的数值
float 单精度浮点型
double 双精度浮点型 用来定义浮点型的两种数据类型
这里顺带对两种类型的输入和输出进行下补充
对于float:

float a;
scanf("%f",&a);
printf("%f",&a);          两种的输入输出,float的标识符是  %f

对于double

float a;
scanf("%lf",&a);
printf("%lf",&a);          两种的输入输出,float的标识符是  %lf

问题:美国人喜欢用英制计量单位,他们习惯用几尺几寸来报身高,如果身高是5英尺7,那么他的身高是一米几呢?
算式:(5+7➗12)x0.3048=1.7018

本题tip:两个整数相除,还会是一个整数

问题代码示例1
#include<stido.h>
int main()
{ 
int a,b;
float hegith;
printf("请先后输入英尺数和英寸数");
scanf("%d,"&a);
scanf("%d",&b);
hegith=(a+b/12)*0.3048;
printf("身高为%f\n",hegith);
return 0;
}
这里的问题代码就是结合tip而来的,整数与整数相除会是一个整数,虽然考虑到了
要把hegith设置为浮点型,但是没有考虑到整数相除为整数的问题。
示例一:
int a,b;
float c;
a=10;
b=3;
c=a/b;
这里就是类似于上面的问题,即使是把C设置为了浮点型,但是a和b是两个整数
整数与整数相除还是整数

解决该问题

对上面的问题进行改进
soultion1:
hegith=(a+b/12)*0.3048; ----> hegith=(a+b/12.0)*0.3048;
tip:当浮点数和整数放到一起时做运算时,C会将整数转换为浮点数进行运算
soultion2:
将b定义时数据类型换为浮点型
float b;
那么当浮点型去对浮点型进行运算时,得到的当然还是浮点型



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值