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

目录

  • 概述

    • [1. 算术操作符:](#1. 算术操作符:)
    • [2. 关系操作符:](#2. 关系操作符:)
    • [3. 逻辑操作符:](#3. 逻辑操作符:)
    • [4. 位操作符:](#4. 位操作符:)
  • *常见操作符优先级*

概述

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

1. 算术操作符:

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

2. 关系操作符:

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

3. 逻辑操作符:

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

4. 位操作符:

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

    = (赋值), +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |=


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

相关推荐
jasmine s4 分钟前
Pandas
开发语言·python
郭wes代码4 分钟前
Cmd命令大全(万字详细版)
python·算法·小程序
装不满的克莱因瓶16 分钟前
【Redis经典面试题六】Redis的持久化机制是怎样的?
java·数据库·redis·持久化·aof·rdb
scan72419 分钟前
LILAC采样算法
人工智能·算法·机器学习
n北斗24 分钟前
常用类晨考day15
java
biomooc24 分钟前
R 语言 | 绘图的文字格式(绘制上标、下标、斜体、文字标注等)
开发语言·r语言
骇客野人27 分钟前
【JAVA】JAVA接口公共返回体ResponseData封装
java·开发语言
black^sugar29 分钟前
纯前端实现更新检测
开发语言·前端·javascript
404NooFound34 分钟前
Python轻量级NoSQL数据库TinyDB
开发语言·python·nosql
菌菌的快乐生活39 分钟前
理解支持向量机
算法·机器学习·支持向量机