C语言/(除号)和%(取余)运算操作符讲解

C语言/(除号)和%(取余)运算操作符讲解_第1张图片

C语言/(除号)和%(取余)运算操作符讲解_第2张图片

C语言/(除号)和%(取余)运算操作符讲解

一、/(除号)运算操作符讲解

在开始讲解之前,大家先判断下下面程序的运行结果

C语言/(除号)和%(取余)运算操作符讲解_第3张图片

C语言/(除号)和%(取余)运算操作符讲解_第4张图片

C语言/(除号)和%(取余)运算操作符讲解_第5张图片

答案:

如果你的答案是3,那么恭喜你答对了,但是对于大部分都初学者而言,他们会认为是3.5,那么接下来我将会为大家来具体讲解为什么是3,而不是3.5呢?

C语言/(除号)和%(取余)运算操作符讲解_第6张图片

解析:

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),这样的意思就是小数点后保留一位,以此类推,以后你想保留小数点几位的话也是这样的方法就可以了。

代码演示:

C语言/(除号)和%(取余)运算操作符讲解_第7张图片

C语言/(除号)和%(取余)运算操作符讲解_第8张图片

C语言/(除号)和%(取余)运算操作符讲解_第9张图片

C语言/(除号)和%(取余)运算操作符讲解_第10张图片

二、%(取余)运算操作符讲解

图解:

C语言/(除号)和%(取余)运算操作符讲解_第11张图片

代码演示:

C语言/(除号)和%(取余)运算操作符讲解_第12张图片

备注:

楼主不才,不喜勿喷,若有错误或需要改进的地方,非常感谢你的指出,我会积极学习采纳。谢谢家人们一直以来的支持和鼓励,我会继续努力再接再励创作出更多优质的文章来回报家人们的。编程爱好的xdm,若有编程学习方面的问题可以私信我一同探讨(我尽力帮),毕竟“众人拾柴火焰高”,大家一起交流学习,共同进步!

在这里插入图片描述

2021.12.05

你可能感兴趣的:(赠人玫瑰手留余香,c语言,开发语言,后端,c++)