上节课2020自主招生不再组织,编程还是得学——C++之关系运算符我们学习了C++中的关系运算符,并且知道了如何求出一个关系运算符的结果,今天我们来学习逻辑运算符。
逻辑运算符
我们要学习的逻辑运算符有三种——与、或、非。需要补充一点的是——在计算机里面我们把0当作假,把非0当作真!
- 与——&&,在a&&b必须a和b同时成立,a&&b的值就是真,取1,否则取值0;
- 或——||,在a||b 在a或者b中有一个成立,a||b的值就是真,取1,只有a和b都不成立的时候才取值0;
- 非——!,!a中a成立则!a取值0,a不成立则!a取值1。
运算的优先级
至今为止我们学习了三种运算符,算术、关系和逻辑。当一个表达式中有不同类型的运算符的时候我们就要考虑运算的优先级,比如在数学中先乘除后加减,有括号则先算括号里面的,在C++里这个规则同样适用只是我们要先进行算术运算符的计算,再进关系运算符的计算,最后进行逻辑运算符的计算,例如对12>8+4*2&&7这个表达式进行计算时过程如下:
- 计算4*2——12>8+8&&7
- 计算8+8——12>16&&7
- 计算12>16——0&&7
- 计算0&&7——0
所以最终的结果是0,看看程序运行结果吧:
作业
写出这个表达式的计算结果——12>(8==2*4)-4*2&&7