预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共59页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Module1c:OperatorandExpressionStudyPurposeC的运算符有以下几类:Agenda1.ArithmeticOperatorandExpression1、+、-、*、/运算,运算对象是整型、实型均可。整型+(-、*、/)整型=整型如:3+2=59/5=1实型+(-、*、/)实型=实型如:3.0+2.0=5.09.0/5.0=1.8若两个操作数一个为整型、一个为实型,则结果为实型。如:3+2.0=5.09.0/5=1.82、关于%运算对象只能为整型数据。同样%=的运算对象也只能为整型数据。如:3.5%2是不对的。说明:(1)两个整数相除的结果为整数,如5/3的结果为1,舍去小数部分。但是如果除数或被除数中有一个为负值,则舍入的方向是不固定的,多数机器采用“向0取整”的方法(实际上就是舍去小数部分,注意:不是四舍五入)。1.ArithmeticOperatorandExpression算术表达式:用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子,称为算术表达式。运算对象可以是常量、变量、函数等。例如,下面是一个合法的C算术表达式。a*b/c-1.5+’a’注意:C语言算术表达式的书写形式与数学表达式的书写形式有一定的区别:(1)C语言算术表达式的乘号(*)不能省略。例如:数学式b2-4ac,相应的C表达式应该写成:b*b-4*a*c(2)C语言表达式中只能出现字符集允许的字符。例如,数学πr2相应的C表达式应该写成:PI*r*r。(其中PI是已经定义的符号常量)(3)C语言算术表达式不允许有分子分母的形式。例如,(a+b)/(c+d)!=a+b/c+d(4)C语言算术表达式只使用圆括号改变运算的优先顺序(不能用{}[])。可以使用多层圆括号,此时左右括号必须配对,运算时从内层括号开始,由内向外依次计算表达式的值。3、(算术)运算符的优先级与结合性C语言规定了进行表达式求值过程中,各运算符的“优先级”和“结合性”。(1)C语言规定了运算符的“优先级”和“结合性”。在表达式求值时,先按运算符的“优先级别”高低次序执行。如表达式:a-b*c等价于a-(b*c),“*”运算符优先级高于“-”运算符。(2)如果在一个运算对象两侧的运算符的优先级别相同,则按规定的“结合方向”处理。例如:a-b+c,到底是(a-b)+c还是a-(b+c)?(b先与a参与运算还是先于c参与运算?)按结合方向和优先界别原则:+/-运算优先级别相同,结合性为“自左向右”,即就是说b先与左边的a结合。所以a-b+c等价于(a-b)+c。(3)在书写多个运算符的表达式时,应当注意各个运算符的优先级,确保表达式中的运算符能以正确的顺序参与运算。对于复杂表达式为了清晰起见可以加圆括号“()”强制规定计算顺序。ExerciseAgenda2.AssignmentOperator赋值表达式的求解过程:将赋值运算符右侧的表达式的值赋给左侧的变量,同时整个赋值表达式的值就是刚才所赋的值。赋值的含义:将赋值运算符右边的表达式的值存放到左边变量名标识的存储单元中。例如:x=10+y;执行赋值运算(操作),将10+y的值赋给变量x,同时整个表达式的值就是刚才所赋的值。说明:(1)赋值运算符左边必须是变量,右边可以是常量、变量、函数调用或常量、变量、函数调用组成的表达式。例如:x=10y=x+10y=func()都是合法的赋值表达式。(2)赋值符号“=”不同于数学的等号,它没有相等的含义。(“==”相等)例如:C语言中x=x+1是合法的(数学上不合法),它的含义是取出变量x的值加1,再存放到变量x中。(3)赋值运算时,当赋值运算符两边数据类型不同时,将由系统自动进行类型转换typeconversion。转换原则是:先将赋值号右边表达式类型转换为左边变量的类型,然后赋值。Inta;a=1.546789;Printf(“%d”,a);a=1;(1)C语言的赋值符号“=”除了表示一个赋值操作外,还是一个运算符,也就是说赋值运算符完成赋值操作后,整个赋值表达式还会产生一个所赋的值,这个值还可以利用。赋值表达式的求解过程是:先计算赋值运算符右侧的“表达式”的值将赋值运算符右侧“表达式”的值赋值给左侧的变量。整个赋值表达式的值就是被赋值变量的值。例如:分析x=y=z=3+5这个表达式。根据优先级:原式x=y=z=(3+5);根据结合性(从右向左):x=(y=(z=(3+5)))x=(y=(z=3+5))1、复合赋值运算符在赋值符“=”之前加上某些运算符,可以构成复合赋值运算符,复合赋值运算符可以构成赋值表达式。C语言中许多双目运算符可以与赋值运算符一起构成复合运算符,即:+=,-=,*=,/=,%=,<<=,>>=,&=,|=,^=复合