表示式和基本語句與位運算

2021-07-26 16:39:00 字數 2785 閱讀 3334



表示式和基本語句

①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.增量和減量運算子 增量和減量運算子是單目運算子 優先順序高於所有的雙目運算...