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语言/(除号)和%(取余)运算操作符讲解相关推荐

  1. C语言整除、取余运算的符号问题

    偶然的机会看到这样一个问题2/(-2)的值是多少 ?回顾以往编程经历,只写过正整数整除.取余.整除和取余的操作如下: 1.a = m/n; 2.b = m%n; 这里a,b,m,n满足的关系:a*n ...

  2. python中的取余运算符是_python取余运算

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python中对负数求余的计算方法和求幂运算注意点python中对负数求余的计算 ...

  3. c语言里取余数的运算的代码,Math——取模运算及取余运算(示例代码)

    取模运算及取余运算 取余运算(Complementation)即我们小学时学的数学算术概念,而取模运算(Modulus Operation)常用于程序设计中 公式 a%b = a - (a/b * b ...

  4. C语言取模运算(取余运算)

    C语言取模运算(取余运算) 取模算法: 取余(取模)的奥义 C语言运用 取模算法: 取模运算也叫取余运算,在C中用%来表示, 数学中叫mod. x mod y = x%y x%y = x - y[x/ ...

  5. 取余运算 C和python的区别

    今天看书发现python与C的负数取余运算结果不同,查资料理解. 取余运算的算法是相同的  r = a- n*(a/n)   n!=0 r是余数,a是被除数,n是除数.n不能为0,否则都会报错. 负数 ...

  6. 程序员数学基础【三、取模运算(取余运算功能重叠部分)】(Python版本)

    测试使用语言:[Python] 由于此类语言入门非常容易,哪怕初中生亦可以,并且本科/研究生写论文.做实验多数所用语言都是[Python]故而选择此语言. 代码运行平台:[win10 x64] 代码环 ...

  7. C语言浮点数不能取余,C语言浮点型数据能不能取余?

    C语言浮点型数据不能取余. 一个浮点型的数据,转化成整形数据后可以通过除法与取余来获得其个位.十位.百位.先把它强制转换成int型,然后取余 %是可行的. 例如浮点型数据521.63,转化成整形后是5 ...

  8. java 取余运算 小数_java - 神奇的取余运算

    关于-10%-3=-1的问题 今天做了一道题,题目是这样的: 一下代码运行后输出结果是: int a=-10,b=-3; System.out.print(a%b); A.-1 B.2 C.-1 D. ...

  9. 负数对2取余_不同语言的负数取余问题

    不同语言的负数取余问题 问题的出现 偶然在leetcode上看到一道这样的题: Given a 32-bit signed integer, reverse digits of an integer. ...

最新文章

  1. 深度学习前人精度很高了,该怎么创新?
  2. 最新:2020年度陈嘉庚科学奖出炉!施一公获生命科学奖
  3. @ConfigurationProperties和@Value 注入
  4. 民生银行 IT运维故障管理 可视化案例
  5. 2021年 第12届 蓝桥杯【备赛直播公开课 —— 软件类(本科组、高职高专组)】
  6. Forrester发布最新云化数仓象限报告: 阿里云获评“强劲表现者”,排名国内第一
  7. ngx_rtmp_shared模块对ngx_chain_t的操作总结
  8. 根据文件扩展名得到文件对应该类型Icon方法
  9. Android 自定义字体,设置字体
  10. iOS之应用偏好设置
  11. winform中与asp.net中的 TreeView节点处理对比
  12. VS2010中的顺序图
  13. PAT 1087 有多少不同的值(20 分)- 乙级
  14. DataTable数据集动态构造Table表结构
  15. Net Core 实现谷歌翻译ApI 免费版
  16. android gson json解析,Android GSON 解析 JSON
  17. Java设计模式及应用场景之《抽象工厂模式》
  18. 应用市场首发,APP推广如何应对
  19. java frappuccino_星巴克的“十二星座代表饮品” 你是星冰乐还是特浓咖啡?
  20. 一文详解泊车感知的摄像头需求

热门文章

  1. QQ的改版和Skype的固执,取消离线与坚守离线,相反的做法与相反的结果,虽然是产品上的纠结,却让我看到了未来的影子。...
  2. Adaboost例题
  3. 【飞桨PaddlePaddle】四天搞懂生成对抗网络(二)——风格迁移的“精神始祖”Conditional GAN
  4. C#开源大全--汇总(转)
  5. Molecular Image 2 Graph/SMILES 相关文章
  6. java异步调用微信接口_微信支付V3 SDK(Java版,支持同步异步调用)
  7. C语言strlen函数与sizeof函数的区别
  8. 提高Alexa排名的八个实用方法
  9. mqtt综合实战(中国移动OneNET+ESP8266 AT指令)
  10. Python实用程序(1):发送邮件