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

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

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

2019-11-14 12:55:57
字體:
供稿:網(wǎng)友

Chapter 5

操作符

算術(shù)操作符

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

移位操作符

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

位操作符

與:& 或:| 異或:^

賦值

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

單目操作符

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

邏輯操作符

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

逗號操作符

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

左值和右值

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

表達式求值

隱式類型轉(zhuǎn)換

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

算術(shù)轉(zhuǎn)換

如果某個操作符的各個操作數(shù)屬于不同的類型,那么除非其中一個操作數(shù)轉(zhuǎn)換為另外一個操作數(shù)的類型,否則操作就無法進行,下面的層次體系稱為尋常算術(shù)轉(zhuǎn)換: long double->double->float->unsigned long int->long int->unsigned int->int如果某個操作數(shù)的類型在上面這個列表中排名較低,那么首先它將轉(zhuǎn)換成另外一個操作數(shù)的類型然后執(zhí)行操作。一個表達式中可能存在多個算術(shù)轉(zhuǎn)換的操作,注意對于每一個操作,都不能存在溢出。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泸水县| 武隆县| 韶关市| 永康市| 仪陇县| 永顺县| 英超| 治县。| 多伦县| 忻城县| 肇东市| 合江县| 绥德县| 甘孜| 舒兰市| 福清市| 新沂市| 亚东县| 峡江县| 福州市| 九龙城区| 甘德县| 湘潭市| 玉屏| 通道| 沂水县| 邹平县| 连城县| 绥江县| 新晃| 金堂县| 灵丘县| 建昌县| 丹东市| 辽源市| 凯里市| 满城县| 岳阳市| 榆社县| 牡丹江市| 乾安县|