如果有很強勁的邏輯能力,或者是構思已久的話,你可以寫乙個很複雜的表示式,但為了使**方便閱讀,最好乙個表示式不要超過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;
運算子 表示式和語句
一 表示式分為簡單表示式和複雜表示式 1 簡單表示式 最簡單的表示式只包含單獨的運算元 乙個簡單變數 字面常量和符號常量 pi 程式中定義的符號常量 20 字面常量 rate 變數 1.24 字面常量 2 複雜表示式 由多個更簡單的表示式組成,表示式之間用運算子連線。二 運算子 1 算符運算子 加法...
運算子 表示式和語句
1.算數運算子 加法運算子 減法運算子 乘法運算子 除法運算子 c語言中整數除法結果的小數部分被丟失,被稱截尾 取摸運算子 對浮點數使用該運算子 無效 2.賦值運算子 不能將乙個值賦給常量 左邊的專案必須是乙個變數的名字 3.增量和減量運算子 增量和減量運算子是單目運算子 優先順序高於所有的雙目運算...
運算子 表示式和語句
資料物件是泛指資料儲存區的術語,資料儲存區能用於儲存值。例如,用於儲存變數或陣列的資料儲存區是乙個資料物件。c的術語左值指用於標識乙個特定的資料物件的名字或表示式。例如,變數的名字是乙個左值。所以物件指的是實際的儲存資料,但是左值是用於識別或定位那個儲存的識別符號。術語右值指的是能賦給可修改的左值的...