分享一下在c語言中運算子和表示式
1.算數運算子和算數表示式:
算數 就是我們平時日常生活中的加減乘除等。、
在c語言中的運算符號分別為如下:
+(加) -(減) *(乘) /(除) %(取餘)
在計算機運算中也是有符號優先順序,先乘除後加減,有括號先算括號裡面的 自左向右
和平時演算法是一樣的。
舉例子:
2+9*7-2*8 在這個中我們是先算9*7=63 然後算2*8=16 最後算2+63-16=49
所以最後結果為49
在演算法運算中一定要注意資料型別 在我們平時的演算法中5/2=2.5
但是在計算機中結果卻等於2 這是什麼原因?因為在計算機中這是
兩個整數想除,結果為乙個整數,那麼本來結果是2.5 但是要為整數所以結果為2
如果分子小於分母 像這樣2/3 其結果是為0 所以在c語言中一定要注意演算法的資料型別
說說取餘 5%3=2 這種是兩個正數取餘 如果是-5%3=? 其結果為-2 如果是5%-3=2
舉個錯誤的例子2.3%2= 這是在c語言執行中是錯誤的因為2.3除以2取餘 2.3是乙個浮點數
在%兩端因該是整數型別。
(2)算術表示式
算術表示式是由算術運算子和運算元組成的表示式。表示式的值是乙個數值,表示式的型別具體由運算子和運算元確定。
例如: 5+3*(6-2) 表示式的型別為int 型。
3+4.0-3/2.0 表示式的型別為double型。
(3)資料型別轉換:c語言允許不同型別的運算元據進行混合運算,但運算時系統先將運算元轉換成同一型別資料,然後進行運算。
型別轉換分為: 強制轉換
隱含轉換
**轉換
強制型別轉換:格式如下
(型別名) (表示式)
例如: int a; float x,y;
(double) a、(int)(x+y)、(float)(5%3)、(int)x+y 這種屬於強制轉換
若有 int i, float f, double d, long e
則 10+'a'+i*f-d/e 表示式運算次序為:
①將'a'轉換成97,然後10+'a'運算。
② 將i和f都轉換成double型,然後i*f運算。
③ 將 ①的結果轉換為double型,然後與 ②的結果相加。
④ 將e轉換成double型,然後d/e運算。
⑤ 用③的結果減 ④的結果。
接下說說其應用
如何分離123這三位數的百位十位個位;
我們把a b c 分別定義為百位 十位 個位
那麼c=123%10
b=(123/10)%10
a=123/100
說說其他容易出錯的地方
問題1.輸入兩個電阻值,計算他們併聯後的電阻值
編好的程式如下
提示為執行錯誤 為什麼會這樣/?
因為我輸入的值為1/1500 為0 1/4700 也為0 0+0=0 然後用1/0 這是不允許的
那麼我們該如何改進?
但是資料還是不準確 換成另一種
這種改進就比較精確點 但是還不是最精確的 所以說在程式設計的過程中 一定要注意資料型別。
運算子和表示式
運算子 1.算術運算子 定義 int i 2 1 i i 是在 使用完畢之後 2 i i 是在 之後使用 3 i i 是 3 3 是形成運算子的 4 函式是從右邊開始傳參,其中,為結束標誌 例子1 func i i i i,i 6,5,4,i,2 i最後是 7 6 5 4 7 2 例子2 i i i...
運算子和表示式
有些運算子需要兩個運算元,使用形式為 運算元 運算子 運算元,這樣的運算子就叫做二元運算子或雙目運算子,只需要乙個運算元的運算子叫做一元運算子或單目運算子。運算子具有優先順序和結合性。如果乙個表示式中有多個運算子則先進行優先順序高的運算,後進行優先順序低的運算。結合性就是指當乙個運算元左邊和右邊的運...
運算子和表示式
幾乎每乙個程式都需要進行運算,對資料進行加工處理,否則程式就沒有意義了。要進行運算,就需規定可以使用的運算子。c語言的運算子範圍很寬,把除了控制語句和輸入輸出以外的幾乎所有的基本操作都作為運算子處理,例如將賦值符 作為賦值運算子 方括號作為下標運算子等。1 基本的算術運算子 最常見的算術運算子見下表...