开运算和闭运算_C++入门到精通(九),条件语句的逻辑运算

学校评三好学生,候选人必须要德,智,体全面发展才能够评的上;学校开运动会,运动员只要在某一个项目上是全校第一就能获得单项冠军。现实生活中,有些条件会很严格,要数项同时满足才算符合条件;而有些条件会很松,只要符合其中某一项就算符合条件了。在程序设计中,也会遇到这样的问题。

47b2a0addc97a78c056027bf00d0634e.png

我们往往用“并且”和“或”两个词来描述这些情况。在程序设计中,用逻辑运算来描述。它们称之为“与”,“或”,“非”。逻辑“与”的操作符是&&,逻辑“或”的操作符是‖,逻辑“非”的操作符是!。

30331e65c7fecbebc942cdcdd85fafe7.png

如果用集合A和集合B分别来描述两个不相同的条件A和B,那么A&&B表示要满足集合A与集合B的交集。A‖B表示要满足集合A与集合B的并集,!A表示要满足集合A的补集。

那么,关系操作符和逻辑操作符的优先级是怎么样的呢?和简单的表达式一样,括号的优先级仍然是最高,无论什么情况都应该从左到右的计算括号内的结果。当算数操作符,关系操作符和逻辑操作处于同一级的括号时,则分别是从左到右地依次进行逻辑非运算,算数运算,关系运算,逻辑与运算和逻辑或运算。

c2f976339ad7f297e7a537726f2ff93a.png

经过上面的逻辑运算讲解,我们来个程序示例,按学生的成绩输出优,良,差。

#include "iostream.h"

int main ()

{

int mark;

cout <

cin >> mark;

if (mark>=80 && mark <=100) cout <

if (mark>=60 && mark <80) cout <

if (mark>=0 && mark <60) cout <

if (mark< 0 || mark >100) cout <

return 0;

}

a46d9000a1dabcf87ae11ef858795803.png

将关系运算和逻辑运算配合使用,可以将数值有效的分段,以上这段程序就是按不同段的分数输出不同的结果。

我们用现实中的话来解释代码中的四条判断语句:

第一条if语句说的是;如果分数大于等于80与分数小于等于100,就输出优

第二条说的是;如果分数大于等于60与分数小于80,就输出良

第三条说的是;如果分数大于等于0与分数小于60,就输出差,

第四条说的是;如果分数小于0或者大于100,程序输出了错误。

不少软件有时候会有bug,使得软件的安全性和稳定性受到了影响。而产生这些漏洞的部分原因是程序员在设计程序时有所疏漏,没有考虑到可能引起错误的特殊情况。这种可能引起程序异常的情况称为临界情况,如果在a/b中,b=0就是一种临界情况,如果不考虑它则导致除数为0而使整个程序崩溃。用if语句就能够避免一些可以预知的错误,把那些临界情况引入纠错程序。

本篇完!喜欢这篇文章的朋友可以收藏与转发,欢迎大家在下方评论留言,下一篇《条件语句中的“否则”》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值