首页 > 其他分享 >C语言中“ *1.0 ”的作用

C语言中“ *1.0 ”的作用

时间:2024-03-28 13:05:02浏览次数:18  
标签:1.5 1.0 运算 int 代码 float C语言 作用

一个“错误的”例子:

我们先来看一段简单的代码:

下面这个“代码”是一个进行除法运算的代码

假设我们进行“ 3 / 2 ”的运算,结果是 1.5,但是这串代码最后的结果是1.0,这显然不是我们想要的结果。

int main()
{
  int a, b;
  float c;
  scanf("%d %d", &a, &b);
  c = a / b;
  printf("%.1f", c);
}

 更改之前,我想要先解释一下原理。

原理:

我们一步一步分析:“a和b都是整型”,然后我们进行输入时,输入:“3 2” 。

然后进行运算的时候运行出来的结果是“int类型”,也就是说:

这句话是重点:“算出来(运算)的东西”和“接收的东西”是“分开”的。,3 / 2 == 1.5,但是“整数运算”出来的是“1”,所以我们给“c”的时候,c接收到的数字是“1”,但是“c”是float类型,所以c现在是1.0。所以输出的是1.0 。

 也就是说:整型运算的结果还是整型,这时候我们算出来的是1,而不是1,5。但是让“c”接收的是浮点型。这时候“c”接收的数字是“1”,所以“c”只能输出“1.0”。

更改:(第一种方式)

int main()
{
    int a, b;
    float c;
    scanf("%d %d", &a, &b);                        
    c = a * 1.0 / b;              
    printf("%.1f", c);           
}

在这串代码中我加上了“ *1.0 ”,这个是一个很重要的改变,“ *1.0 ”让“ a * 1.0 / b ”这个式子成为了浮点型的运算。也就是说:最后输出的值是“一个浮点型的值”,再看上面的例子,这个时候再运算,运算的结果就是“1.5”了。

第二种方式:

这个是“另一个更改方式”

但是和我想要说明的东西没有什么关系,这里就放出来,不再进行解释。就当做是“一题多解”的方式吧。 (而且我感觉这个方式也不太好)。

结束语:

我也是刚刚开始学习“编程”,真的是没什么水平,这只是我很浅显的理解,要是有什么不对的地方欢迎大家进行指正!

要是可以帮助到大家那就太好了,希望大家能有所收获,谢谢大家!

标签:1.5,1.0,运算,int,代码,float,C语言,作用
From: https://blog.csdn.net/2301_80967814/article/details/137105348

相关文章

  • C语言经典练习题
    题目       学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。编程解析: 思路1:条件运算符:运用实例a>b?a:b 思路2:ifelse结构的运用 思路3:switchcase结构的运用//思路1:#include<stdio.h>intmain(intargc,charconst*argv[]){i......
  • 【C语言】冒泡排序
    一、数组越界数组越界是在数组本有的元素个数(内存)外,打印数组时,多出的数组内存,为数组越界官方含义:数组下标变量的取值超过初识定义时的大小,导致对数组元素的访问出现在数组的范围之外,C语言常见错误之一二、冒泡排序分析代码:先看主函数创建数组并初始化创建变量sz,......
  • C语言项目(一)----- 贪吃蛇
    1.定义蛇、食物的结构体 2.初始化蛇和食物 3.开始游戏 蛇和墙的碰撞 蛇和自身碰撞 蛇和食物碰撞 重新随机食物 蛇身体增长 分数增长 方向键控制 4.游戏结束 ---1.定义蛇、食物的结构体#defineWIDTH60......
  • 易基因:NSUN2介导的m5C RNA甲基化在视网膜母细胞瘤进展中的重要作用 | 科研速递
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。视网膜母细胞瘤(retinoblastoma,RB)是儿童期最常见的眼内恶性肿瘤,可导致失明甚至死亡。RB1缺失(>90%)和MYCN扩增(~10%)被认为是致癌驱动事件,导致细胞周期更新增强和癌基因激活。最近的研究表明,表观遗传缺陷也参与RB肿瘤进展......
  • c语言:从键盘输入任意年月,输出该年月的天数(用switch语句完成)
    1.switch语句(1)switch是c语言的关键字,switch()后面使用花括号括起来的部分称为switch语句体。(2)紧跟在switch后一对圆括号中的表达式可以是整形表达式,以及后面的将要学习的字符型表达式等。表达式两边的一对括号不能省略。switch()(3)case也是关键字,与其后面的常量表达式合称cas......
  • C语言程序练习——汉诺塔递归
    1.题目        在终端输入汉诺塔层数n,实现将n层汉诺塔通过三座塔座A、B、C进行排列2.代码#include<stdio.h>inthannuota(intlen,intstr,inttmp,intdst){if(1==len){printf("%c->%c\n",str,dst);}else{h......
  • C语言关键字——static和extern
    大家好,今天和大家分享C语言中的两个关键字以及作⽤域和⽣命周期的有关知识,创作不易,三连支持一下吧!一、作用域和生命周期在了解static和extern之前,我们先了解一下作用域和生命周期。1.作用域作⽤域(scope)是程序设计概念,通常来说,⼀段程序代码中所⽤到的名字并不总是有效(可⽤......
  • 用C语言实现简单的五子棋小游戏(附上全代码以及思路讲解)
    目录(全代码在文末哦)  如果要实现五子棋,首先第一步要写一个菜单,让玩家可供选择,比如:输入’1‘,开始游戏,输入’0’,结束游戏。但是你不能只执行一次,所以要写一个dowhile循环,让他至少能循环一次。然后写一个switch语句,让系统来判断玩家选择的什么以此来做出相对应的动作。void......
  • 从零开始学c语言(3)
    常用运算符运算方法&(按位与)  |(按位或)^(按位异或) <<(左移)>>(右移) ~(按位求反) ......
  • C语言学习之第一个C语言程序【建议收藏】
    环境搭建好了C语言学习之环境搭建【建议收藏】-CSDN博客,接下来让我们一起来用VC编写第一个C语言程序吧!保姆级教程,非常建议小白学习使用,建议收藏!第一个C语言程序 双击打开VC,然后点击新建项目:按照图上的步骤,创建新项目→点击确定引导点击下一步:应用程序设置:项目创建完成:外......