C语言运算符是描述特定操作的符号。 它们是构造 C 语言表达式的工具。 C语言的运算极其丰富。 除了控制语句和输入输出之外,几乎所有的基本操作都被处理为运算符。 除了算术运算符、关系运算符和逻辑运算符这三种常见类别外,还有一些用于完成特殊任务的运算符,例如按位运算符。
算术运算符:用于算术运算,包括+、-、*、/等。
关系运算符:用于比较运算,包括>、关系运算符>&&>|| > 赋值运算符
2数据类型转换
2.1 强制类型转换:就是将表达式显式转换为需要的类型。
模式1:(类型名称)(表达式)。
模式2:(类型名称)表达式。
示例:强制类型转换。
注意:强制类型转换不会改变原有变量和表达式的类型属性,只会转换为需要使用的类型。
2.2 隐式类型转换:整数、单精度、双精度等不同数值类型可以混合运算,运算过程中存在隐式类型转换。
隐式类型转换的规则是:从低位到高位转换,例如char和short可以转换为int。
3 算术运算符和算术表达式
3.1 基本算术运算符:包括+、-、*、/、%五个运算符。
3.2 特殊算术运算符:自加、自减。
前缀形式:先递增或递减操作数,然后将操作数的值引用为表达式的值。
后缀形式:首先引用操作数的值作为表达式的值,然后递增或递减操作数。 例子:
++a相当于a=a+1,--a相当于a=a-1;
a++相当于a=a+1,a--相当于a=a-1;
注:可以看出,单独使用时没有什么区别,但在表达式中对表达式的作用却不同。
示例代码:
4 赋值运算符和赋值表达式
4.1 简单赋值运算符
简单赋值的作用是将表达式的值赋给变量进行存储,如a=4;
注意:赋值运算左边必须是变量;
赋值操作的优先级比较低,仅优先于,;
4.2 复合赋值运算符
就是将运算和赋值结合起来,比如+=、-=等。
例如:m+=3等价于m=m+3;
4.3 赋值表达式的运算
使用表达式时应注意的事项:
4.3.1 复合赋值运算符。
示例代码:
5. 逻辑运算符
逻辑运算符根据表达式的值返回 true 或 false 值。 其实C语言中没有所谓的真值和假值。 只是非0为真值,0为假值。
符号函数
例如:
当表达式进行&&运算时,只要其中一个表达式为假,则总表达式为假。 只有当全部为真时,总表达式才为真。 当表达式执行 || 时运算时,只要其中一个表达式为真,则合计值为真。 只有当所有表达式都为假时,总表达式才为假。 逻辑非(!)运算将相应的变量数据转换为相应的真/假值。 如果它本来是假的,那么逻辑否定之后就会变成真; 如果它本来是真的,那么之后的逻辑否定就会变成假。
另一个重要的一点是,当逻辑表达式后半部分的值不影响整个表达式的值时,后半部分将不会被求值。 例如:
因为a=2为真值,所以无论b-1是否为真值,总表达式一定为真值,后面的表达式不再计算。
6 个关系运算符
关系运算符比较两个表达式并返回真/假值。
符号函数
这些操作符大家都能理解。 主要问题是等于==和赋值=之间的区别。
有些刚开始学习C语言的人总是对这两个运算符感到困惑。 他们常常在一些简单的问题上犯错误,自己检查也发现不了。 看下面的代码:
如果(=123)…
很多新人都明白,等于123就这样吧。 其实这行代码的意思是先赋值=123,然后判断表达式是否为真值。 因为结果是123,是真值,所以执行以下操作。 如果你想在等于123时运行,你应该 if(==123)...
7 个条件运算符
条件运算符(?:)是C语言中唯一的三元运算符。 它对第一个表达式执行真/假测试,然后根据结果返回其他两个表达式之一。
运算中,首先测试第一个表达式,如果为真,则返回表达式2的值; 如果为 false,则返回表达式 3 的值。
例如:
8 逗号运算符
在C语言中,多个表达式可以用逗号分隔。 用逗号分隔的表达式的值是单独计算的,但整个表达式的值是最后一个表达式的值。
假设:
对于第一行代码,有三个表达式,用逗号分隔,所以最终的值应该是最后一个表达式的值,即d+3,也就是8,所以a=8。 对于第二行代码,也有三个表达式。 此时的三个表达式分别是a2=++b,c--,d+3,(这是因为赋值运算符比逗号运算符的优先级更高)所以虽然最终表达式的值也是8,但是a2 =3。
需要更多学习笔记有用信息的朋友欢迎关注公众号【老九学院】(づ ̄3 ̄)づ╭❤~