📜  C运算符(1)

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

C运算符

C语言中的运算符是用来执行各种操作的符号。在本文中,我们将讨论C语言中各种运算符及其用法。

算术运算符

C语言中的算术运算符用于执行常见的算术操作。以下是C语言中可用的算术运算符:

| 运算符 | 描述 | | ----- | ---- | | + | 加 | | - | 减 | | * | 乘 | | / | 除 | | % | 取模 |

下面是一个示例代码,说明算术运算符的用法:

int a = 10, b = 5;
int sum = a + b;  // 加法
int diff = a - b;  // 减法
int product = a * b;  // 乘法
int quotient = a / b;  // 除法
int remainder = a % b;  // 取模

printf("Sum: %d\n", sum);
printf("Difference: %d\n", diff);
printf("Product: %d\n", product);
printf("Quotient: %d\n", quotient);
printf("Remainder: %d\n", remainder);
关系运算符

C语言中的关系运算符用于比较变量之间的值。以下是C语言中可用的关系运算符:

| 运算符 | 描述 | | ----- | ---- | | == | 相等 | | != | 不相等 | | > | 大于 | | < | 小于 | | >= | 大于或等于 | | <= | 小于或等于 |

下面是一个示例代码,说明关系运算符的用法:

int a = 10, b = 5;
if (a == b) {
    printf("a is equal to b\n");
} else if (a > b) {
    printf("a is greater than b\n");
} else {
    printf("a is less than b\n");
}
逻辑运算符

C语言中的逻辑运算符用于执行逻辑操作。以下是C语言中可用的逻辑运算符:

| 运算符 | 描述 | | ----- | ---- | | && | 逻辑与 | | || | 逻辑或 | | ! | 逻辑非 |

下面是一个示例代码,说明逻辑运算符的用法:

int a = 10, b = 5, c = 7;
if (a > b && a > c) {
    printf("a is the largest\n");
} else if (b > a && b > c) {
    printf("b is the largest\n");
} else {
    printf("c is the largest\n");
}
位运算符

C语言中的位运算符用于执行二进制位操作。以下是C语言中可用的位运算符:

| 运算符 | 描述 | | ----- | ---- | | & | 按位与 | | | | 按位或 | | ^ | 按位异或 | | ~ | 按位取反 | | << | 左移 | | >> | 右移 |

下面是一个示例代码,说明位运算符的用法:

unsigned int a = 60;  // 0011 1100
unsigned int b = 13;  // 0000 1101
unsigned int c = 0;

c = a & b;  // 按位与,结果为 0000 1100
printf("a & b = %d\n", c);

c = a | b;  // 按位或,结果为 0011 1101
printf("a | b = %d\n", c);

c = a ^ b;  // 按位异或,结果为 0011 0001
printf("a ^ b = %d\n", c);

c = ~a;  // 按位取反,结果为 1100 0011
printf("~a = %d\n", c);

c = a << 2;  // 左移,结果为 1111 0000
printf("a << 2 = %d\n", c);

c = a >> 2;  // 右移,结果为 0000 1111
printf("a >> 2 = %d\n", c);
赋值运算符

C语言中的赋值运算符用于将一个值赋给一个变量。以下是C语言中可用的赋值运算符:

| 运算符 | 描述 | | ----- | ---- | | = | 简单赋值 | | += | 加后赋值 | | -= | 减后赋值 | | *= | 乘后赋值 | | /= | 除后赋值 | | %= | 取模后赋值 | | <<= | 左移后赋值 | | >>= | 右移后赋值 | | &= | 按位与后赋值 | | |= | 按位或后赋值 | | ^= | 按位异或后赋值 |

下面是一个示例代码,说明赋值运算符的用法:

int a = 10, b = 5;

a += b;  // a = a + b,结果为 15
printf("a = %d\n", a);

a -= b;  // a = a - b,结果为 10
printf("a = %d\n", a);

a *= b;  // a = a * b,结果为 50
printf("a = %d\n", a);

a /= b;  // a = a / b,结果为 10
printf("a = %d\n", a);

a %= b;  // a = a % b,结果为 0
printf("a = %d\n", a);
其他运算符

除了上面提到的运算符,C语言中还有其他的运算符。以下是C语言中可用的其他运算符:

| 运算符 | 描述 | | ----- | ---- | | sizeof | 返回数据类型的大小 | | & | 返回变量的地址 | | * | 指针变量 |

下面是一个示例代码,说明其他运算符的用法:

int a = 10;
int *ptr = &a;  // & 返回变量的地址
printf("Value of a: %d\n", a);
printf("Address of a: %p\n", &a);
printf("Value of ptr: %p\n", ptr);
printf("Value pointed to by ptr: %d\n", *ptr);  // * 指针变量
printf("Size of int: %d bytes\n", sizeof(int));  // sizeof 返回数据类型的大小
总结

本文中列举了C语言中常用的运算符及其用法。熟练掌握这些运算符对于C语言程序员来说至关重要。