- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * C 语言运算符可以分为: 算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等几类; 若从其在表达式中与运算对象的关系上分,可分为单目运算符、双目运算符和三目运算符。 从四个方面把握 运算符对运算量类型的要求 运算符对运算量个数的要求 优先级、结合方向 运算符及表达式 * * 一、 算术运算符和算术表达式 1.算术运算符 算术运算符有加,减,乘,除及取模5种,分别由: + , -, *, /, % 来表示。 C语言规定: (1)取模运算符 %,仅用于整型变量或整型常量,例如: 5%3,其值为2。 (2)优先级: 一个表达式中如有多个运算符,则计算的先后次序为相应运算符的优先级高的优先。乘、除、取模优先级高于加、减的优先级,即先乘、除、取模,后加、减。 (3)结合方向: 是当一个运算对象两侧的运算符的优先级别相同时,应遵循的处理规则, 算术运算符的结合方向是从左至右; * * 2.算术表达式 由算术运算符、括号以及操作对象组成的符合C语言语法规则的表达式称为算术表达式。例如下述式子均为算术表达式: a+b*c+(x/y)-700 100%3+100*2 二、 赋值运算符和赋值表达式 1.赋值运算符 赋值运算符是:= 例如:a=10;x=a+5; 注意:如果“=”两侧的类型不一致,在赋值时要进行类型转换。例如:a=b;执行该语句时,b 的结果转换为a的类型后才能进行赋值运算。 结合方式:右结合(允许连续赋值:a=b=c=5;) * * 2.复合赋值运算符 + =,- =,* =,/ =,% =, a+=2 等价于 a=a+2 x*=y+5 等价于 x=x*(y+5) x%=8 等价于 x=x%8 * * 3.自增自减运算符 增1运算符(++) 减1运算符(--) C语言中两个较为独特的单目运算符。 它既可以在操作数前,也可以在操作数后,其操作对象只能是变量,不能是常量或表达式。 自增自减运算符的作用是将操作对象的值增加1或减去1。 例如:i++,i-- 表示在使用i值之后将i值加(减)1 ++i,--i 表示在使用i值之前将i值加(减)1 若i=5,则: x=++i; i=i+1=5+1=6,x=i=6 x=i++; x=i=5,i=i+1=5+1=6 * * 说明: (1)++和--仅适用于变量,不能用于常量或表达式。 (2)++和--运算符的结合方向是“自右向左”。 例如: main() { int a=100; printf(″a++=%d\n″,a++); printf(″++a=%d\n″,++a); printf(″a--=%d\n″,a--); printf(″--a=%d\n″,--a); } a++=100 ++a=102 a--=102 --a=100 输出结果: * * 三、 关系运算符和关系表达式 1.关系运算符 关系运算符均为二目运算符,共有以下6种: 大于 小于 = 大于等于 = 小于等于 == 等于 != 不等于 * * 关系运算符要求两个操作数是同一种数据类型,其结果为一逻辑值,即关系成立时,其值为真(true),用非0值表示;关系不成立时,其值为假(false),用0表示。 关系运算符的优先级低于算术运算符,关系运算符==和!=低于前四种运算符,并且结合方向均为自左至右。 2.关系表达式 由关系运算符将两个表达式连接起来的有意义的式子称为关系表达式。 xy,a+b100为合法的关系表达式 例如:a+bc-6 先进行a+b和c-6两个算术表达式的运算,得到两个值后再进行比较,从而求出关系表达式的值。由关系运算符和其运算对象组成的表达式称为关系表达式,其值为0或非0。 关系表达式的值是一个逻辑值,即“真”或“假”。 * * 在C语言中,常用1表示“真”,用0表示“假”。例如:当xy为“真”时,其表达式的值为1;当xy为“假”时,其表达式的值为0。 可以将关系表达式的运算结果(0或1)赋给一个整型变量或字符型变量,如:a=4,b=1,下面的赋值语句将1赋给变量c: c=ab;c的值
文档评论(0)