- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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)