# L4 : Expression ###### tags: `C` ### 一 . 算術運算子 1. ### (一) . 基本概念 1. C中強調expression比statement重要。 2. 因為C中的oprator很強大。 ### (二) . 算術運算子 1. 『%』: 取餘,非離散的同餘。 2. 運算子的『元』: 依照吃的參數個數。 3. 『 +, -, *, / 』 : 可以左右是不同data type的。 4. 『%』 : 必須是整數,否則complier error。 5. 『/』 : 若兩邊為int,則答案為整數,小數完全去除。 6. complier,若儲存為『0.3』則為double,若為『0.3f』則為float。 7. 浮點數除以0可以為無限大,整數無法。 - 整數除以0 : c會error 8. 在c中 : 『/』和『%』的右值為0下,行為不可預期。 9. core dumped : - core : 記憶體。 - dumped : 將記憶體的內容存到檔案,檔案名稱 : 執行檔名.core。 10. 在c中 : 『/』和『%』的右值為-下,行為依照編譯器分類。 - C89 : 照電腦環境(implementation-defined : 增加效率)。 - C99 : i%j 下,跟著i的正負。 ### (三) . 運算子優先序 1. 不同階 : 『+-』 -> 『* / %』 ->『+ -』。 2. 同階 : - 『+ -』、『* / %』: 由左邊開始看(二元)。 - 『+ -』: 由右邊開始看(一元)。 ### (四) . 指定運算式 1. 左右值 : - 左值 : 記憶體位址。 - 右值 : 值,可以是expression。 2. 轉值 : 指定運算子會主動轉為左值得data type。 3. C中 : 指定符號為運算式,其他語言可能是statement。 - 回傳左值的值。 - side effect : 會改變變數的值。 4. 『=』優先序由右邊開始看。 ```c= int i=0; float f; f=i=33.3; //f=(i=33.3) i=33, f=33.0 ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up