您的位置:

c语言中的除法只能取整数吗,c中除法只能是整数

本文目录一览:

C语言中什么运算只取整数部分,什么时候不但取整,还要四舍五入?? 发现C语言中很多时候不用四舍五入

取整要看类型的自动转换了,,比如a和b都是整形数据,那么a/b的结果就一定是整形。结果就取整数部分,如果其中有一个是浮点型,那么结果就是浮点型,但是不会四舍五入,如果需要四舍五入那么应该写成a/b+0.5.自动转换的顺序是char,short,int,float,double,越往后优先级越高

C语言中除号两边的数是不是必须为整型?

不是,如果均为整型那所得结果也为整型,即使不能整除只取整数部份。如果除数或被除数中有一个为浮点型或DOUBLE型结果就会是精度更高的那类

用C语言做加减乘除除法,为何算除法出来总是整数?

#include "stdio.h"

#include "math.h"

void main(void)

{

int a,b,c,d,e,g;

float f;

printf("int a,b");

scanf("%d %d",a,b);

c=a+b;

d=a-b;

e=a*b;

f=a/(float)b ;

g=a%b;

printf("c=%d\n d=%d\n e=%d\n f=%f\n g=%d\n",c,d,e,f,g);

}

整数除整数得到的一定是整数,这个和c语言中的自动类型转换有关,按照我上面写的,把b强制转换成浮点型,这样得到的结果就是浮点型,还有输出浮点型数时用 %f 。

C语言中,%只能用于整数运算的运算符?

C语言中,%只能用于整数运算的运算符,%是求余运算符,只能适用于整数与整数运算,如果用于非整数运算,程序会报错导致无法运行。

A选项错误,是因为在C语言中,语句之间的分割要用英文状态下的分号去分割,即“;”,而不是冒号。

D选项正确,是因为%是除法取余运算,适用于整数与整数运算。否则,不同的编译器会得不同结果。作为双目运算符,左右操作数可以是数值,也可以是表达式,但是左右两边的操作数必须是整数。

扩展资料

求余运算符“%”,二元运算符,具有左结合性。参与运算的量均为整型。求余运算的结果等于两个数相除后的余数。“%”取模运算符还有一些小的应用,例如:

1、当你想要通过rand()获得随机数时,rand()%100;产生0-99的随机数。

假如要产生16-59之间的数,可以这样写:rand()%44+16(这里44由59-16+1得到)。

rand()%44 即可获得0-43的随机数,再加上16即可得到16-59的随机数了;

2、“%”运算还通常用于N进制的转换。

如果是二进制转换,可以通过/与%的结合使用则可以得到转换之后的二进制数了(其实就是短除法),当原数被除至剩余0时,原数的上一次模数就是最高位进制数。

参考资料来源:百度百科——运算符

/除号不也是取整数吗,(在C语言内?)

除号并不能取整数,需要用INT来取整,如:

直接赋值给整数变量。如: int i = 2.5;

这种方法采用的是舍去小数部分。