表示式和基本語句
①if語句
(分支:單分支、雙分支、多分支)
if 語句是
c 語言中最簡單、最常用的語句,然而很多程式設計師用隱含錯誤的方式寫
if 語句
;布林變數與零值比較
、整型變數與零值比較
、浮點變數與零值比較
、指標變數與零值比較
②while
,for
語句c++/c 迴圈語句中,
for
語句使用頻率最高,
while
語句其次,
do 語句很少用。
在多重迴圈中,如果有可能,應當將最長的迴圈放在最內層,最短的迴圈放在最外層,以減少cpu 跨切迴圈層的次數
;如果迴圈體內存在邏輯判斷,並且迴圈次數很大,宜將邏輯判斷移到迴圈體的外面;
③switch
開關語句
switch語句可以產生具有多個分支的控制流程。
它的格式是:
switch(控制表示式)
每個case 語句的結尾不要忘了加
break
,否則將導致多個分支重疊(除非有意使多個分支重疊
);不要忘記最後那個default 分支。即使程式真的不需要
default
處理,也應該保留語句
default : break;
這樣做並非多此一舉,而是為了防止別人誤以為你忘了
default
處理。
④goto
語句(流程轉向)
由於goto 語句可以靈活跳轉,如果不加限制,它的確會破壞結構化設計風格。其次,
goto
語句經常帶來錯誤或隱患。它可能跳過了某些物件的構造、變數的初始化、重要的計算等語句.
位運算及其運算子
①按位與──&
(1)格式:
x&y(2)規則:對應位均為
1時才為
1(3)主要用途:取
(或保留
)1個數的某(些
)位,其餘各位置0。
②按位或──|
(1)格式:
x|y(2)規則:對應位均為
0時才為
0,否則為
1(3)主要用途:將
1個數的某(些
)位置1,其餘各位不變。
③按位異或──^
(1)格式:
x^y(2)規則:對應位相同時為
0,不同時為1:
3^9=10
。(3)主要用途:使
1個數的某(些
)位翻轉
(即原來為
1的位變為0,為
0的變為
1),其餘各位不變。
④按位取反──~
(1)格式:
~x(2)規則:各位翻轉,即原來為
1的位變成
0,原來為
0的位變成1:在
ibm-pc
機中,~0
=0xffff
,~9=0xfff6
。(3)主要用途:間接地構造乙個數,以增強程式的可移植性。
⑤按位左移──<<
(1)格式:
x<<
位數(2)規則:使運算元的各位左移,低位補
0,高位溢位:
5<<2=20。
⑥按位右移──>>
(1)格式:
x>>
位數(2)規則:使運算元的各位右移,移出的低位捨棄;高位:
1)對無符號數和有符號中的正數,補0;
2)有符號數中的負數,取決於所使用的系統:補
0的稱為「邏輯右移」,補
1的稱為「算術右移」。例如,
20 >> 2=5
。說明:
(1)x、y
和「位數」等運算元,都只能是整型或字元型資料。除按位取反為單目運算子外,其餘均為雙目運算子。
(2)參與運算時,運算元x和
y,都必須首先轉換成二進位制形式,然後再執行相應的按位運算。
(3)實現&、
|、^運算主要用途的方法
1)構造
1個整數:該數在要取(或保留)的位、或要置
1的位、或要翻轉的位上為
1,其餘均為0。
2)進行按位與、或按位或、或按位異或操作。
(4)實現按位取反主要用途的方法
1)求~0
,間接地構造乙個全
1的數;
2)按需要進行左移或右移操作,構造出所需要的數。
復合賦值運算子
除按位取反運算外,其餘5個位運算子均可與賦值運算子一起,構成復合賦值運算子: &=、
|+、^=、
<<=
、>>=
不同長度資料間的位運算──低位元組對齊,短數的高位元組按最高位補位:
(1)對無符號數和有符號中的正數,補0;
(2)有符號數中的負數,補1。
位段的概念與定義
所謂位段型別,是一種特殊的結構型別,其所有成員均以二進位制位為單位定義長度,並稱成員為位段。 說明
(1)因為位段型別是一種結構型別,所以位段型別和位段變數的定義,以及對位段(即位段型別中的成員)的引用,均與結構型別和結構變數一樣。
(2)對位段賦值時,要注意取置範圍。一般地說,長度為
n的位段,其取值範圍是:0~(
2n-1
)。(3)使用長度為
0的無名位段,可使其後續位段從下
1個位元組開始儲存。
表示式與基本語句
運算子的優先順序 關於上面的優先順序的問題 什麼是位運算?什麼是移位操作?答 程式中的所有數在計算機記憶體中都是以二進位制儲存的,位運算就是對整數在記憶體中的二進位制位進行操作。通常用於二進位制的取位操作,乙個數與1 的結果就是取二進位制的最末位,這個可以用來判斷乙個整數的奇偶。二進位制的最末位為0...
運算子 表示式和語句
一 表示式分為簡單表示式和複雜表示式 1 簡單表示式 最簡單的表示式只包含單獨的運算元 乙個簡單變數 字面常量和符號常量 pi 程式中定義的符號常量 20 字面常量 rate 變數 1.24 字面常量 2 複雜表示式 由多個更簡單的表示式組成,表示式之間用運算子連線。二 運算子 1 算符運算子 加法...
運算子 表示式和語句
1.算數運算子 加法運算子 減法運算子 乘法運算子 除法運算子 c語言中整數除法結果的小數部分被丟失,被稱截尾 取摸運算子 對浮點數使用該運算子 無效 2.賦值運算子 不能將乙個值賦給常量 左邊的專案必須是乙個變數的名字 3.增量和減量運算子 增量和減量運算子是單目運算子 優先順序高於所有的雙目運算...