C 运算符

  • Post category:C

C 运算符

C 语言作为一门计算机编程语言,自然少不了运算操作。C 语言中的运算符是一类特殊的符号,用于执行数学和逻辑运算。在本文中,我们会详细讲解 C 语言中可用的各种运算符及其使用方法。

算术运算符

算术运算符用于执行加减乘除等基本数学运算。常见的算术运算符如下:

运算符 描述 示例
+ 加法 2 + 3 = 5
减法 5 – 2 = 3
* 乘法 2 * 3 = 6
/ 除法 7 / 2 = 3
% 取模(取余数) 7 % 2 = 1

其中,取模运算符“%”适用于整数,用于求两个数相除的余数。

以下是一个示例程序,演示了算术运算符的使用方法:

#include <stdio.h>

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

赋值运算符

赋值运算符用于给变量赋值。常见的赋值运算符是“=”。其他一些赋值运算符可以通过其他运算符和“=”组合而成,如“+=”、“-=”、“*=”、“/=”等。以下是一些示例:

#include <stdio.h>

int main() {
    int a = 5, b = 2, c = 3;
    a += b; // 等同于 a = a + b;
    printf("a = %d\n", a);

    c *= a + b; // 等同于 c = c * (a + b);
    printf("c = %d\n", c);

    return 0;
}

自增自减运算符

自增自减运算符用于将变量的值增加 1 或减少 1。自增运算符有两种写法:前缀自增和后缀自增。前缀自增表示先将变量的值增加 1,再进行其他操作,返回的是增加之后的值。后缀自增表示先返回变量的值,在将其增加 1,可以理解为先使用后加一。自减运算符同理。

以下是一段示例代码:

#include <stdio.h>

int main() {
    int a = 5;
    int b = ++a; // b = 6, a = 6
    int c = a--; // c = 6, a = 5
    printf("a = %d, b = %d, c = %d\n", a, b, c);
    return 0;
}

比较运算符

比较运算符用于比较两个值的大小或是否相等,并返回 1 或 0 代表真假。常见的比较运算符如下:

运算符 描述 示例
== 相等 5 == 5 返回 1,5 == 2 返回 0
!= 不等 5 != 5 返回 0,5 != 2 返回 1
> 大于 5 > 2 返回 1
< 小于 5 < 2 返回 0
>= 大于等于 5 >= 2 返回 1
<= 小于等于 5 <= 2 返回 0

以下是一段示例程序,演示了比较运算符的使用方法:

#include <stdio.h>

int main() {
    int a = 5, b = 2;
    printf("a == b 返回值是 %d\n", a == b);
    printf("a != b 返回值是 %d\n", a != b);
    printf("a > b 返回值是 %d\n", a > b);
    printf("a < b 返回值是 %d\n", a < b);
    printf("a >= b 返回值是 %d\n", a >= b);
    printf("a <= b 返回值是 %d\n", a <= b);
    return 0;
}

逻辑运算符

逻辑运算符用于执行逻辑运算,比如与、或、非等。常见的逻辑运算符如下:

运算符 描述 示例
&& (a < 5 && b < 5) 返回 1,(a < 5 && b > 5) 返回 0
|| (a < 5 || b < 5) 返回 1,(a < 5 || b > 5) 返回 0
! !(a < 5) 返回 0,!(a > 5) 返回 1

以下是一个示例程序,演示了逻辑运算符的使用方法:

#include <stdio.h>

int main() {
    int a = 5, b = 3, c = 1;
    printf("(a < b && b < c) 返回值是 %d\n", a < b && b < c);
    printf("(a < b || b < c) 返回值是 %d\n", a < b || b < c);
    printf("!(a < b) 返回值是 %d\n", !(a < b));
    return 0;
}

位运算符

位运算符用于对二进制位进行操作。常见的位运算符如下:

运算符 描述 示例
& 按位与 0b110 & 0b011 返回 0b010
| 按位或 0b110 | 0b011 返回 0b111
^ 按位异或 0b110 ^ 0b011 返回 0b101
~ 取反 ~0b110 返回 0b001
<< 左移 0b110 << 2 返回 0b11000
>> 右移 0b110 >> 2 返回 0b001

以下是一个示例程序,演示了位运算符的使用方法:

#include <stdio.h>

int main() {
    int a = 6, b = 3;
    printf("a & b 返回值是 %d\n", a & b);
    printf("a | b 返回值是 %d\n", a | b);
    printf("a ^ b 返回值是 %d\n", a ^ b);
    printf("~a 返回值是 %d\n", ~a);
    printf("a << 2 返回值是 %d\n", a << 2);
    printf("a >> 2 返回值是 %d\n", a >> 2);
    return 0;
}

以上就是 C 语言中可用的各种运算符及其使用方法。在实际的编程过程中,运用好这些运算符不仅可以让我们快速地解决问题,还可以提高代码的效率和可读性。