国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

《C和指針》第五章學習摘要

2019-11-14 12:57:49
字體:
來源:轉載
供稿:網友

Chapter 5

操作符

算術操作符

“+ - * / %”%限定于整數類型,當/用于整型運算,意義為整除,但如果操作數存在負數,其結果由編譯器定義。

移位操作符

左移位:<< 右移位:>>在左移位中,值最左邊的幾位被丟棄,右邊多出來的幾個空位則由0補齊。在右移位中,從左邊移入新位時,可以選擇兩種方案,一種是邏輯移位,左邊移入的位用0填充;另一種是算術移位,左邊移入的位由原先該值的符號位決定,符號位為1均為1,符號位為0均為0。移位操作符的操作數均為整型。對于無符號值執行邏輯移位,對于有符號值,是邏輯移位還是算術移位取決于編譯器。

位操作符

與:& 或:| 異或:^

賦值

賦值操作符的結合性是從右到左,所以a=x=y+3等價于a=(x=y+3)等價于x=y+3;a=x;一個常見錯誤char ch;...while((ch = getchar() ) != EOF )EOF需要的位數比字符型值所能提供的位數要多,這也是getchar返回一個整型值而不是字符值的原因。然而,把getchar的返回值首先存儲于ch中將導致它被截斷,然后這個被截短的值被提升為整型并與EOF進行比較,當這段存在錯誤的代碼在使用有符號字符集的機器上運行時,如果讀取了一個值為/377的字節時,循環將會終止,因為這個值截短后再提升之后與EOF相等。

單目操作符

“! ++ - & sizeof ~ – + * (類型)”!執行邏輯反的操作,產生一個整型結果,0或1。~ 對整型類型的操作數進行求補操作,操作數中所有原先為1的位變為0,所有原先為0的位變成1。sizeof接數組名時返回數組長度,以字節為單位。判斷表達式的結果字節長度并不需要對表達式進行賦值,所以sizeof(a=b+1)并沒有改變a的值。++a = 10是錯誤的,因為++a結果相當于一個常量,不能作為左值。

邏輯操作符

C語言的邏輯操作符是“短路求值”,例如&&,當左邊假則直接判定結果為假,不再計算右邊。

逗號操作符

逗號操作符將兩個或多個表達式分隔開來,這些表達式自左向右逐個進行求值,整個逗號表達式的值就是最后那個表達式的值。

左值和右值

左值就是能夠出現在賦值號左邊的東西,右值就是能夠出現在賦值號右邊的東西。字面值常量以及結果為常量的表達式不能夠作為左值。

表達式求值

隱式類型轉換

C的整型算術運算總是至少以缺省整型類型的精度來進行的,為了獲得這個精度,表達式中的字符型和短整形操作數在使用之前被轉換為普通整型,這種轉換為整型提升。

算術轉換

如果某個操作符的各個操作數屬于不同的類型,那么除非其中一個操作數轉換為另外一個操作數的類型,否則操作就無法進行,下面的層次體系稱為尋常算術轉換: long double->double->float->unsigned long int->long int->unsigned int->int如果某個操作數的類型在上面這個列表中排名較低,那么首先它將轉換成另外一個操作數的類型然后執行操作。一個表達式中可能存在多個算術轉換的操作,注意對于每一個操作,都不能存在溢出。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天长市| 安西县| 娱乐| 丰都县| 太仆寺旗| 墨玉县| 普宁市| 阿拉善左旗| 乌拉特中旗| 大方县| 阿拉善右旗| 防城港市| 罗城| 泾川县| 谢通门县| 综艺| 连南| 大化| 汉川市| 乌拉特中旗| 侯马市| 安龙县| 辽阳县| 青阳县| 九寨沟县| 甘孜| 长阳| 石景山区| 武冈市| 古蔺县| 彝良县| 武威市| 望都县| 石城县| 兰考县| 蓝田县| 廊坊市| 定襄县| 天镇县| 额济纳旗| 通化县|