文档介绍:第三讲运算符和表达式
一、表达式
二、算术运算符和算术表达式
四、算术表达式中数据类型的转换
三、标准库函数调用
六、增量运算符与增量表达式
七、逗号运算符与逗号表达式
五、赋值运算
1、赋值运算符和赋值表达式
2、复合赋值运算
一、表达式
表达式:由常量、变量、函数和运算符组成的式子称为表达式。
例:计算圆面积的语句:
s = * r * r ;
该语句中, r,, * r , * r * r ,s = * r * r 都是表达式
其中,*是运算符,r是变量,
表达式的求值规则,按照运算符的优先级和结合性的规定顺序进行。
有的运算符只需要一个运算对象,这种运算符称为单目运算符;
如-5中的(-)负号
需要两个运算对象的称为双目运算符;
如加(+),减(-),乘(*),除(/)
一个表达式有一个值及其类型,它们等于计算表达式所得结果的值和类型。
二、算术运算符和算术表达式
算术运算符:算术运算符用于各类数值运算。算表达式中的运算对象都是算术量,即整型、实型或字符型。
下表为基本的算术运算符:
其中单目运算符负号(-)的优先级最高,为2
除法运算符“/”进行求商运算。对于不同类型的运算对象,除法表达式计算结果的类型也会不同。
例:计算x/y
如果x,y是整型,则结果为整型,小数部分被略去。
如果x,y中有一个实型量,则x,y都被转化为double类型进行运算,结果为double类型量
运算实例:
x,y为整型量: 5/2结果为2,整型量
2/5结果为0,整型量
x,y其中一个为实型量:
.0/,实型量
“%”是求余运算。a%b计算a除以b后的余数,也是a模b的值。它要求两个运算对象都是整型量,其结果也是整型量。
例:5%2结果为1
2%5结果为0
例:将数学式改写成算术表达式
一般数学式
[a(b+c)+d]ac
算术表达式
(a*(b+c)+d)*a*c 将方括号改成圆括号,*不能省略
x/(x+y)+*y 其中不能出现分数,改用除法运算符,圆括号不能缺少
*r*r/ 其中为非字母字符,要用实型常量代替
例:基本数学运算符程序实例
main ( )
{ int a, b, c1, c2 ;
a=3, b=-7 ;
c1=b/a;
c2=b%a;
printf( "c1=%d\tc2=%d\n", c1,c2 );
c1=a/b;
c2=a%b;
printf( "c1=%d\tc2=%d\n", c1,c2 );
}
程序运行输出:
c1=-2 c2=-1
c1=0 c2=3
三、标准库函数调用
对于某些数学运算,如求平方根,指数、对数运算,C语言中有标准库函数对其进行计算。
调用函数格式:
函数名(参数,参数,…)
其中函数名有由系统提供,不同C的编译系统,提供的函数名不同,使用时需查阅相关手册。
调用函数时,参数的类型必须与系统规定一致。