如果有很強勁的邏輯能力,或者是構思已久的話,你可以寫一個很複雜的表達式,但為了使代碼方便閱讀,最好一個表達式不要超過3個運算符。(這裡的語句,並不包含代碼塊),使用自增或者自減看起會更專業一些,但是要知道++在前與在後的區別,根據位置就可以清楚知道,++在前就先自加一,++在後就是用過之後再加一。 ...
如果有很強勁的邏輯能力,或者是構思已久的話,你可以寫一個很複雜的表達式,但為了使代碼方便閱讀,最好一個表達式不要超過3個運算符。(這裡的語句,並不包含代碼塊),使用自增或者自減看起會更專業一些,但是要知道++在前與在後的區別,根據位置就可以清楚知道,++在前就先自加一,++在後就是用過之後再加一。
表達式:表達式是由運算符和操作數組合構成。C語言的一個重要的屬性是每一個C表達式都有一個值。
語句(statement)是構造程式的基本部分。程式(program)是一系列帶有某種必需的標點的語句集合,一個語句就是一條完整的電腦指令。C語言要求每一個語句的結束處必須有分號,就是這個“;”
C把任何帶有分號的表達式看做一個語句,你可以這樣"a;",這樣"4;",還可以這樣";"。他們都是C所允許的。
丟掉分號是一個非常容易出現的錯誤,可能剛開始會不以為然,但卻總能在不經意之間丟一些。
副作用(side effect)是對數據對象或文件的修改。比如在for迴圈中用到的i,使用i的目的是為了計數迴圈,但副作用是在結束迴圈後的i的值發生了改變,在下一次for迴圈中使用i的時候,就要重新初始化。
順序點(sequence point)是程式執行中的一點,在該點處,所有的副作用都在進入下一步之前被計算。C語言中的每一個分號標誌了一個順序點。
複合語句:
使用花括弧組織起來的兩個或更多的語句。也稱作代碼塊(code block //也是一種C,C++的IDE)
在沒有花括弧的情況下,if、for、while代碼塊的範圍是從它們開始,到下一個分號。
類型轉換:
基本規則如下
1,有符號和無符號的char和short類型出現在表達式里是時,都將自動轉換成int,在需要的情況下,將自動轉換為unsigned int
2,在包含兩種數據類型的任何運算里,兩個值都將被轉換成兩種類型里較高的級別
3,類型級別從高到低的順序是:long double、double、float、unsigned long long、long long、unsigned long、long、unsigned int和int。
4,在賦值語句里,計算的最後結果被轉換成就將要被賦值的那個變數的類型
5,作為函數的參數被傳遞是,char和short將被轉換為int,float被轉換成double
類型提升轉換通常沒有什麼問題,但類型降級可能會導致問題
強制類型轉換使用指派運算符,用法是(type),例如將int類型的a轉換成long,(long)a;