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

c第三章表达恶式和语句.ppt

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

C++规定,if…else语句成对的规则是:else连接到上面第1个没有配对的且为可见的if上。所以上例的else应属于第二个if语句,即第一种解释。 又例如: if(条件) if(条件) { if(条件) 语句; } else 语句; 上例的else连到第2个if上,因为第3个if不可见。第2个if是else最先碰到的没有配对过的if。 3.7 条件运算符 条件运算符的语法为: (条件表达式)?(条件为真时的表达式):(条件为假时的表达式) 例如: x=ab?a:b; 条件运算符构成一个表达式。它是C++中唯一一个3目运算符,它们之间用“?”和“:”隔开。上例中,把a和b中较小的值赋给x。该例是if…else语句的一个替代: if(ab) x=a; else x=b; 条件运算符构成的表达式,它是有值的。而if…else语句不能有值,所以if…else语句不能替代条件运算符。例如,下面的代码不能由if…else替代: cout(ab?a:b)endl; 输出语句要打印一个值,该值是a与b的较小值。由于 优先级高于条件运算符,所以输出语句中要将条件运算符构成的表达式用括号括起来。 条件运算符表达式的值与测试值没有直接的关系。例如: cout(number==1?”file”:”files”)endl; 该输出语句中,条件运算符表达式的条件若成立,取值为“file”,否则,取值为“files”。其中,条件为两个整型数的比较,而表达式的值为字符串。 条件运算符可以嵌套。例如: xy?”greater than ”:x==y?”equal to”:”less than” 它等价于: (xy)?”greater than”:((x==y)?”equal to”:”less than”) 当xy时,值为“greater than”,x==y时,值为“equal to”, 否则,值为“less than”。条件运算符的嵌套可读性不够好。 在一个条件运算符的表达式中,如果后面两个表达式的值类型相同,均为左值,则该条件运算符表达式的值为左值表达式。例如: int x=5; long a,b; (x?a:b)=1; (x?x:a)=2; (x==2?1:a)=3; 任何被转换的变量都不是左值。 在C中,条件运算符不能作左值的。 3.8 逗号表达式 逗号表达式的语法为: 表达式1,表达式2,…,表达式n C++顺序计算表达式1,表达式2,……,表达式n的值。 例如: int a,b,c; a=1,b=a+2,c=b+3; 由于按顺序求值,所以能够保证b一定在a赋值之后,c一定在b赋值之后。该逗号表达式可以用下面3个有序的赋值语句来表示: a=1; b=a+2; c=b+3; 逗号表达式是有值的,这一点是语句所不能代替的。逗号表达式的值为第n个子表达式的值,即表达式n的值。例如 int a,b,c,d; d=(a=1,b=a+2,c=b+3); coutdendl; 输出结果为: 6 上例中输出的结果d即为c的值。 逗号表达式还可以用于函数调用中的参数。例如: func(n,(j=1,j+4),k); 该函数调用有3个参数,中间的参数是一个逗号表达式

文档评论(0)

150****4233 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档