算术运算符、关系运算符、逻辑运算符
文章里面的所有截图和“之前所学过的内容”都是来自于翁恺的C语言视频。
之前已经学习过简单的算术运算符、关系运算符(又称比较运算符)、逻辑运算符。为了避免混淆,查阅资料总结如下。(不是完整的优先级表,随着之后的学习会逐渐补充完整)
首先应该记住的是:
- 单目运算的优先级>其他运算>三目运算>赋值运算
- 一般情况下,算术运算的优先级>关系运算>逻辑运算>赋值运算
1 算术运算
不需要刻意记忆,按照我们日常生活中的规律去理解即可,比如乘除的优先级比加减高,一般情况下从左到右结合。值得注意的是:
- C语言中引入了 %,表示取两整数相除的余数。
- +和-运算符分别表示正号和负号,是单目运算符,优先级很高,结合方式右结合。
- 数学中学习的远大于(>>)和远小于(<<)符号在C语言中有其他的意思,不要弄混了。
之前学习所列的图表如下:
2 关系运算
之前学习过的关系运算符的内容如下:
我们可以先写出总结如下,然后进行解释说明:
关系运算符用于构成关系表达式。关系表达式为真时值为1,为假的时候值为0。通常用关系表达式作为测试条件的语句(如while和if)。但可以使用任何表达式作为测试条件,非零为真,零为假。
1.什么是真?
while循环经常依赖于测试表达式做比较,这样的表达式被称为关系表达式(relational expression),出现在关系表达式中间的运算符叫做关系运算符(relational operator)。关系运算符常用于构造while语句和其它C语句中用到的关系表达式。这些语句都会检查关系表达式为真还是假。
那么,什么是真呢?这是一个古老的问题,所幸的是在C语言中还不算太难。
之前学习过,在C中,表达式一定有一个值,关系表达式也不例外。我们来写程序测试关系表达式为真和为假的时候的值:
#include<stdio.h>
int main()
{
int true_val,false_val;
true_val = (10 > 2);
false_val = (10 == 2);