C++入门 5-4.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 选择和决策 作决策是任何一种计算机编程的基础。如果不能根据比较数据值的结果来改变程序中指令的执行顺序,就不能用计算机程序解决大多数问题。 本章将探讨如何在C++程序中作出选择和决策。这将允许检查程序输入的有效性,编写出根据输入数据来执行相应动作的程序。程序应可以解决基于逻辑的问题。 本章主要内容 如何比较数据值 如何根据结果修改程序的执行顺序 逻辑运算符和逻辑表达式的概念以及用法 如何处理多个选择 4.1 比较数据值 要作出决策,需要一种比较机制,而比较有几种类型。像“如果交通信号灯是红色,就停车”这样的决策就涉及到相等比较。在这种情况下,需要比较信号灯的颜色和参考颜色(即红色),如果它们相同,就停车。另一方面,像“如果车速超过极限值,就减速”这样的决策涉及到另一种关系:检查车速是否大于当前的速度极限值。这两种比较是类似的,因为它们都会得到下面两个值中的一个:真或假。这就是C++中的比较过程。 使用一些运算符就可以比较数据值,这些运算符称为关系运算符。用于比较两个值的有6个基本运算符,如表4-1所示。 表4-1 关系运算符 关系运算符 说 明 关系运算符 说 明 小于 = 小于等于 大于 = 大于等于 == 等于 != 不等于 注释: 其中的“等于”比较运算符(==)是两个连续的等号,它不同于只包含一个等号的赋值运算符(=)。在进行相等比较时,常常容易犯只使用一个等号的错误。对此,编译器一般不会发出错误消息,因为表达式可能是有效的,只是不能得出我们希望的结果。所以用户需要非常小心,避免出现这种错误。 这些二元运算符都是比较两个值,如果比较是真,就返回true,否则就返回false。值true和false是C++中的关键字,也是一种新的字面量,称为布尔字面量(以布尔代数之父George Boole的名字命名),其类型是bool。 如果把值true强制转换为整数类型,结果就是1,如果把值false强制转换为整数类型,结果就是0。还可以把数值强制转换为bool类型。0会强制转换为false,其他非0值则强制转换为true。 与其他标准类型一样,也可以创建bool类型的变量,来存储布尔值。声明该变量的方法与声明其他类型的变量一样,例如: bool decision = true; //Declare, define and initialize a logical variable 这个语句把变量decision声明并定义为布尔类型,还给它赋予初始值true。 4.1.1 应用比较运算符 下面介绍几个使用比较运算符的例子,说明其工作原理。假定有两个整数变量i和j,其值分别是10和–5。在下面的逻辑表达式中使用它们: i j i!=jj –8i = j + 15 这些表达式都等于true。注意在最后一个表达式i = j + 15中,相加运算j + 15要先执行,因为+的优先级高于=的优先级。可以在bool类型的变量中存储这些表达式的结果。例如: decision = i j; //true if i is greater than j, false otherwise 如果i大于j,就在bool变量decision中存储true,否则就存储false。 也可以比较char类型的变量。假定定义了下面的变量: char first = A; char last = z; 现在编写使用这些变量的比较示例,如下所示: first lastE = firstfirst != last 第一个表达式检查first的值A是否小于last的值z,这总是true。参考附录A中这些字符的ASCII编码,就可以验证这一点。大写字母用一组递增的数值65~90来表示,65表示A,90表示Z。第二个表达式的结果为false,因为E大于first的值。最后一个表达式是true,因为A肯定不等于z。 输出bool值与输出其他类型的值一样简单,下面举一个例子。 程序示例4.1—— 比较数据值 这个例子从键盘上读取两个char值,输出比较它们的结果: //Program 4.1 Comparing data values #include iostream using std::cin; using std::cout; using std::endl; int main() { char first = 0;//Stores the first character char second = 0;//Stores the second character //Prompt for and read in the first character coutEnter a character:; cin fi

文档评论(0)

mv2323 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档