C语言各种运算符详细含义及用法指南
编辑:本站更新:2024-12-06 04:46:29人气:6679
在C编程语言中,运算符是构建程序逻辑的核心工具之一。它们用于执行不同类型的计算、比较和赋值操作以及其他复杂的表达式处理任务。以下是关于C语言各类运算符的详尽解读及其使用方法:
1. **算术运算符**:
- `+`:加法运算符,例如 `a + b` 返回两个变量或常量之和。
- `-`:减法运算符,如 `c - d` 计算两者之间的差值;同时它还可作为一元运算符对数值进行取反(改变符号)的操作,如 `-e` 会返回 e 的相反数。
- `*`:乘法运算符,例 `f * g` 得到两者的积。
- `/`:除法运算符,在整型数据间做除法则得到整数部分结果,而浮点类型则能得到精确的小数结果,比如 `h / i`。
- `%`:求余(模)运算符,给出一个除法的结果中的余数,仅适用于整数类型。
2. **关系运算符**:
- `<` :小于运算符,如果左侧表达式的值小于右侧,则为真 (`true`) 否则是假(`false`)。
- `>` :大于运算符,判断左边是否大于右边。
- `<=` 和 `>=`: 分别表示小于等于与大于等于的关系测试。
- `==` : 等于运算符用来检查两边的数据是否有相同的值。
- `!=` : 不等运算符,若左右两侧不相等,则条件成立。
3. **位运算符**:
- `&`(按位与),对于每一位来说,只有当对应的两位都是1时才输出1,否则为0;
- `|`(按位或),只要对应位置有一位是1就输出1;
- `^`(异或), 对应二进制位相同为0,不同为1;
- `~`(补码/反转),单目运算是将所有比特位翻转过来,即把1变为0,0变成1;
- `<<`, 左移运算符,左面的数字向左移动右面指定的位置次数;
- `>>`, 右移运算符,类似地,但方向是从高位往低位移出指定位次。
4. **逻辑运算符**:
- `&&`(逻辑与): 当且仅当两边都为真的时候整个表达式才是真;
- `||`(逻辑或): 如果任意一边为真,则整体为真;
- `!`(逻辑非): 单个感叹号代表了对该布尔值的否定。
5. **赋值运算符**:
- `=`: 基本赋值运算符,直接给目标变量赋予新值,如 `x = y;`
- 复合赋值运算符包括`= += -= *= /= %= &= ^= |= >>= <<=` ,这些不仅完成基本的数学或者位运算,并将最终结果再赋回原变量,像这样:`z += a; // 相当于 z = z + a;`
6. **其他重要运算符**:
- 条件运算符 (三目运算符)`?:`,格式如下 `(condition)? expr1:expr2`; 若 condition 成立,其后接expr1并返回该值,反之执行expr2。
- sizeof 运算符可以获取对象或类型的大小(以字节计),如 `sizeof(int);`
7. **自增 & 自减运算符**:
- `++` (前置和后置形式)使变量增加1,区别在于前者先递增然后参与表达式计算,后者先参与计算然后再递增。
- `--` 是相应的减少1的版本,具有同样的前缀和后缀应用规则。
每个运算符都有特定优先级顺序以及结合性规定,请务必熟悉相关规范以免造成意料之外的行为。通过熟练掌握上述各组运算符的应用场景和特性,开发者可以在编写高效准确的C代码过程中游刃有余。
1. **算术运算符**:
- `+`:加法运算符,例如 `a + b` 返回两个变量或常量之和。
- `-`:减法运算符,如 `c - d` 计算两者之间的差值;同时它还可作为一元运算符对数值进行取反(改变符号)的操作,如 `-e` 会返回 e 的相反数。
- `*`:乘法运算符,例 `f * g` 得到两者的积。
- `/`:除法运算符,在整型数据间做除法则得到整数部分结果,而浮点类型则能得到精确的小数结果,比如 `h / i`。
- `%`:求余(模)运算符,给出一个除法的结果中的余数,仅适用于整数类型。
2. **关系运算符**:
- `<` :小于运算符,如果左侧表达式的值小于右侧,则为真 (`true`) 否则是假(`false`)。
- `>` :大于运算符,判断左边是否大于右边。
- `<=` 和 `>=`: 分别表示小于等于与大于等于的关系测试。
- `==` : 等于运算符用来检查两边的数据是否有相同的值。
- `!=` : 不等运算符,若左右两侧不相等,则条件成立。
3. **位运算符**:
- `&`(按位与),对于每一位来说,只有当对应的两位都是1时才输出1,否则为0;
- `|`(按位或),只要对应位置有一位是1就输出1;
- `^`(异或), 对应二进制位相同为0,不同为1;
- `~`(补码/反转),单目运算是将所有比特位翻转过来,即把1变为0,0变成1;
- `<<`, 左移运算符,左面的数字向左移动右面指定的位置次数;
- `>>`, 右移运算符,类似地,但方向是从高位往低位移出指定位次。
4. **逻辑运算符**:
- `&&`(逻辑与): 当且仅当两边都为真的时候整个表达式才是真;
- `||`(逻辑或): 如果任意一边为真,则整体为真;
- `!`(逻辑非): 单个感叹号代表了对该布尔值的否定。
5. **赋值运算符**:
- `=`: 基本赋值运算符,直接给目标变量赋予新值,如 `x = y;`
- 复合赋值运算符包括`= += -= *= /= %= &= ^= |= >>= <<=` ,这些不仅完成基本的数学或者位运算,并将最终结果再赋回原变量,像这样:`z += a; // 相当于 z = z + a;`
6. **其他重要运算符**:
- 条件运算符 (三目运算符)`?:`,格式如下 `(condition)? expr1:expr2`; 若 condition 成立,其后接expr1并返回该值,反之执行expr2。
- sizeof 运算符可以获取对象或类型的大小(以字节计),如 `sizeof(int);`
7. **自增 & 自减运算符**:
- `++` (前置和后置形式)使变量增加1,区别在于前者先递增然后参与表达式计算,后者先参与计算然后再递增。
- `--` 是相应的减少1的版本,具有同样的前缀和后缀应用规则。
每个运算符都有特定优先级顺序以及结合性规定,请务必熟悉相关规范以免造成意料之外的行为。通过熟练掌握上述各组运算符的应用场景和特性,开发者可以在编写高效准确的C代码过程中游刃有余。
www.php580.com PHP工作室 - 全面的PHP教程、实例、框架与实战资源
PHP学习网是专注于PHP技术学习的一站式在线平台,提供丰富全面的PHP教程、深入浅出的实例解析、主流PHP框架详解及实战应用,并涵盖PHP面试指南、最新资讯和活跃的PHP开发者社区。无论您是初学者还是进阶者,这里都有助于提升您的PHP编程技能。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。