C语言表达式

C语言深度解析:从基础到表达式与约束

系列文章目录

  1. C语言综述1
  2. C语言字符集2
  3. C语言词法元素3
  4. C语言表达式4
  5. C语言语句5
  6. C语言声明6
  7. C语言预处理指令7
  8. C语言头文件8


前言

蓝色问号代表个人理解   绿色代表来源   红色问号代表尚有疑问

为什么要读标准?因为全面、权威,所有答案都在标准里面!
哪些人适合浏览本系列文章?不清楚C语言程序的组成,以及每个组成部分的详细内容
持续更新,码字不易,求点赞收藏


表达式(expression)

概述

表达式是由运算符和操作数组成的序列,规定对一个值的计算,或指示一个对象或函数,或产生一种副作用,或上述几种作用的组合

完全表达式
完全表达式是不属于另一个表达式的表达式,完整表达式的结尾是序列点

  1. 初始化
  2. 表达式语句中的表达式
  3. if或switch选择语句的控制表达式
  4. while或do语句的控制表达式
  5. for语句的三个表达式中的一个
  6. 返回语句中的表达式

约束

  1. 两个相继的序点之间,最多通过表达式求值将一个对象的存储值修改一次,比如,i = ++i+1是未定义的
  2. 访问先前存储的值只是为了确定当前要存储的值
  3. 位运算符的操作数应为整数:一元运算符~、二元运算符<<、>>、&、^和 |
  4. 除已由语法指示的和函数调用运算符()、&&、| |、?:、逗号运算符外,子表达式的求值顺序和副作用发生的顺序都未指定
  5. 只有该对象所声明的类型、限定形式、有符号、无符号类型、包含以上类型的聚集或联合的成员、字符类型的左值才能访问对象的存储值

初等表达式

组成

  1. 指示一个对象或函数的标识符
  2. 常量,类型取决于它的形式和值
  3. 字符串常量,左值,,不是可修改的左值
  4. 加括号的表达式,类型和值取决于未加括号的表达式

各表达式都可以递归地使用

表达式、算符优先级

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值