算术运算
算术运算符
算术表达式
优先级和结合性
1.算术运算符
算术运算符除了负值运算符外都是双目运算符,即指两个
运算对象之间的运算。
算术运算符
运算符 名 称 举 例 运算功能
- 取负值 -x 取x的负值
+ 加 x+y 求x与y的和
- 减 x-y 求x与y的差
* 乘 x*y 求x与y的积
/ 除 x/y 求x与y的商
% 求余(或模) x%y 求x除以y的余数
2.算术表达式
用算术运算符、圆括号将运算对象(或称操作数)
连接起来的符合C语法规则的式子,称为C算术表达
式。其中运算对象可以是常量、变量、函数等。
C算术表达式的书写形式与数学中表达式的书写
形式是有区别的,在使用时要注意以下几点:
(1)C表达式中的乘号不能省略。例如:
2
数学式b -4ac ,相应的C表达式应写成b*b-4*a*c 。
(2 )C表达式中只能使用系统允许的标识符。例如:
2
数学式πr 相应的C表达式应写成3.1415926*r*r 。
(3 )C表达式中的内容必须书写在同一行,不允许
有分子分母形式,必要时要利用圆括号保证运算的顺
序。例如:
数学式相应的C表达式应写(a+b)/(c+d) 。
(4 )C表达式不允许使用方括号和花括号,
只能使用圆括号帮助限定运算顺序。可以使用
多层圆括号,但左右括号必须配对,运算时从
内层圆括号开始,由内向外依次计算表达式的
值。
3.算术运算符的优先级和结合性
C语言规定了在表达式求值过程中各运算符的优
先级和结合性。
优先级:是指当一个表达式中如果有多个运算符时,
则计算是有先后次序的,这种计算的先后次序称为相
应运算符的优先级。
结合性:是指当一个运算对象两侧的运算符的优先
级别相同时,进行运算(处理)的结合方向。按“从右
向左”的顺序运算,称为右结合性;按“从左向右”
的顺序运算,称为左结合性。
算术运算符的优先级和结合性
在算术表达式中,若包含不同优先级的运算符,
则按运算符的优先级别由高到低进行运算;若表达式
中运算符的优先级别相同时,则按运算符的结合方向
(结合性)进行运算。
运算种类 结合性 优先级
*、/ 、% 从左向右 高
↓
+ 、- 从左向右 低
实例练习
#include "stdio.h"
main(){
int a=10,b=3,c=0,d=2;
double d1=10.0,d2=3.0,d3=0.0,d4=-3.0; /*定义变量 */
c=a/b+d;
d=a%3; /*先进行求余操作,然后把结果赋值给d */
d3=d1/d2; /