C语言参悟-运算符表达式和语句
- 一、概述
- 二、运算符
- 0. 运算符分类
- 1. 数学运算符
- 2. 逻辑运算符
- 3. 二进制运算符
- 4. 便捷运算符
- 三、表达式
- 四、语句
一、概述
在我刚开始学C语言的时候,语句和运算符号这些对我来说还是很陌生的。
现在来看我对于这个的理解其实就是一种 处理数据语法的规范,因为计算机处理数据和我们人来处理数据是有不一样的。计算机面对我们现实生活,计算机其实是做了抽象,编程语言就是对处理真实世界的方法提供的一种处理工具,里面的运算符和表达式语句这些都是用编程语言来描述真实世界罢了。
运算符、表达式、语句也是处理数据的语法规范。也就是说编程语言能够处理这种符合规范的语句,在这个语法之外的情况是不能被处理的。就像英语一样,总是按照一定的规则,主谓宾之类的的规则。
- 语法规范
把 我们人 类别于 计算机
我们就能明白:一天的时间是24小时。 这个语句的意思
但是我们可能不太明白:24一天是的时间 的语句意思,但即是认识语句,但是很可能误解我们的意图。
计算机也是只能接收合法的规则信息,也就是编程语言编写的有效语句。
- 处理数据
编程语言的诞生就是为了方便人类来解决生活的问题。存在的意义就是解放人类,创造价值。解决问题就是需要处理问题,把问题以一定的形式输入到计算机里面成为计算机数据,再用编程语言编写出软件来处理数据,就达到了处理数据的目的啦。
二、运算符
运算符其实就是 C语言对数据进行一种处理的符号,我们可以用这些符号来解决真实世界中的任务。
运算符号和变量常量等等构成的一些式子,也叫运算符表达式和语句,这些就是处理数据的功能,完全是计算的功能。
0. 运算符分类
运算符 总是和参与运算的 运算单元 在一起的。运算符不能单独存在的哈,单独存在就失去其意义啦
就像下面的 j = i + j;
int i = 0, j = 0;
j = i + j;
j = (i + j) * j - j;
解释就像下面
i | + | j |
---|---|---|
运算单元 | 运算符 | 运算单元 |
( | i | + | j | ) | * | j | - | j |
---|---|---|---|---|---|---|---|---|
运算符 | 运算单元 | 运算符 | 运算单元 | 运算符 | 运算符 | 运算单元 | 运算符 | 运算单元 |
这里面就会引出两个问题:
- 一、1个运算符能够和几个 运算单元 组合
- 二、运算符 之间 共用 运算单元 的时候 是谁先算呢?
- 三、计算的顺序呢?-》这个一般就是从左到右计算的,
第一个问题其实就是在C语言里面会有这种概念叫 多目运算符 就三种
- 单目运算符:++;- - 就是一个运算符 与 一个运算单元组合 -》 1 对 1
就像 i++, i- - - 双目运算符:+ ;-;*;/;% 就是一个运算符 要和 两个运算单元组合 -》1 对 2
- 三目运算符:? : 就是一个运算符 要和 三个运算单元组合 -》1 对 3
第二个问题 C语言也有解决的概念叫 运算符优先级
下面的表格其实就是 对 C语言里面所有的运算符的介绍。
1. 数学运算符
数学符号就是和 我们认知里面的数学是一致的。
- +:加号
- -:减号
- *:乘号
- /:除号
- %:取余号
- =:赋值号
这个比较特殊,可以放在语句后面
int i = 0;
int j = 1;
j = j+i;
j = j-1;
2. 逻辑运算符
-
||:或:两个条件满足一个即可
-
&&:且
-
==:相等
-
!:取反
-
>:大于
-
>=:大于等于
-
<:小于
-
<=:小于等于
-
!=:不等于