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




形态学开运算闭运算顶帽作用 开运算和闭运算的作用_操作符


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


形态学开运算闭运算顶帽作用 开运算和闭运算的作用_开运算和闭运算_02


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

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


形态学开运算闭运算顶帽作用 开运算和闭运算的作用_开运算和闭运算_03


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

#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;
}


形态学开运算闭运算顶帽作用 开运算和闭运算的作用_操作符_04


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

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

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

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

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

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

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