学校评三好学生,候选人必须要德,智,体全面发展才能够评的上;学校开运动会,运动员只要在某一个项目上是全校第一就能获得单项冠军。现实生活中,有些条件会很严格,要数项同时满足才算符合条件;而有些条件会很松,只要符合其中某一项就算符合条件了。在程序设计中,也会遇到这样的问题。
![47b2a0addc97a78c056027bf00d0634e.png](https://i-blog.csdnimg.cn/blog_migrate/277e1f2082a20038a270ba7aee8c93a2.jpeg)
我们往往用“并且”和“或”两个词来描述这些情况。在程序设计中,用逻辑运算来描述。它们称之为“与”,“或”,“非”。逻辑“与”的操作符是&&,逻辑“或”的操作符是‖,逻辑“非”的操作符是!。
![30331e65c7fecbebc942cdcdd85fafe7.png](https://i-blog.csdnimg.cn/blog_migrate/af4a8697a94ff35b452d3ca328dac394.jpeg)
如果用集合A和集合B分别来描述两个不相同的条件A和B,那么A&&B表示要满足集合A与集合B的交集。A‖B表示要满足集合A与集合B的并集,!A表示要满足集合A的补集。
那么,关系操作符和逻辑操作符的优先级是怎么样的呢?和简单的表达式一样,括号的优先级仍然是最高,无论什么情况都应该从左到右的计算括号内的结果。当算数操作符,关系操作符和逻辑操作处于同一级的括号时,则分别是从左到右地依次进行逻辑非运算,算数运算,关系运算,逻辑与运算和逻辑或运算。
![c2f976339ad7f297e7a537726f2ff93a.png](https://i-blog.csdnimg.cn/blog_migrate/acbe63320d0196af482a8f3de34477cc.jpeg)
经过上面的逻辑运算讲解,我们来个程序示例,按学生的成绩输出优,良,差。
#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](https://i-blog.csdnimg.cn/blog_migrate/2fb429cc08050922002227ac54d7461b.jpeg)
将关系运算和逻辑运算配合使用,可以将数值有效的分段,以上这段程序就是按不同段的分数输出不同的结果。
我们用现实中的话来解释代码中的四条判断语句:
第一条if语句说的是;如果分数大于等于80与分数小于等于100,就输出优
第二条说的是;如果分数大于等于60与分数小于80,就输出良
第三条说的是;如果分数大于等于0与分数小于60,就输出差,
第四条说的是;如果分数小于0或者大于100,程序输出了错误。
不少软件有时候会有bug,使得软件的安全性和稳定性受到了影响。而产生这些漏洞的部分原因是程序员在设计程序时有所疏漏,没有考虑到可能引起错误的特殊情况。这种可能引起程序异常的情况称为临界情况,如果在a/b中,b=0就是一种临界情况,如果不考虑它则导致除数为0而使整个程序崩溃。用if语句就能够避免一些可以预知的错误,把那些临界情况引入纠错程序。
本篇完!喜欢这篇文章的朋友可以收藏与转发,欢迎大家在下方评论留言,下一篇《条件语句中的“否则”》