网站大量收购独家精品文档,联系QQ:2885784924

[工学]2-1 数据类型、运算符和表达式.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]2-1 数据类型、运算符和表达式

①结果类型一定为int,如果操作数关系成立则结果为非0(一般为1),否则为0。 注意C语言中没有表示逻辑真值和逻辑假值的数据。任何非0值(一般为非0整数)都表示逻辑真,整数0表示逻辑假。 如:’a’!=’b’ 表达式值为非0, 50+70=100.0 表达式值为0. ②如果用浮点数比较来测试某个条件,则可能永远得不到所希望的结果。如设x,y为浮点变量,则表达式:x/y*y= =x 值可能不成立。 若需要判别两实数是否大约相等,可用下式表示: fabs(y-x)1e-5 ③ 数学中a≤x≤b与C中a=x=b含义不同。 若a=0,b=0.5,x=0.3。则执行?“a=x=b”时先求a=x得1(真)再执行1=b得0(假)。 为判别x是否在区间[a,b]内应为: a=x x=b ④ 表达式5278在数学中不允许,在C中是允许的。按自左向右的原则: 52为1 17为0 08为0  整个表达式为的值0 ij3 ij-1 结果永远为1 ⑤ 关系表达式的值为0,1也可看作整型表达式。如: int i=1,j=7,a; a=i+(j%4!=0);  最后a的值为2 ⑥ 字符比较按ASCⅡ码进行     ‘b’’a’为1 ‘a’’A’为1 ‘a’0为0 ‘\0’=0为1 ⑦ 例:z=3-1=x+1=y+z 若x为2,y=3 则z的值为1 2.3.3 逻辑运算 运算符 运算 名称 运算法则 结合性 逻辑与 当两个操作对象都为“真”时,运算结果为“真”,其他情况运算结果都为“假”。 左结合 || 逻辑或 只有当两个操作对象都为“假”,运算结果才为“假”,其他情况运算结果都为“真”。 左结合 ! 逻辑非 当操作对象为“真”时,运算结果为“假”;当操作对象为“假”时,运算结果为“真”。 右结合 C语言中提供的三种逻辑运算符及运算法则见下表所示: a b !a ab a||b 1 1 0 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 0 注: 1可用任何非0操作数代替,下同。 如:( c=’a’ ) (c=’z’ ) 或 c=’z’c=’a’ 其结果:如果变量c的值是小写字母,则上式为真(非0)否则为0。 d’0’||d’9’ 若d为非数字时,表达式为非0 。否则为0 !i等价于 i= =0 但!i 比i= =0效率高,若c为字符型,检查c 是否为空白字符时 用!c 比 c= =’\0’好 如果判断数字字符: D=’0’ d=’9’ 短路表达式:对于逻辑与()运算,当左操作数为0(假)时整个表达式的值已确定为假, 则右操作数根本就不计算(运算短路)。 如:int i=1,j=1,k=1; i1k=i+j 其结果整个表达式的值为0(假),k的值为1。 0 (……) 对于逻辑或(||)运算,当左操作数为非0(真)时整个表达式的值已确定为真,则右操作数根本就不计算。 如:int i=1,j=1,k=1; i==1||k=i+j 其结果整个表达式的值为1(真),k的值为1。 1 || (……) 2.3.4 自增、自减运算 自增和自减运算符包括:++(增1) --(减1) “++”和“--”是单目运算符,操作数必须是可更改的左值表达式。 左值表达式是一个表示存储单元的表达式,一般为不带const说明的变量名。带const说明的标识符是不可更改的左值表达式。 可更改的左值表达式包括:基本类型的变量名、下标表达式、指针变量名和间接访问表达式(*指针变量)、结构成员选择表达式和结构变量名。用()括起来的左值表达式也是左值表达式。 2.3.4 自增、自减运算 “+ +”将操作数加1,“ --”将操作数减1,结果类型与操作数类型相同。整型或浮点型操作数按整型数值1增加或减少,指针类型操作数以后讲。 “+ +”或 “--”可以出现在操作数前面(前缀式)或后面(后缀式) 如 ++n - -n n++ n- - 。 前缀式先将操作数增(减)1,然后取操作数的新值作为表达式的结果。 例如若n=1 则 ++n结果为2,n的新值为2。 后缀式将操作数增(减)1之前的值作为表达式的结果。操作数的增(减)1运算是在引用表达式的值之后完成的称为后缀++(或――)的计算延迟。一直延迟到出现下面情况时,操作数才增(减1)。 一直延迟到出现下面情况时,操作数才增(减1)。 ·逻辑与运算符  ·逻辑或运算符 || ·条件运算符  ?:  ·顺序求值运算符 , ·一个完整的表达式(包括以语句形式出现的表达式,选择语句中的选择表达式,循环语句中的控制表达式,ret

文档评论(0)

ipbohn97 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档