41 C语言运算符的优先级和结合性
来源:互联网 发布:泛海三江300主机编程 编辑:程序博客网 时间:2024/05/17 23:42
C学习网:链接->C学习网
C训练网:链接->C训练网
先来看一个例子:
- #include <stdio.h>
- int main(){
- int a=10,b=1,c=2;
- a=b=c;
- printf( "12+3*5=%d\n", 12+3*5);
- printf( "a=%d, c=%d\n", a, c);
- return 0;
- }
12+3*5=27
a=2, c=2
1) 对于表达式
12+3*5
,很明显先进行乘法运算,计算3*5
,结果为15,再进行加法运算,计算12+15
,结果为27。也就是说,乘法的优先级比加法高,要先计算,这与数学中的规则是一样的。所谓优先级,就是当有多个运算符在同一个表达式中出现时,先执行哪个运算符。如果不想按照默认的规则执行,可以加
( )
,例如(12+3)*5
的结果为 75,(2+5)*(10-4)
的结果为 42。大部分情况下,它们的规则和数学中是相同的。2) 对于语句赋值语句
a=b=c;
,先执行b=c
,再执行a=b
,而不是反过来,这说明赋值操作符=
具有右结合性。所谓结合性,就是当一个运算符多次出现时,先执行哪个运算符。先执行右边的叫右结合性,先执行左边的叫左结合性。
表达式(Expression)和语句(Statement)的概念在C语言中并没有明确的定义:3) 像 +、-、*、/ 这样的运算符,它的两边都有数据,例如 3+4、a*3 等,有两个操作数,我们称这样的运算符为双目运算符。后面还会讲解单目运算符和三目运算符。
- 表达式可以看做一个计算的公式,往往由数据、变量、运算符等组成,例如
3*4+5
、a=c=d
等,它的结果必定是一个值;- 语句的范围更加广泛,不一定是计算,不一定有值,可以是某个操作、某个函数、选择结构、循环等。
值得注意的是:以分号;
结束的往往称为语句,而不是表达式,例如3*4+5;
、a=c=d;
等。
C语言中有几十种运算符,这里不一一说明,大家可以点击《C语言运算符的优先级和结合性一览表》查看完整列表。
阅读全文
2 0
- 41 C语言运算符的优先级和结合性
- C语言运算符的优先级和结合性一览表
- C语言运算符的优先级和结合性
- c语言运算符的优先级和结合性
- C语言运算符的优先级和结合性一览表
- C语言运算符的优先级和结合性一览表
- C语言运算符的优先级和结合
- C语言运算符优先级和结合性表
- C语言运算符优先级和结合性表
- C语言运算符优先级和结合性
- C语言运算符优先级和结合性预览表
- C语言运算符优先级和结合性
- 【C语言】C语言运算符的优先级和结合性一览表
- 说说C语言运算符的“优先级”与“结合性”
- C语言运算符的优先级与结合性
- 说说C语言运算符的“优先级”与“结合性”
- C语言运算符的优先级与结合性
- c语言运算符的优先级及其结合性
- Android中改变不同控件的样式(一)
- 进制转换
- 2017.1版本pycharm注册码
- windows 下安装elasticsearch
- laravel目录介绍
- 41 C语言运算符的优先级和结合性
- iotcloud2 源码结构
- laravel路由和MVC
- Win7右下角时间不见了怎么办?
- 2017-6-2
- 离线版百度地图瓦片下载html版
- laravel控制器
- [RK3288][Android6.0] 调试笔记 --- 无法安装需系统权限的apk问题
- laravel视图