运算符和表达式
本文最后更新于179 天前,其中的信息可能已经过时,如有错误请发送邮件至 2641805259@qq.com

一、运算符

算术运算符

  1. 二元算术运算符:
    • +:加法
    • -:减法
    • *:乘法
    • /:除法当两个操作数都是整数时,/会截断结果:值1/20,而不是0.5
    • %:求余要求两个操作数都是整数
  2. 一元算术操作符:
    • +:一元加
    • -:一元减
  1. 二元算术操作符(%除外),允许使用整数或浮点操作数,并允许混合
  2. intfloat/double操作数混合时,结果的类型为float/double

运算符优先级

算术运算符的优先级:

  • 最高:+-(一元)表示正负
  • 其次:*/%(二元)
  • 最低:+-(二元)

运算符结合性

二元运算符都是左结合的:​

一元运算符是右结合的:​

二、表达式

简单赋值

对于a = b

  • 如果ab的类型相同,则把b的值复制给a
  • 如果ab的类型不同,则把b的值强制转换为a的类型,然后给a

赋值表达式本身也有返回值,a=b的返回值是赋值后的a值。

因此可以实现:i=j=k=1

左值

表示存储在计算机内存中的对象,而不是常数或计算结果。变量

可以放在表达式=左边的东西

复合赋值

由于经常有a=a+b这种情况,故有复合赋值

v+=ev=v+e
v-=ev=v-e
v*=ev=v*e
v/=ev=v/e
v%=ev=v%e

i*=j+k不等于i=i*j+k,其实一般用复合赋值的时候,右边大部分只有一个数

自增和自减操作符

++i表示立即自增i,即i的数值立刻加1

i++表示暂时用i的旧值,用完后再加1

注意

不要写过于复杂的表达式,容易产生未定义行为:

c=(b=a+2)-(a=1)

i = ++j = k + 1

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇