结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。
printf("%d,%d\n",10/3,-10/3)
printf("%f,%f\n",10.0/3,-10.0/3)
c语言有以下几种取整方法:
1、直接赋值给整数变量。如:
int
i
=
2.5
或
i
=
(int)
2.5
这种方法采用的是舍去小数部分,可以用于你的问题。
2、c/c++中的整数除法运算符"/"本身就有取整功能(int
/
int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,但是整数除法对负数的取整结果和使用的c编译器有关。
3、使用floor函数。floor(x)返回的是x的整数部分。如:
floor(2.5)
=
2
floor(-2.5)
=
-3
4、使用ceil函数。ceil(x)返回的是不大于x的最小整数。如:
ceil(2.5)
=
2
floor和ceil对于正数没有区别,但是对于负数结果不同。
设一个数为n,则在C语言中其个位、十位、百位、千位依次这样计算:n/1%10,n/10%10,n/100%10,n/1000%10
代码如下:
#include<stdio.h>
int main(){
int n = 123456
int unitPlace = n / 1 % 10
int tenPlace = n / 10 % 10
int hundredPlace = n / 100 % 10
int thousandPlace = n / 1000 % 10
printf("个位:%d\n十位:%d\n百位:%d\n千位:%d\n", unitPlace, tenPlace, hundredPlace, thousandPlace)
getchar()
return 0
}
运行结果如图:
扩展资料C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
参考资料:百度百科--C语言