?? 25.htm
字號:
<BR> |
位邏輯或
<BR> ^
位邏輯異或
<BR> -
位邏輯反
<BR> >>
右移
<BR> <<
左移
<BR>━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<BR> 按位運(yùn)算是對字節(jié)或字中的實(shí)際位進(jìn)行檢測、設(shè)置或移位,
它只適用于字符
<BR>型和整數(shù)型變量以及它們的變體, 對其它數(shù)據(jù)類型不適用。
<BR> 關(guān)系運(yùn)算和邏輯運(yùn)算表達(dá)式的結(jié)果只能是1或0。 而按位運(yùn)算的結(jié)果可以取0
<BR>或1以外的值。
<BR> 要注意區(qū)別按位運(yùn)算符和邏輯運(yùn)算符的不同, 例如, 若x=7,
則x&&8 的值為
<BR>真(兩個非零值相與仍為非零), 而x&8的值為0。
<BR> 移位運(yùn)算符">>"和"<<"是指將變量中的每一位向右或向左移動,
其通常形式
<BR>為:
<BR> 右移: 變量名>>移位的位數(shù)
<BR> 左移: 變量名<<移位的位數(shù)
<BR> 經(jīng)過移位后, 一端的位被"擠掉", 而另一端空出的位以0
填補(bǔ), 所以,
<BR>Turbo C中的移位不是循環(huán)移動的。
<BR> 5.4 Turbo C的特殊運(yùn)算符
<BR> 一、"?"運(yùn)算符
<BR> "?"運(yùn)算符是一個三目運(yùn)算符, 其一般形式是:
<BR> <表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>;
<BR> "?"運(yùn)算符的含義是: 先求表達(dá)式1的值, 如果為真, 則求表達(dá)式2
的值并把
<BR>它作為整個表達(dá)式的值; 如果表達(dá)式1 的值為假, 則求表達(dá)式3 的值并把它作為
<BR>整個表達(dá)式的值。
<BR> 例如:
<BR> main()
<BR> {
<BR> int x, y;
<BR> x=50;
<BR> y=x>70?100:0;
<BR> }
<BR> 本例中, y將被賦值0。如果x=80, y將被賦值100。
<BR> 因此, "?"運(yùn)算符可以代替某些if-then-else形式的語句。
<P> 二、"&"和"*"運(yùn)算符
<BR> "&"運(yùn)算符是一個返回操作數(shù)地址的單目操作符。
<BR> "*"運(yùn)算符是對"&"運(yùn)算符的一個補(bǔ)充, 它返回位于這個地址內(nèi)的變量值,
也
<BR>是單目操作符。
<BR> 例如:
<BR> main()
<BR> {
<BR> int i, j, *m;
<BR> i=10;
<BR> m=&i;
/*將變量i的地址賦給m*/
<BR> j=*m;
/*地址m所指的單元的值賦給j*/
<BR> }
<BR> 上面程序運(yùn)行后, i=10, m為其對應(yīng)的內(nèi)存地址, j的值也為10。
<P> 三、","運(yùn)算符
<BR> ","運(yùn)算符用于將多個表達(dá)式串在一起, ","運(yùn)算符的左邊總不返回,
右邊表
<BR>達(dá)式的值才是整個表達(dá)式的值。
<BR> 例如:
<BR> main()
<BR> {
<BR> int x, y;
<BR> x=50;
<BR> y=(x=x-5, x/5);
<BR> }
<BR> 上面程序執(zhí)行后y值為9, 因?yàn)閤的初始值為50, 減5后變?yōu)?5,
45除5為9賦給
<BR>y。
<BR>
<P> 四、sizeof運(yùn)算符
<BR> sizeof運(yùn)算符是一個單目運(yùn)算符, 它返回變量或類型的字節(jié)長度。
<BR> 例如:
<BR> sizeof(double) 為8
<BR> sizeof(int) 為2
<BR> 也可以求已定義的變量, 例如:
<BR> float f;
<BR> int i;
<BR> i=sizeof(f);
<BR> 則i的值將為4。
<P> 五、聯(lián)合操作
<BR> Turbo C中有一特殊的簡寫方式, 它用來簡化一種賦值語句,
適用于所有的
<BR>雙目運(yùn)算符。其一般形式為:
<BR> <變量>=<變量><操作數(shù)><表達(dá)式>
<BR> 相當(dāng)于
<BR> <變量><操作數(shù)>=<表達(dá)式>
<BR> 例如:
<BR> a=a+b
可寫成 a+=b
<BR> a=a&b
可寫成 a&=b
<BR> a=a/(b-c) 可寫成
a/=b-c
<BR> 5.5 Turbo C運(yùn)算符的優(yōu)先級
<BR> Turbo C規(guī)定了運(yùn)算符的優(yōu)先次序即優(yōu)先級。 當(dāng)一個表達(dá)式中有多個運(yùn)算符
<BR>參加運(yùn)算時, 將按下表所規(guī)定的優(yōu)先級進(jìn)行運(yùn)算。表中優(yōu)先級從上往下逐漸降低,
<BR>同一行優(yōu)先級相同。
<BR> 例如:
<BR> 表達(dá)式 10>4&&!(100<99)||3<=5
的值為1
<BR> 表達(dá)式 10>4&&!(100<99)&&3<=5
的值為0
<P>
Turbo C運(yùn)算符的優(yōu)先次序
<BR>━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━
<BR>
表達(dá)式
┃優(yōu)先級
<BR>────────────────────────────╂────
<BR> ()(小括號) [](數(shù)組下標(biāo)) .(結(jié)構(gòu)成員) ->(指針型結(jié)構(gòu)成員)┃ 最高
<BR>────────────────────────────┃ ↑
<BR> !(邏輯非) .(位取反) -(負(fù)號) ++(加1) --(減1) &(變量地址)┃
│
<BR>────────────────────────────┃ │
<BR> *(指針?biāo)竷?nèi)容) type(函數(shù)說明) sizeof(長度計算)
┃ │
<BR>────────────────────────────┃ │
<BR> *(乘) /(除)
%(取模)
┃ │
<BR>────────────────────────────┃ │
<BR> +(加) -(減)
┃ │
<BR>────────────────────────────┃ │
<BR> <<(位左移)
>>(位右移)
┃ │
<BR>────────────────────────────┃ │
<BR> <(小于) <=(小于等于)
>(大于) >=(大于等于) ┃ │
<BR>────────────────────────────┃ │
<BR> ==(等于)
!=(不等于)
┃ │
<BR>────────────────────────────┃ │
<BR> &(位與)
┃ │
<BR>────────────────────────────┃ │
<BR> ^(位異或)
┃ │
<BR>────────────────────────────┃ │
<BR> |(位或)
┃ │
<BR>────────────────────────────┃ │
<BR> &&(邏輯與)
┃ │
<BR>────────────────────────────┃ │
<BR> ||(邏輯或)
┃ │
<BR>────────────────────────────┃ │
<BR> ?:(?表達(dá)式)
┃ │
<BR>────────────────────────────┃ │
<BR> = += -=(聯(lián)合操作)
┃ │
<BR>────────────────────────────┃ │
<BR> ,(逗號運(yùn)算符)
┃ 最低
<BR>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<BR>
<P>
<A HREF="index.html">返回目錄</A>
<BR>
</BODY>
</HTML>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -