C语言---常用操作符讲解汇总

本文详细介绍了C语言中的算术、关系、逻辑、赋值、自增自减和位操作符,通过示例展示了如何在编程中运用这些基本操作符进行数值计算和条件判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言中的操作符是编程语言的基础,它让我们可以对数据进行各种操作。下面我会详细地讲解C语言中的各种操作符,希望对你有所帮助。

算术操作符

算术操作符主要用于对数值进行运算,包括:

  • +:加法
  • -:减法
  • *:乘法
  • /:除法
  • %:取模(求余数)

例子:

#include <stdio.h>

int main() {
    int a = 5;
    int b = 3;
    int c;

    c = a + b; // 5 + 3 = 8
    c = a - b; // 5 - 3 = 2
    c = a * b; // 5 * 3 = 15
    c = a / b; // 5 / 3 = 1 (整数除法,结果为1,余数为2)
    c = a % b; // 5 % 3 = 2 (求5除以3的余数,结果为2)

    printf("加法:%d\n", c);
    printf("减法:%d\n", c);
    printf("乘法:%d\n", c);
    printf("除法:%d\n", c);
    printf("取模:%d\n", c);

    return 0;
}

关系操作符

关系操作符用于比较两个数值的大小关系,包括:

  • ==:等于
  • !=:不等于
  • >:大于
  • <:小于
  • >=:大于等于
  • <=:小于等于

例子:

#include <stdio.h>

int main() {
    int a = 5;
    int b = 3;
    int c;

    c = a == b; // 比较a是否等于b,结果为0(假)
    c = a != b; // 比较a是否不等于b,结果为1(真)
    c = a > b;  // 比较a是否大于b,结果为1(真)
    c = a < b;  // 比较a是否小于b,结果为0(假)
    c = a >= b; // 比较a是否大于等于b,结果为1(真)
    c = a <= b; // 比较a是否小于等于b,结果为0(假)

    printf("等于:%d\n", c);
    printf("不等于:%d\n", c);
    printf("大于:%d\n", c);printf("小于:%d\n", c);
    printf("大于等于:%d\n", c);
    printf("小于等于:%d\n", c);

    return 0;
}

逻辑操作符

逻辑操作符用于连接两个或多个关系表达,包括:

  • &&:逻辑与
  • ||:逻辑或
  • !:逻辑非

例子:

#include <stdio.h>

int main() {
    int a = 5;
    int b = 3;
    int c;

    c = (a > b) && (a < 10); // a是否大于b并且小于10,结果为1(真)
    c = (a > b) || (a < 10); // a是否大于b或者小于10,结果为1(真)
    c = !(a > b); // 非(a是否大于b),结果为0(假)

    printf("逻辑与:%d\n", c);
    printf("逻辑或:%d\n", c);
    printf("逻辑非:%d\n", c);

    return 0;
}

赋值操作符

赋值操作符用于将一个数值的值赋给另一个变量,包括:

  • =:赋值
  • +=:加后赋值
  • -=:减后赋值
  • *=:乘后赋值
  • /=:除后赋值
  • %=:取模后赋值

例子:

#include <stdio.h>

int main() {
    int a = 5;
    int b = 3;

    a = b;     // 将b的值赋给a,即a = 3
    a += b;    // 将a加上b的值后赋给a,即a = a + b,就是 a = 3 + 3,结果 a = 6
    a -= b;    // 将a减去b的值后赋给a,即a = a - b,就是 a = 6 - 3,结果 a = 3
    a *= b;    // 将a乘以b的值后赋给a,即a = a * b,就是 a = 3 * 3,结果 a = 9
    a /= b;    // 将a除以b的值后赋给a,即a = a / b,就是 a = 9 / 3,结果 a = 3
    a %= b;    // 将a对b取模后的值赋给a,即a = a % b,就是 a = 3 % 3,结果 a = 0

    printf("赋值:%d\n", a);
    printf("加后赋值:%d\n", a);
    printf("减后赋值:%d\n", a);
    printf("乘后赋值:%d\n", a);
    printf("除后赋值:%d\n", a);
    printf("取模后赋值:%d\n", a);

    return 0;
}

自增和自减操作符

自增操作符++用于将变量的值增加1,自减操作符--用于将变量的值减少1。

例子:

#include <stdio.h>

int main() {
    int a = 5;
    int b;

    b = a++; // 先将a的值赋给b,然后将a的值加1,结果b=5,a=6
    b = ++a; // 先将a的值加1,然后将加1后的值赋给b,结果b=7,a=7

    printf("自增:%d\n", a);
    printf("自减:%d\n", b);

    return 0;
}

位操作符

位操作符用于对数据的各个位进行操作,包括:

  • &:按位与
  • |:按位或
  • ^:按位异或
  • ~:按位取反
  • <<:左移
  • >>:右移

这些操作符主要用于处理二进制数上的逻辑操作。

例子:

#include <stdio.h>

int main() {
    int a = 5; // 二进制:0101
    int b = 3; // 二进制:0011
    int c;

    c = a & b; // 将a和b按位与,即 0101 & 0011 = 0001,结果为1。(两个数的对应位都为1的情况下,结果才为1,否则为0)
    c = a | b; // 将a和b按位或,即 0101 | 0011 = 0111,结果为7。(两个数的对应位中至少有一个为1的情况下,结果就为1)
    c = a ^ b; // 将a和b按位异或,即 0101 ^ 0011 = 0110,结果为6(两个数的对应位不相等的情况下,结果才为1,否则为0)
    c = ~a; // 将a按位取反(将所有的0变为1,将所有的1变为0),即 ~0101 = 1010,结果为-6(带符号数)
    c = a << 1; // 将a左移1位,即 0101 << 1 = 1010,结果为10,相当于乘以2
    c = a >> 1; // 将a右移1位,即 0101 >> 1 = 0010,结果为2,相当于除以2

    printf("按位与:%d\n", c);
    printf("按位或:%d\n", c);
    printf("按位异或:%d\n", c);
    printf("按位取反:%d\n", c);
    printf("左移:%d\n", c);
    printf("右移:%d\n", c);

    return 0;
}

以上就是C语言中常见的操作符的讲解和示例。希望能够帮助你更好地理解并使用这些操作符。如有任何问题,请随时联系我。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值