一 c语言提供的运算符类型
以上会后续介绍
二 现阶段我们掌握如下的基本操作符
注意!计算机的除法只会保留整数部分(若被除数未负则不同的软件取整的结果不唯一)
三 自加(++)自减(--)符号
若为++i 则使用之前让i的值先加减
若为i++则使用之后让i的值先加减
此符号常用于循环时打破循环条件自加或自减
举例 体会位置的重要
四 混合运算的优先性和不同类型数据之间的混合运算
C 语言中运算符的优先级决定了表达式中运算的顺序。当一个表达式中有多个运算符时,会按照优先级从高到低的顺序进行计算。以下是常见运算符的优先级顺序(从高到低):
1. 单目运算符,如逻辑非`!`、取地址`&`、解引用指针`*`、正号`+`(作为正号时)、负号`-`(作为负号时)、自增`++`、自减`--`、按位取反`~`、`sizeof`等。
2. 乘法类运算符:乘法`*`、除法`/`、取模`%`。
3. 加法类运算符:加法`+`、减法`-`。
4. 位移运算符:左移`<<`、右移`>>`。
5. 关系运算符:小于`<`、小于等于`<=`、大于`>`、大于等于`>=`、等于`==`、不等于`!=`。
6. 位与运算符:`&`。
7. 位异或运算符:`^`。
8. 位或运算符:`|`。 9. 逻辑与运算符:`&&`。
10. 逻辑或运算符:`||`。
11. 条件运算符(三目运算符):`? :`。
12. 赋值运算符,如简单赋值`=`、复合算术赋值(`+=`、`-=`、`*=`、`/=`、`%=`等)、复合位运算赋值(`<<=`、`>>=`、`&=`、`^=`、`|=`等)。
13. 逗号运算符:`,`。
需要注意的是,所有双目运算符中只有赋值运算符的结合方向是从右往左,而单目运算符和三目运算符(条件运算符)的结合方向也是从右往左,其余运算符的结合方向均是从左往右。 例如,在表达式`a = b + c * d`中,由于乘法运算符`*`的优先级高于加法运算符`+`,所以会先计算`c * d`的结果,然后再将其与`b`相加,最后将结果赋值给`a`。 如果对于运算符的优先级不确定,为了避免混淆和提高代码的可读性,可以使用括号来明确指定运算的顺序。例如,`(b + c) * d`就明确表示先计算括号内的`b + c`,再与`d`相乘。 另外,在 C 语言的混合运算中还涉及不同类型数据的运算,其规则如下: 1. 进行`+`、`-`、`*`、`/`运算的两个数中如果其中有一个为`float`或者`double`类型,那么结果就是`double`类型。这是因为系统会将所有`float`型转换为`double`型,然后再进行运算,这样可以保证运算的精度,因为`double`类型能够表示更大的数值范围和更高的精度。 2. 当`int`型与`float`或`double`型数据进行运算时,先把`int`型转换为`double`型,然后再进行运算,结果也是`double`型。 3. 字符(`char`)型数据与整型数据进行运算时,是把字符首先转换为标准的 ASCII 码值再进行运算。
例如利用 ASCII进行运用使得整数类型和字符类型相结合
五 强制转换类型
(类型名)(表达式)”注意括号不能加错)