Re: [課業] 程設重點提示
應要求 ch4就兩個重點
1. operator的優先順序
2. 型別轉換
名詞記一下
operator 運算子 ex. +-*/%
operand 運算元 ex. 1 3 4.56 x y z 等等
1.優先順序
通常分成五個部份 由高往低
Lv1.小括號() 不管什麼鬼operator,加了括號就括號內先做
Lv2.一元運算子 ex.++ -- -(負號) !(not) 這種operator通常黏在某個變數旁邊
像-5,!a 所以照著直覺走,先做就對了。
(註. 小心i++,++放後面是例外,Lv∞)
Lv3.加減乘除 這邊記得先乘除後加減,%取餘數算在乘除那一掛的。
>> << (shift順序最低)
Lv4.邏輯運算 if(a>=0 && a<=9){ /*如果a在0~9之間就跑這裡zzz...*/ }
順著直覺...<>(大於小於先做) && (AND後做)
這裡記得 <>先==後 &&先 ||後
Lv5.指定 x = a/b+5^&*%(一拖拉庫計算)
用膝蓋想也知道全部計算完才要存進x,所以優先最後。
包括所有有指定效果的+= -= %= 等等....。
(中間還有一個位元運算...這個...特殊用途,有興趣的自己記XD)
2.型別運算
(1) c++運算的時候會看型別
float x=5/3; //雖然x是float,但右邊是整數運算,小數點都捨去。
//答案x=1
(2) 兩個變數型別不同->用精確度高的。
int a=5;
float b=3.3; //a+b會取float精確度,答案是8.3
但如果用精確度低的變數來接結果
int c=a+b //即使a+b結果是8.3,存進c之後小數點還是會被切掉。
(3) 想要提高精確度,就強制轉型吧。
像(1)的例子 float x= (float)5/3 //這樣5/3被強制轉成float運算
//結果x=1.66667
看了一下,Ch4後面的習題還蠻機歪的,做完應該很ok了XD
--
-- P_Mat <無名個人版> bbs.wretch.cc
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.68.15.109
※ 編輯: chchwy 來自: 203.68.15.109 (11/20 01:48)
推
11/20 02:00, , 1F
11/20 02:00, 1F
※ 編輯: chchwy 來自: 203.68.15.109 (11/20 02:36)
→
11/21 02:44, , 2F
11/21 02:44, 2F
討論串 (同標題文章)