C 运算符
C语言是一种广泛使用的编程语言,以其高效性和灵活性著称。在C语言中,运算符是构建表达式的基础,用于执行各种操作,如算术、比较、逻辑等。本文将详细介绍C语言中的各种运算符,包括它们的用法和示例。
算术运算符
算术运算符用于执行基本的数学运算。C语言中的算术运算符包括:
+
(加法)-
(减法)*
(乘法)/
(除法)%
(取模)
示例
c
int a = 10;
int b = 3;
int sum = a + b; // 加法
int diff = a - b; // 减法
int prod = a * b; // 乘法
int quot = a / b; // 除法
int mod = a % b; // 取模
关系运算符
关系运算符用于比较两个值,并返回一个布尔结果(真或假)。C语言中的关系运算符包括:
==
(等于)!=
(不等于)<
(小于)>
(大于)<=
(小于等于)>=
(大于等于)
示例
c
int x = 5;
int y = 10;
bool isEqual = (x == y); // false
bool isNotEqual = (x != y); // true
bool isLess = (x < y); // true
bool isGreater = (x > y); // false
bool isLessOrEqual = (x <= y); // true
bool isGreaterOrEqual = (x >= y); // false
逻辑运算符
逻辑运算符用于组合两个或多个条件,并返回一个布尔结果。C语言中的逻辑运算符包括:
&&
(逻辑与)||
(逻辑或)!
(逻辑非)
示例
c
int p = 1;
int q = 0;
bool andResult = (p && q); // false
bool orResult = (p || q); // true
bool notResult = !p; // false
位运算符
位运算符用于对整数类型的位进行操作。C语言中的位运算符包括:
&
(位与)|
(位或)^
(位异或)~
(位非)<<
(左移)>>
(右移)
示例
c
unsigned int m = 0b1010; // 二进制表示
unsigned int n = 0b1100;
unsigned int andBits = m & n; // 0b1000
unsigned int orBits = m | n; // 0b1110
unsigned int xorBits = m ^ n; // 0b0110
unsigned int notBits = ~m; // 0b0101
unsigned int leftShift = m << 2; // 0b101000
unsigned int rightShift = m >> 2; // 0b0010
赋值运算符
赋值运算符用于将值赋给变量。C语言中的赋值运算符包括:
=
(简单赋值)+=
(加后赋值)-=
(减后赋值)*=
(乘后赋值)/=
(除后赋值)%=
(取模后赋值)<<=
(左移后赋值)>>=
(右移后赋值)&=
(位与后赋值)^=
(位异或后赋值)|=
(位或后赋值)
示例
c
int z = 5;
z += 3; // z = z + 3
z -= 2; // z = z - 2
z *= 4; // z = z * 4
z /= 2; // z = z / 2
z %= 3; // z = z % 3
其他运算符
C语言还包括其他一些特殊用途的运算符,如:
sizeof()
(返回数据类型的大小)&
(取地址)*
(指针解引用)? :
(条件运算符)
示例
c
int arr[10];
int size = sizeof(arr); // size = 40 (假设int大小为4字节)
int *ptr = &arr[0]; // 取arr[0]的地址