C语言/(除号)和%(取余)运算操作符讲解
C语言/(除号)和%(取余)运算操作符讲解
一、/(除号)运算操作符讲解
在开始讲解之前,大家先判断下下面程序的运行结果
答案:
如果你的答案是3,那么恭喜你答对了,但是对于大部分都初学者而言,他们会认为是3.5,那么接下来我将会为大家来具体讲解为什么是3,而不是3.5呢?
解析:
1、首先举个通俗易懂的例子,假设小明同学的父母以及祖祖辈辈都是地地道道的中国人,那么小明同学就不可能是美国人,只要不出现基因突变的情况下,那么小明同学肯定是符合黄种人的形态特征,而不是符合白种人的形态特征。上面的程序也是如此的道理,都是int类型的变量,那么就不可能计算出来3.5这样浮点型类型,在计算机计算的过程,不会有四舍五入这样的算法,小数部分都将全部舍弃,只保留整数部分。
2、那么问题来了,那么我们该如何才能计算出来3.5这样带有小数的变量呢?很简单,根据我们上面所说的,我们肯定得是同一个类型才行(毕竟,物以类聚,人以群分嘛),3.5是浮点类型的,那么我们就可以将上述的两个变量都定义为单精度浮点型变量,这样7/2计算出来的结果就是3.5,。但是,如果只有运算结果是float类型,而除数7和被除数2是int类型,怎么计算出来结果是3.5呢?如果直接计算那么结果就是3,要想计算出来是3.5,我们除数和被除数之间必须至少有一个是有小数的(在计算机的计算过程中,通常都是以整数来进行计算的,如果这样写,目的在于告诉计算机用浮点数的方式来计算),eg:7.0/2,或者7/2.0,又或者7.0/2.0都可以,这样计算出来的结果就是3.5,但是,由于我们单精度浮点数的精度是6位,即小数点后面跟着有6个小数位的,所以我前面所说的3,实际上打印出来的是3.000000,打印出来的3.5,实际上是3.500000。
3、那么问题又来了,如何打印出来3.5呢?很简单,我们只需要在输出类型那里做点手脚即可,我们将printf(‘’%f\n’',x)更改为printf(“%.1f\n”,x),这样的意思就是小数点后保留一位,以此类推,以后你想保留小数点几位的话也是这样的方法就可以了。
代码演示:
二、%(取余)运算操作符讲解
图解:
代码演示:
备注:
楼主不才,不喜勿喷,若有错误或需要改进的地方,非常感谢你的指出,我会积极学习采纳。谢谢家人们一直以来的支持和鼓励,我会继续努力再接再励创作出更多优质的文章来回报家人们的。编程爱好的xdm,若有编程学习方面的问题可以私信我一同探讨(我尽力帮),毕竟“众人拾柴火焰高”,大家一起交流学习,共同进步!
2021.12.05
C语言/(除号)和%(取余)运算操作符讲解相关推荐
- C语言整除、取余运算的符号问题
偶然的机会看到这样一个问题2/(-2)的值是多少 ?回顾以往编程经历,只写过正整数整除.取余.整除和取余的操作如下: 1.a = m/n; 2.b = m%n; 这里a,b,m,n满足的关系:a*n ...
- python中的取余运算符是_python取余运算
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python中对负数求余的计算方法和求幂运算注意点python中对负数求余的计算 ...
- c语言里取余数的运算的代码,Math——取模运算及取余运算(示例代码)
取模运算及取余运算 取余运算(Complementation)即我们小学时学的数学算术概念,而取模运算(Modulus Operation)常用于程序设计中 公式 a%b = a - (a/b * b ...
- C语言取模运算(取余运算)
C语言取模运算(取余运算) 取模算法: 取余(取模)的奥义 C语言运用 取模算法: 取模运算也叫取余运算,在C中用%来表示, 数学中叫mod. x mod y = x%y x%y = x - y[x/ ...
- 取余运算 C和python的区别
今天看书发现python与C的负数取余运算结果不同,查资料理解. 取余运算的算法是相同的 r = a- n*(a/n) n!=0 r是余数,a是被除数,n是除数.n不能为0,否则都会报错. 负数 ...
- 程序员数学基础【三、取模运算(取余运算功能重叠部分)】(Python版本)
测试使用语言:[Python] 由于此类语言入门非常容易,哪怕初中生亦可以,并且本科/研究生写论文.做实验多数所用语言都是[Python]故而选择此语言. 代码运行平台:[win10 x64] 代码环 ...
- C语言浮点数不能取余,C语言浮点型数据能不能取余?
C语言浮点型数据不能取余. 一个浮点型的数据,转化成整形数据后可以通过除法与取余来获得其个位.十位.百位.先把它强制转换成int型,然后取余 %是可行的. 例如浮点型数据521.63,转化成整形后是5 ...
- java 取余运算 小数_java - 神奇的取余运算
关于-10%-3=-1的问题 今天做了一道题,题目是这样的: 一下代码运行后输出结果是: int a=-10,b=-3; System.out.print(a%b); A.-1 B.2 C.-1 D. ...
- 负数对2取余_不同语言的负数取余问题
不同语言的负数取余问题 问题的出现 偶然在leetcode上看到一道这样的题: Given a 32-bit signed integer, reverse digits of an integer. ...
最新文章
- 深度学习前人精度很高了,该怎么创新?
- 最新:2020年度陈嘉庚科学奖出炉!施一公获生命科学奖
- @ConfigurationProperties和@Value 注入
- 民生银行 IT运维故障管理 可视化案例
- 2021年 第12届 蓝桥杯【备赛直播公开课 —— 软件类(本科组、高职高专组)】
- Forrester发布最新云化数仓象限报告: 阿里云获评“强劲表现者”,排名国内第一
- ngx_rtmp_shared模块对ngx_chain_t的操作总结
- 根据文件扩展名得到文件对应该类型Icon方法
- Android 自定义字体,设置字体
- iOS之应用偏好设置
- winform中与asp.net中的 TreeView节点处理对比
- VS2010中的顺序图
- PAT 1087 有多少不同的值(20 分)- 乙级
- DataTable数据集动态构造Table表结构
- Net Core 实现谷歌翻译ApI 免费版
- android gson json解析,Android GSON 解析 JSON
- Java设计模式及应用场景之《抽象工厂模式》
- 应用市场首发,APP推广如何应对
- java frappuccino_星巴克的“十二星座代表饮品” 你是星冰乐还是特浓咖啡?
- 一文详解泊车感知的摄像头需求
热门文章
- QQ的改版和Skype的固执,取消离线与坚守离线,相反的做法与相反的结果,虽然是产品上的纠结,却让我看到了未来的影子。...
- Adaboost例题
- 【飞桨PaddlePaddle】四天搞懂生成对抗网络(二)——风格迁移的“精神始祖”Conditional GAN
- C#开源大全--汇总(转)
- Molecular Image 2 Graph/SMILES 相关文章
- java异步调用微信接口_微信支付V3 SDK(Java版,支持同步异步调用)
- C语言strlen函数与sizeof函数的区别
- 提高Alexa排名的八个实用方法
- mqtt综合实战(中国移动OneNET+ESP8266 AT指令)
- Python实用程序(1):发送邮件