1级优先级左结合
c语言除法运算符的运算规则 c语言中除法运算规则
()圆括号
[]下标运算符
->指向结构体成员运算符
.结构体成员运算符
2级优先级右结合
!逻辑非运算符
~按位取反运算符
++自增运算符
--自减运算符
-负号运算符
(类型)类型转换运算符
*指针运算符
&地址与运算符
sizeof长度运算符
3级优先级左结合
*乘法运算符
/除法运算符
%取余运算符
4级优先级左结合
+加法运算符
-减法运算符
5级优先级左结合
<<左移运算符
>>右移运算符
6级优先级左结合
<、<=、>、>=关系运算符
7级优先级左结合
==等于运算符
!=不等于运算符
8级优先级左结合
&按位与运算符
9级优先级左结合
^按位或运算符
10级优先级左结合
|按位异或运算符
11级优先级左结合
&&逻辑与运算符
12级优先级左结合
||逻辑或运算符
13级优先级右结合
?:条件运算符
14级优先级右结合
=+=-=*
=/=%=
>=<<=
&=^=|=全为赋值运算符
15级优先级左结合
,逗号运算符
1、C语言中和除法相关的运算符有两个"/"整除运算符和"%"取余运算符。
2、整除就是求商,取余就是求余数,这是两者最本质的区别,需要注意的是在C语言%取余运算符只能操作整型数据对象。
C语言中运算对象可以是整形,也可以是实形,但运算规则却不一样的运算符号是
除法运算符“/”。
int a=26,b=10,c=a/b;
float a1=26,b1=10,c1=a/b;
printf("c=%d c1=%g\n",c,c1);
运行后的输出是:
c=2 c1=2.6
1、将1或2两个数字中的任何一个改为浮点型,如果两个操作数中有一个为浮点型,则结果为0.5。如下所示
int a = 1.0;
int b = 2;
则a/b的值为0.5。
2、强制转换(float)或者(double),其结果为0.5。如下所示
int a = 5;
int b = 2;
则a/b的值为2(整除),而用(double)a/b的值则为2.5。
拓展资料:
1、C++中的算术运算符包括基本的算术运算符和自增、自减运算符。由算术运算符、操作数和括号构成的表达式称为算术表达式。
2、基本算术运算符有:+(加)、-(减或负号)、*(乘)、/(除)、%(取余)。其中“-”作为负号时为一元运算符,其余都为二元运算符。这些基本算术运算符的意义与数学中相应符号的意义是一致的。它们之间的相对优先级关系与数学中的也是一致的,即先乘除、后加减,同级运算自左向右进行。使用算术运算符要注意以下几点:
(1)“%”是取余运算,只能用于整型操作数。表达式a%b的结果为a/b的余数。 “%”的优先级与“/”相同。
(2)当“/”用于两整型操作数相除时,其结果取商的整数部分,小数部分被自动舍弃。因此,表达式1/2的结果为0,这一点需要特别注意。
(3)C++中的“++” (自增)、 “--” (自减)运算符是使用方便且效率很高的两个运算符,它们都是一元运算符。这两个运算符都有前置和后置两种使用形式.
参考资料:百度百科-c++
用%这个算符,意思是取余数
比如:
a=2;
b=3;
那么b%a的结果就是3除以2的余数,结果是1;
参考程序段:
main()
{
int i,n;
printf("input your number: \n");
scanf("%d",&n);
for(i=1;i { if(n%i) continue; printf("%d ",i); } } 扩展资料: 余数有如下一些重要性质(a,b,c 均为自然数): (1)余数和除数的差的绝对值要小于除数的绝对值(适用于实数域); (2)被除数 = 除数 × 商 + 余数; 除数=(被除数 - 余数)÷ 商; 商=(被除数 - 余数)÷除数; 余数=被除数 - 除数 × 商。 参考资料来源:百度百科-余数