C 语言中的运算符
                           
天天向上
发布: 2025-03-30 21:49:08

原创
724 人浏览过

C 语言中的运算符是用来执行各种操作的符号,主要包括算术运算、关系运算、逻辑运算等。C 语言有多种类型的运算符,以下是常见的分类:

  1. 算术运算符(Arithmetic Operators)
  2. 关系运算符(Relational Operators)
  3. 逻辑运算符(Logical Operators)
  4. 位运算符(Bitwise Operators)
  5. 赋值运算符(Assignment Operators)
  6. 自增/自减运算符(Increment/Decrement Operators)
  7. 条件运算符(Conditional (Ternary) Operator)
  8. 逗号运算符(Comma Operator)
  9. 指针运算符(Pointer Operators)
  10. 类型转换运算符(Type Casting Operator)

以下是各类运算符的详细介绍:


1. 算术运算符(Arithmetic Operators)

用于进行常见的数学运算。

运算符描述例子
+加法a + b
-减法a - b
*乘法a * b
/除法a / b
%取余(模运算)a % b

示例:

#include <stdio.h>

int main() {
    int a = 10, b = 5;
    printf("a + b = %d\n", a + b);  // 15
    printf("a - b = %d\n", a - b);  // 5
    printf("a * b = %d\n", a * b);  // 50
    printf("a / b = %d\n", a / b);  // 2
    printf("a %% b = %d\n", a % b); // 0
    return 0;
}

2. 关系运算符(Relational Operators)

用于比较两个值的关系,返回一个布尔值(truefalse)。

运算符描述例子
==等于a == b
!=不等于a != b
>大于a > b
<小于a < b
>=大于等于a >= b
<=小于等于a <= b

示例:

#include <stdio.h>

int main() {
    int a = 10, b = 5;
    printf("a == b: %d\n", a == b);  // 0 (false)
    printf("a != b: %d\n", a != b);  // 1 (true)
    printf("a > b: %d\n", a > b);    // 1 (true)
    printf("a < b: %d\n", a < b);    // 0 (false)
    return 0;
}

3. 逻辑运算符(Logical Operators)

用于进行布尔值逻辑操作。

运算符描述例子
&&逻辑与(AND)a && b
||逻辑或(OR)a || b
!逻辑非(NOT)!a

示例:

#include <stdio.h>

int main() {
    int a = 1, b = 0;
    printf("a && b: %d\n", a && b);  // 0 (false)
    printf("a || b: %d\n", a || b);  // 1 (true)
    printf("!a: %d\n", !a);          // 0 (false)
    return 0;
}

4. 位运算符(Bitwise Operators)

用于在二进制位级别上执行操作。

运算符描述例子
&位与(AND)a & b
|位或(OR)a | b
^位异或(XOR)a ^ b
~位非(NOT)~a
<<左移a << 2
>>右移a >> 2

示例:

#include <stdio.h>

int main() {
    int a = 5, b = 3;
    printf("a & b: %d\n", a & b);  // 1
    printf("a | b: %d\n", a | b);  // 7
    printf("a ^ b: %d\n", a ^ b);  // 6
    printf("~a: %d\n", ~a);        // -6 (按位取反)
    printf("a << 2: %d\n", a << 2); // 20
    printf("a >> 2: %d\n", a >> 2); // 1
    return 0;
}

5. 赋值运算符(Assignment Operators)

用于给变量赋值。

运算符描述例子
=赋值a = b
+=加法赋值a += b
-=减法赋值a -= b
*=乘法赋值a *= b
/=除法赋值a /= b
%=取余赋值a %= b

示例:

#include <stdio.h>

int main() {
    int a = 5, b = 3;
    a += b;  // a = a + b
    printf("a += b: %d\n", a);  // 8
    a *= b;  // a = a * b
    printf("a *= b: %d\n", a);  // 24
    return 0;
}

6. 自增/自减运算符(Increment/Decrement Operators)

用于对变量进行加1或减1操作。

运算符描述例子
++自增运算符a++
--自减运算符a--

示例:

#include <stdio.h>

int main() {
    int a = 5;
    printf("a++: %d\n", a++);  // 5 (先返回再自增)
    printf("a: %d\n", a);      // 6
    printf("++a: %d\n", ++a);  // 7 (先自增再返回)
    return 0;
}

7. 条件运算符(Conditional (Ternary) Operator)

条件运算符是C语言中的一个三元运算符,它根据条件的真假返回不同的结果。

运算符描述例子
?:条件运算符(三元运算符)condition ? expr1 : expr2

示例:

#include <stdio.h>

int main() {
    int a = 5, b = 3;
    int max = (a > b) ? a : b;  // 如果a > b,则返回a,否则返回b
    printf("max = %d\n", max);   // 5
    return 0;
}

8. 逗号运算符(Comma Operator)

用于在一个表达式中执行多个操作,多个操作从左到右依次执行,返回最后一个操作的结果。

运算符描述例子
,逗号运算符a = (b = 5, b + 2)

示例:

#include <stdio.h>

int main() {
    int a, b;
    a = (b = 5, b + 2);  // 先给b赋值5,再执行b+2,最后将结果赋给a
    printf("a = %d, b = %d\n", a, b);  // a = 7, b = 5
    return 0;
}

9. 指针运算符(Pointer Operators)

指针运算符用于访问指针和地址相关的操作。

运算符描述例子
&地址运算符&a
*解引用运算符*p

示例:

#include <stdio.h>

int main() {
    int a = 10;
    int *p = &a;  // p存储a的地址
    printf("a = %d\n", *p);  // 输出: 10
    return 0;
}

10. 类型转换运算符(Type Casting Operator)

用于将一个数据类型转换为另一个数据类型。

运算符描述例子
(type)类型转换运算符(int)a

示例:

#include <stdio.h>

int main() {
    float a = 3.14;
    int b = (int)a;  // 强制转换为整数
    printf("b = %d\n", b);  // 3
    return 0;
}

总结

C 语言提供了多种运算符来执行不同类型的操作,运算符的熟练掌握对开发高效、清晰的程序至关重要。更多详细内容请关注其他相关文章!

发表回复 0

Your email address will not be published. Required fields are marked *