网站首页 > 精选文章 / 正文
一、描述
关于C语言的表达式和表达式语句,有些朋友可能不是特别清楚它们之间的区别,下面我们来深入理解一下表达式和表达式语句的区别。
C语言的表达式是由运算符和操作数组成的值计算序列,C语言的表达式语句由表达式加上分号“;”组成。
C语言的表达式分为:赋值表达式,关系表达式,逻辑表达式等。由XX表达式构成的语句称为XX语句如:由赋值表达式组成的语句称为赋值语句。
二、区别
上述描述并没有让朋友们感觉出区别,我们先举一个例子
u8 test(void)
{
u8 i = 0;
u8 j = 100;
i=j; /* 语句1 */
return (i=j); /* 语句2 */
}
语句1和语句2 都有“i=j” ,语句1中“i=j;”是一个赋值语句,它的作用是将j的值赋值给i,语句1中“(i=j)”是一个赋值表达式,它的作用是将j的值赋值给i,同时将表达式的值计算100给return语句。
让我们重新回顾一下,表达式是由运算符和操作数组成的值计算序列,任何一个表达式存在一个值计算。下面我们列举部分表达式和表达式的值计算(设a=8 , b =1 ):
实例序号 | 表达式 | 值计算 |
1 | a = b | 1 |
2 | a < b | 0 |
3 | a + b | 9 |
根据实例我们引出两个概念:副作用,值计算。实例1中的副作用是a被赋值为1,值计算为1。实例1中无副作用,值计算为0。我们更新一下上表
实例序号 | 表达式 | 值计算 | 副作用 |
1 | a = b | 1 | a = 1 |
2 | a < b | 0 | 无 |
3 | a + b | 9 | 无 |
由此我们得出以下结论:
1、表达式产生副作用,产生一个值计算
2、表达式语句产生副作用,值计算被丢弃。
作者:liwei
Github:liyinuoman2017
Tags:表达式
猜你喜欢
- 2024-12-26 EXCEL VBA学习笔记:正则表达式(二)表达式语句写法
- 2024-12-26 周六福利!正则表达式必知必会,经典必看
- 2024-12-26 Python编程:如何搞定生成器(Generator)及表达式?来盘它
- 2024-12-26 如何快速计算出 Excel 单元格中的算式?没有“=”号的算式哦
- 2024-12-26 【C#基础语法】七、运算符与表达式 - 逻辑运算符
- 2024-12-26 数学中重要的一类函数——调和函数
- 2024-12-26 C语言学习之-----(四) 表达式和语句
- 2024-12-26 请你列出逻辑电路中的24种表达式 请你列出逻辑电路中的24种表达式是什么
- 2024-12-26 条件表达式?:语句 条件表达式语句嵌套怎么写
- 2024-12-26 表达式语言(EL) 表达式语言EL的语法格式