📜  C语言中运算符的大小——C语言(1)

📅  最后修改于: 2023-12-03 15:14:27.137000             🧑  作者: Mango

C语言中运算符的大小

1. 概述

在C语言中,运算符是用于执行特定操作的符号或关键字。运算符的优先级不同,使用时需要特别注意。

2. 运算符的分类

C语言中的运算符可以分为以下几类:

  • 算术运算符:用于执行基本的算术运算,如加减乘除、求余等。
  • 关系运算符:用于比较两个值之间的关系,如大于、小于、等于等。
  • 逻辑运算符:用于分析逻辑表达式的真假值,如与、或、非。
  • 位运算符:用于对整数的二进制位进行操作,如按位与、按位或、按位取反等。
  • 赋值运算符:用于给变量赋值,如=、+=、-=等。
  • 其他运算符:如条件运算符(?:)、逗号运算符(,)等。
3. 运算符优先级

在C语言中,不同运算符有不同的优先级。例如,算术运算符的优先级比关系运算符和逻辑运算符高,而赋值运算符的优先级则比算术运算符低。

以下是运算符的优先级从高到低的顺序:

  1. 括号():用于提高表达式的优先级。
  2. 单目运算符:如正负号、逻辑非等。
  3. 乘、除、取余:*、/、%
  4. 加、减:+、-
  5. 移位运算符:<<、>>
  6. 关系运算符:>、>=、<、<=
  7. 关系运算符:==、!=
  8. 按位与:&
  9. 按位异或:^
  10. 按位或:|
  11. 逻辑与:&&
  12. 逻辑或:||
  13. 条件运算符:?:
  14. 赋值运算符:=、+=、-=等
  15. 逗号运算符:,
4. 示例代码

以下代码示例演示了C语言中各种运算符的优先级和使用方法:

#include <stdio.h>

int main()
{
    int a = 10, b = 20, c = 0;

    c = a + b * 2;    // 先执行乘法,再执行加法
    printf("c = %d\n", c);

    c = (a + b) * 2;  // 先执行括号里的加法,再执行乘法
    printf("c = %d\n", c);

    c = a > b || a < 5;  // 先执行关系运算符,再执行逻辑运算符
    printf("c = %d\n", c);

    c = a ^ b & 0x0F;    // 先执行位运算符,再执行按位异或
    printf("c = %d\n", c);

    c = a = b;           // 先执行右侧的赋值,再执行左侧的赋值
    printf("c = %d\n", c);

    return 0;
}

以上代码输出结果为:

c = 50
c = 60
c = 1
c = 10
c = 20
5. 总结

C语言中的运算符优先级对程序员来说非常重要,因为它们可以影响表达式的计算结果。必须深入理解各种运算符的优先级和使用方法,才能编写正确的代码。