二元算术运算符包括:+
、-
、'*'、'/'、'%'(取模运算符)。整数除法会截断结果中的小数部分。表达式
x % y
的结果是x
除以y
的余数,当x
能被y
整除时,其值为0
。例如,如果某一年的年份能被4
整除但不能被100
整除,那么这一年就是闰年,此外,能被400
整除的年份也是闰年。因此,可以用下列语句判断闰年:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
printf("%d is a leap year\n", year);
else
printf("%d is not a leap year\n", year);
取模运算符%
不能应用于float
或double
类型。在有负操作数的情况下,整数除法截取的方向以及取模运算结果的符号取决于具体机器的实现。
二元运算符+
和-
具有相同的优先级,它们的优先级比运算符*
、/
和%
的优先级低,而运算符*
、/
和%
的优先级又比一元运算符+
和-
的优先级低。算术运算符采用从左到右的结合规则。