c语言常见操作符及操作符优先级

  • 概述

C语言中有多种操作符,用于执行不同的操作。下面是一些常见的C语言操作符以及示例代码:

1. 算术操作符:

  • 加法操作符(+):用于将两个值相加。
int a = 5;
int b = 3;
int result = a + b;  // result的值为8
  • 减法操作符(-):用于将第一个值减去第二个值。
int a = 5;
int b = 3;
int result = a - b;  // result的值为2
  • 乘法操作符(*):用于两个值相乘。
int a = 5;
int b = 3;
int result = a * b;  // result的值为15
  • 除法操作符(/):用于将第一个值除以第二个值。
int a = 10;
int b = 2;
int result = a / b;  // result的值为5
  • 取余操作符(%):用于求两个值相除后的余数。
int a = 10;
int b = 3;
int result = a % b;  // result的值为1

2. 关系操作符:

  • 相等操作符(==):用于判断两个值是否相等,如果相等则返回1,否则返回0。
int a = 5;
int b = 3;
int result = (a == b);  // result的值为0
  • 不相等操作符(!=):用于判断两个值是否不相等,如果不相等则返回1,否则返回0。
int a = 5;
int b = 3;
int result = (a != b);  // result的值为1
  • 大于操作符(>):用于判断第一个值是否大于第二个值,如果是则返回1,否则返回0。
int a = 5;
int b = 3;
int result = (a > b);  // result的值为1
  • 小于操作符(<):用于判断第一个值是否小于第二个值,如果是则返回1,否则返回0。
int a = 5;
int b = 3;
int result = (a < b);  // result的值为0
  • 大于等于操作符(>=):用于判断第一个值是否大于等于第二个值,如果是则返回1,否则返回0。
int a = 5;
int b = 3;
int result = (a >= b);  // result的值为1
  • 小于等于操作符(<=):用于判断第一个值是否小于等于第二个值,如果是则返回1,否则返回0。
int a = 5;
int b = 3;
int result = (a <= b);  // result的值为0

3. 逻辑操作符:

  • 逻辑与操作符(&&):用于判断两个条件是否同时成立,如果是则返回1,否则返回0。
int a = 5;
int b = 3;
int result = (a > 0 && b > 0);  // result的值为1
  • 逻辑或操作符(||):用于判断两个条件是否至少有一个成立,如果是则返回1,否则返回0。
int a = 5;
int b = 3;
int result = (a > 0 || b > 0);  // result的值为1
  • 逻辑非操作符(!):用于取反一个条件的值,如果条件为真,则返回假(0),如果条件为假,则返回真(1)。
int a = 5;
int result = !(a > 0);  // result的值为0

4. 位操作符:

  • 按位与操作符(&):对两个值进行按位与操作。
unsigned int a = 5;   // 二进制表示为:0000 0101
unsigned int b = 3;   // 二进制表示为:0000 0011
unsigned int result = a & b;  // result的值为1,二进制表示为:0000 0001
  • 按位或操作符(|):对两个值进行按位或操作。
unsigned int a = 5;   // 二进制表示为:0000 0101
unsigned int b = 3;   // 二进制表示为:0000 0011
unsigned int result = a | b;  // result的值为7,二进制表示为:0000 0111
  • 按位异或操作符(^):对两个值进行按位异或操作。
unsigned int a = 5;   // 二进制表示为:0000 0101
unsigned int b = 3;   // 二进制表示为:0000 0011
unsigned int result = a ^ b;  // result的值为6,二进制表示为:0000 0110
  • 左移操作符(<<):将一个值左移指定的位数。
unsigned int a = 5;   // 二进制表示为:0000 0101
unsigned int result = a << 2;  // result的值为20,二进制表示为:0001 0100
  • 右移操作符(>>):将一个值右移指定的位数。
unsigned int a = 20;   // 二进制表示为:0001 0100
unsigned int result = a >> 2;  // result的值为5,二进制表示为:0000 0101

以上是一些常见的C语言操作符及其示例代码,除此之外C语言中还有其他类型的操作符。

常见操作符优先级

C语言中常见操作符的优先级从高到低如下:

  1. 一元运算符:
    ++ (自增), – (自减), + (正号), - (负号), ! (逻辑非), ~ (按位取反), * (指针解引用), & (取地址), sizeof (获取变量类型大小)


  2. 乘法/除法/取余:
    *(乘法), / (除法), % (取余)


  1. 加法/减法:
    +(加法), - (减法)

  1. 移位运算符:
    << (左移), >> (右移)

  1. 关系运算符:
    < (小于), > (大于), <= (小于等于), >= (大于等于)

  1. 相等性运算符:
    == (等于), != (不等于)

  1. 位与运算符:
    & (按位与)

  1. 位异或运算符:
    ^ (按位异或)

  1. 位或运算符:
    | (按位或)

  1. 逻辑与运算符:
    && (逻辑与)

  1. 逻辑或运算符:
    || (逻辑或)

  1. 三元条件运算符:
    ? : (条件运算符)

  1. 赋值运算符:
    = (赋值), +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |=


注意,这只是一个常见操作符的优先级逐级排序,具体使用时还需要根据具体运算表达式进行适当的括号添加,以确保运算顺序符合预期。

  • 27
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值