三、賦值語句中的數(shù)據(jù)類型轉換
類型轉換是指不同類型的變量混用時的類型改變。
在賦值語句中, 類型轉換規(guī)則是:
等號右邊的值轉換為等號左邊變量所屬的類型。
例如:
main()
{
int i, j; /*定義整型變量*/
float f, g=2.58; /*定義浮點型變量*/
f=i*j; /*i與j的乘積是整型數(shù), 被轉換成為浮點數(shù)賦給f*/
i=g; /*g中的浮點型數(shù)轉換成為整型數(shù)賦給i*/
...
}
由于Turbo C按上述數(shù)據(jù)類型轉換規(guī)則, 因此在作除法運算時應特別注意。
例如:
main()
{
float f;
int i=15;
f=i/2;
}
上面程序經(jīng)運行后, f=7并不等于準確值7.5。正確的程序應該是:
main()
{
float f;
int i=15;
f=i/2.0;
}
也可直接將i定義為浮點數(shù)。
5.2 關系運算符和邏輯運算符
一、邏輯運算符
邏輯運算符是指用形式邏輯原則來建立數(shù)值間關系的符號。
Turbo C的邏輯運算符如下:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
─────────────────────────────
&& 邏輯與
|| 邏輯或
! 邏輯非
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
二、關系運算符
關系運算符是比較兩個操作數(shù)大小的符號。
Turbo C的關系運算符如下:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
─────────────────────────────
> 大于
>= 大于等于
< 小于
<= 小于等于
== 等于
!= 不等于
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
關系運算符和邏輯運算符的關鍵是真(true)和假(false)的概念。Turbo C中true可以是不為0的任何值, 而false則為0。 使用關系運算符和邏輯運算符表達式時, 若表達式為真(即true)則返回1, 否則, 表達式為假(即false), 則返回0。
例如:
100>99 返回1
10>(2+10) 返回0
!1&&0 返加0
對上例中表達式!1&&0, 先求!1和先求1&&0將會等于出不同的結果, 那么何者優(yōu)先呢? 這在Turbo C中是有規(guī)定的。 有關運算符的優(yōu)先級本節(jié)后面將會講到。
5.3 按位運算符
Turbo C和其它高級語言不同的是它完全支持按位運算符。這與匯編語言的位操作有些相似。
Turbo C中按位運算符有:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
────────────────────────────
& 位邏輯與
| 位邏輯或
^ 位邏輯異或
- 位邏輯反
>> 右移
<< 左移
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
按位運算是對字節(jié)或字中的實際位進行檢測、設置或移位, 它只適用于字符型和整數(shù)型變量以及它們的變體, 對其它數(shù)據(jù)類型不適用。
關系運算和邏輯運算表達式的結果只能是1或0。 而按位運算的結果可以取0或1以外的值。
要注意區(qū)別按位運算符和邏輯運算符的不同, 例如, 若x=7, 則x&&8 的值為真(兩個非零值相與仍為非零), 而x&8的值為0。
移位運算符">>"和"<<"是指將變量中的每一位向右或向左移動, 其通常形式為:
右移: 變量名>>移位的位數(shù)
左移: 變量名<<移位的位數(shù)
經(jīng)過移位后, 一端的位被"擠掉", 而另一端空出的位以0 填補, 所以, Turbo C中的移位不是循環(huán)移動的。
相關推薦:計算機等考二級C語言備考:C語言/C++編譯過程北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |