完美C语言系列之《C语言程序设计现代方法》----第四章

4.1 算术运算符

把零当作/或%的右操作数会导致未定义的行为。

4.2 赋值运算符

4.2.1 简单赋值

副作用:大多数C语言运算不会改变操作数的值,但是有一些会改变。由于这类运算符不再仅仅计算出值,所以称它们有副作用。简单赋值运算符是已知的第一个有副作用的运算符,它改变了运算符的左操作数。对表达式i
= 0求值产生的结果为0,并(作为副作用)把0赋值给i。

4.2.2 左值

大多数C语言运算符允许它们的操作数是变量、常量或者包含其它运算符的表达式。然而,赋值运算符要求它的左操作数必须是左值。左值表示存储在计算机内存中的对象。而不是常量或者计算的结果。

4.3 自增运算符和自减运算符

后缀++和后缀–比一元的正号、负号优先级高,而且都是左结合的。前缀++和前缀–与一元的正号、负号优先级相同,而且都是右结合的。

问与答

  1. 问:如果C语言有左值,那它也有右值吗?

    答:左值是可以出现在赋值左侧的表达式,而右值是可以出现在赋值右侧的表达式。因此,右值可以是变量、常量或者更加复杂的表达式。

  2. 问:++和–是否可以处理float型变量?

    答:可以。自增和自减运算也可以用于浮点数,但实际应用中极少采用自增和自减运算符处理float型变量。

  3. 问:在使用后缀形式的++或–时,何时执行自增或自减操作?

    答:C语言标准中引入了顺序点的概念,并且指出应该在前一个顺序点和下一个顺序点之间对存储的操作数的值进行更新。在C语言中有多种不同类型的顺序点,表达式语句的末尾是其中一种。在表达式语句的末尾,该语句中的所有自增和自减操作都必须执行完毕,否则不能执行下一条语句。

    ​ 其它的一些运算符(逻辑与、逻辑或、条件和逗号)对顺序点也有影响。函数调用也是如此:在函数调用执行之前,所有的实际参数必须全部计算出来。如果实际参数恰巧是含有++或–运算符的表达式,那么必须在调用前进行自增或自减操作。

  • 33
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 24
    评论
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹿九丸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值