- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章(中文)
第五章 条件、逻辑表达式和选择控制结构
目标:
? 能够构造一个简单的逻辑(布尔)表达式来求一个给定条件的值。
? 能够构造一个复杂的逻辑表达式来求一个给定条件的值。
? 能够构造一条If-Then-Else语句来完成一个指定的工作。
? 能够构造一条If-Then语句来完成一个指定的工作。
? 能够构造一组If嵌套语句来完成一个指定的工作。
? 能够为一个模型确定前提条件和事后条件并使用它们执行一个算法过程。
? 能够跟踪一个C++程序的执行。
? 能够测试和调试一个C++ 程序。
5.1 控制流程程序中语句执行的顺序称为控制流程。控制流程通常是顺序执行的(见图5-1),当我们希望控制流程是非顺序的时候,我们使用控制结构,将控制流程转向指定的语句,而不是物理位置顺序接着的语句。控制结构:用来交换正常顺序控制流的语句选择当我们想要计算机选择两者之一的活动时,我们使用一个选择(或分支)控制结构,我们做一个判断,声称是真还是假,如果判断是真的,计算机执行一条语句,如果为假,计算机执行是一条语句(见图5-2)。
5.2 条件和逻辑表达式
在C++中为了提出一个问题,我们使用一个判断语句。计算机求取判断语句的值,依靠某种内部条件来检查它,看它是真还是假。布尔数据类型在C++中,布尔数据类型是仅由两个值组成的标准类型,两个值是常量true和false。保留字bool是Bolean的缩写。布尔数据在程序中用来测试条件,以便计算机能够做出判决(具有一个选择控制结构)。我们声明布尔类型变量与我们声明其它变量和方法一样,即写数据类型名,然而是标识符.。bool dataOK; //如果输入数据有效为真bool done ; //如果过程被做了为真bool taxable ; //如果项目有销售税为真每个bool类型变量可以包含两个值:true或fales之一,理解右边开始的true和fales不是变量名,也不是字符串是重要的,它们是C++中特殊的常量,事实上是保留字。逻辑表达式在C++中,判断采取逻辑表达式的形式。一个辑表达式由逻辑值和操作组成,每个逻辑表达式有两个值:true或false之一,这里是一些逻辑表达式的例子.
? 布尔变量或常量
? 一个表达式接着一个关系操作符再接着一个表达式
? 一个逻辑表达式接着一个逻辑操作符再接一个逻辑表达式让我们详细看看每一种形式:布尔变量和常量像我们已看到的一样,一个布尔变量是一个声明为bool类型的变量,它可包含一个true值也可包含一个false值,例如,如果dataOK是一个布尔变量,那么,dataOK = true;是一个有效的赋值语句。关系运算符另一个赋一个值给布尔变量的方法是:用一个关系运算符设置这个值等于两个表达式比较的结果,关系运算符测试两个表达式值之间的关系。让我们看一个例子,在下列程序段中,lessThan是一个布尔变量,i和j 是int变量:cin i j ;lessThan = ( i j ); // 如果i j赋true给lessThan比较两个值,我们判断它们之间存在的关系(像“小于”),如果关系存在,判断为真,如果关系不存在,判断为假,这些是C++中我们可以测试的关系:运算符 关系测试= = 等于!= 不等于 大于 小于= 大于或等于= 小于或等于用关系运算符把两个表达式连接起来的式子被称为关系表达式。关系表达式的结果是bool类型,例如,如果x是5并且y是10,下列表达式都有true值:x = = 5 y x y = xx ! = y x y x = y如果x是字符’M’并且y是’R’,表达式的结果仍是true ,因为用于字符中的关系运算符, 意思是“’M’在字符设置顺序对照表中在’R’之前”。例如,广泛使用的ASCll字符设置,所有大写字母是以字母顺序排列的,小写字母也是一样,但是,所有大写字母在小写字母之前,所以‘M’’R’ 和 ’m’’r’的值是true,但是‘m’’R’的值是false。当然,我们必须要小心我们所比较的事物的数据类型,最安全的方法是,总是将int的数据类型与int的数据类型比较,float的与float的比较,char的与char的比较等等。如果你在比较中混合了数据类型,隐含着出现类型强制就像描述表达式中的一样。如果一个int值与一个float值比较,计算机在比较之前,暂时强制int值为与它等值的float值。与描述表达式一样,使用显式类型转换使你的目的可知是明智的。someFloat = float(someInt)如果你比较一个布尔值和一个数字值(可能会出错),false值是暂时强制成数0,true强制
文档评论(0)