为了账号安全,请及时绑定邮箱和手机立即绑定

c 运算符优先级

标签:
杂七杂八
C运算符优先级概述

C语言中的运算符具有不同的优先级,这些优先级决定了运算符在表达式中结合的顺序。在C语言中,运算符的优先级从高到低依次为:成员指针运算符、单目运算符、双目运算符、赋值运算符、ADD运算符、SUB运算符、MUL运算符、DIV运算符、MOD运算符、PUSH运算符、POP运算符、LDR运算符、STL容器相关运算符、const类型变量。

成员指针运算符

在C语言中,成员指针运算符用于获取一个变量的内存地址。这些运算符具有最高的优先级,因为它们涉及到内存访问,而其他运算符则不涉及内存访问。下面是成员指针运算符的简要解释:

  • 取地址运算符&:&运算符具有最高的优先级,用于获取一个变量的内存地址。例如:int a = 10; int* p = &a;
  • 解引用运算符?:?:?:运算符具有次高的优先级,用于解引用一个变量的内存地址。例如:int a = 10; int* p = &a; *p = 20;
  • 成员指针运算符&:&运算符具有更高的优先级,用于获取一个变量的内存地址。例如:int a = 10; int* p = &a; p++;
单目运算符

在C语言中,单目运算符用于对一个变量进行操作,这些操作不涉及内存访问。下面是单目运算符的简要解释:

  • 赋值运算符=:赋值运算符具有最高的优先级,用于给一个变量赋值。例如:int a = 10; int& b = a; b = 20;
  • 比较运算符<、>、<=、>=:比较运算符具有较高的优先级,用于比较两个值的大小关系。例如:int a = 10; int b = 5; if (a < b) { printf("a is less than b\n"); } else if (a > b) { printf("a is greater than b\n"); }
  • 逻辑运算符&&、||:逻辑运算符具有较高的优先级,用于逻辑与或运算。例如:int a = 10; int b = 5; if (a > 0 && b > 0) { printf("a and b are both positive\n"); } else { printf("a or b is negative\n"); }
双目运算符

在C语言中,双目运算符也称为成员指针运算符,用于获取一个变量的内存地址。这些运算符具有较高的优先级,因为它们涉及到内存访问,而其他运算符则不涉及内存访问。下面是双目运算符的简要解释:

  • 赋值运算符=:赋值运算符具有最高的优先级,用于给一个变量赋值。例如:int a = 10; int& b = a; b = 20;
  • 解引用运算符?:?:?:运算符具有次高的优先级,用于解引用一个变量的内存地址。例如:int a = 10; int* p = &a; *p = 20;
  • 成员指针运算符&:&运算符具有更高的优先级,用于获取一个变量的内存地址。例如:int a = 10; int* p = &a; p++;
按位运算符

在C语言中,按位运算符用于对一个变量进行按位操作。下面是按位运算符的简要解释:

  • 按位与运算符&:&运算符具有最高的优先级,用于按位与操作。例如:int a = 10; int& b = a; b = 20;
  • 按位或运算符|:|运算符具有最高的优先级,用于按位或操作。例如:int a = 10; int& b = a; b = 20;
  • 按位异或运算符^:^运算符具有最高的优先级,用于按位异或操作。例如:int a = 10; int& b = a; b = 20;
  • 位运算符:包括按位与、按位或、按位异或等运算符,具有
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消