- 1、本文档共61页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 C语言基础 (二)关系运算符与关系表达式 关系运算符及优先级别 比较两个量的运算符称为关系运算符。 在C语言中有以下关系运算符: ,= , ,= ,= = ,!= 按照运算符的优先顺序可以得出: ab cd !b= =c||da a+bc x+yb (3)关于逻辑运算的说明 表达式 a b c 的求解过程 只有a为真时,才判别b的值;只有a和b均为真时,才判别c的值。 只要a为假,就不再判别b和c的值,直接求得表达式的值为假. 表达式a || b || c的求解过程 只要a为真,就不再判别b和c的值,直接求得表达式的值为真。 只有a为假时,才判别b的值;只有a和b均为假时,才判别c的值. 例如: x=a+b w=sin(a)+sin(b) 赋值运算符的结合方向:由右至左 因此 a=b=c=5可理解为: a=(b=(c=5)) 优先级:低于条件运算符 ?:,高于逗号运算符 , 说明: 如果赋值运算符两边的数据类型不相同,系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。 具体转换规定如下: 1)实型赋予整型,舍去小数部分。 2)整型赋予实型,数值不变,但将以浮点形式存放, 即增加小数部分(小数部分的值为0)。 3) 字符型赋予整型,由于字符型为一个字节,整型为二个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0。 4) 整型赋予字符型,只把低八位赋予字符量。 例:用程序验证不同类型变量的赋值的类型转换。 void main() { int a,b,c=322; float x,y=3.14; char ch1=a,ch2; a=y; x=c; b=ch1; ch2=c; printf(%d,%f,%d,%c,a,x,b,ch2); } 程序运行结果是: 在赋值符“=”之前加上其它二目运算符可构成复合赋值符。 如:+=, - =, *=, /=, %=, =, =, =, ^=, |= (五)逗号运算符和逗号表达式 例题2-5 main( ) { int a=2,b=4,c=6,x,y,z; y=(x=a+b),(b+c); z=(y=(x=a+b),(b+c)); printf(y=%d,x=%d,z=%d,y,x,z); } 五、数据类型转换 五、数据类型转换 五、数据类型转换 四、 运算符与表达式 【注意】 : (3)例如: i+++j C编译在处理时尽可能多地自左而右将若干个字符组成一个运算符(在处理标识符和关键字时也按同一原则处理),将解释为(i++)+j,而不是i+(++j)。 算术表达式 定义:由算术运算符、括弧、内部函数及数据组成的式子 需要掌握的书写原则: (1)表达式中的所有运算符和操作数必须并排书写。不能出现上下标(如x2,x2等)和数学中的分数线。 (2)在C表达式中不能省略乘号(如2ab、xy等)。 (3)要注意各种运算符的优先级别,为保持运算顺序,在写C表达式时需要适当添加括号(),若要用到库函数,必须按库函数要求书写。 四、 运算符与表达式 关系运算符的优先级: (1) 、=、、=优先级相等,= =、!=优先级相等,前者高于后者。 (2)算术运算符 关系运算符 赋值运算符 四、 运算符与表达式 关系表达式的一般形式为: 表达式 关系运算符 表达式 关系表达式的值是: 关系成立为“真”, 不成立则为“假” C语言中用 “1” 表示 “真” “0” 表示 “假” 例如: a+bc-d x3/2 ‘a’+1c -i-5*j= =k+1 都是合法的关系表达式。 四、 运算符与表达式 例如:当 a=5, b=4, c=3 时 a(bc) a!=(c= =b) 又如: (a=3)(b=5) 又如: 当 a=5, b=4 时 a =a+(3b) -------
文档评论(0)