C语言操作符介绍

        C语言提供了丰富的操作符来执行各种操作,包括算术运算、逻辑运算、位运算、比较、赋值等。

        以下是C语言中常见的操作符分类和介绍:

1. 算术操作符

  • + 加法
  • - 减法
  • * 乘法
  • / 除法
  • % 模运算(取余数)
  • ++ 递增(自增1)
  • -- 递减(自减1)
int a = 1;

// a使用后+1;  b = 1; a = 2;
int b = a++;

//a 使用前+1; c=3; a=3;
int c = ++a;

2. 赋值操作符

  • = 简单赋值
  • += 加后赋值
  • -= 减后赋值
  • *= 乘后赋值
  • /= 除后赋值
  • %= 模后赋值

3. 比较操作符

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

4. 逻辑操作符

  • && 逻辑与(AND)
  • || 逻辑或(OR)
  • ! 逻辑非(NOT)

5. 位操作符

  • & 位与
  • | 位或
  • ^ 位异或(XOR)
  • ~ 位取反(NOT)
  • << 左移位
  • >> 右移位

6. 条件操作符(三元操作符)

  • ? : 条件表达式,格式为 condition ? expression1 : expression2
int a = 15;

// 如果a>10, b=10; 否则 b=0;
int b = a > 10 ? 10 : 0;

7. 逗号操作符

  • , 用于分隔表达式,如循环中的多个表达式

8. 指针操作符

  • & 取地址
  • * 解引用

9. 地址和间接寻址操作符

  • & 地址操作符,返回变量的内存地址
  • * 间接寻址操作符,通过地址访问变量

10. 其他操作符

  • sizeof 操作符,返回变量或类型的大小(以字节为单位)
  • . 成员访问操作符,用于访问结构体或联合体的成员
  • -> 用于通过指针访问成员

11. 范围操作符

  • [] 用于数组元素的访问

12. 强制类型转换操作符

  • (type) 将括号内的表达式强制转换为指定类型
double a = 3.14;
int b =(double)a;

13. Demo

#include <stdio.h>

int main() {
    int a = 10, b = 20;
    int sum = a + b; // 算术操作符
    int difference = a - b; // 算术操作符

    a += 5; // 赋值操作符(加后赋值)
    b *= 2; // 赋值操作符(乘后赋值)

    int is_equal = (a != b); // 比较操作符

    int max = (a > b) ? a : b; // 条件操作符

    int bitwise_and = a & b; // 位操作符(位与)
    int bitwise_or = a | b; // 位操作符(位或)



    return 0;
}

14. 位操作详细介绍

        在系统中定义经常会看到定义值是有规律的 1  2  4  8  16  32,是为了方便进行位运算。

        (1)位掩码用于快速访问或修改特定的位或位段。

int flags = 0;
flags |= 1 << 2; // 设置第3位(从0开始计数)
if (flags & (1 << 2)) {
    // 检查第3位是否为1
}

        (2)使用位操作符快速计算一个整数中设置为1的位数。

int countBits(int number) {
    int count = 0;
    while (number) {
        count += number & 1;
        number >>= 1;
    }
    return count;
}

        (3)使用左移(<<)和右移(>>)操作符来实现快速乘以或除以2的幂次方。

int multiplyByTwo(int x) {
    return x << 1; // x * 2
}

int divideByTwo(int x) {
    return x >> 1; // x / 2
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值