C語(yǔ)言的數(shù)據(jù)類(lèi)型與基本操作PPT學(xué)習(xí)教案_第1頁(yè)
C語(yǔ)言的數(shù)據(jù)類(lèi)型與基本操作PPT學(xué)習(xí)教案_第2頁(yè)
C語(yǔ)言的數(shù)據(jù)類(lèi)型與基本操作PPT學(xué)習(xí)教案_第3頁(yè)
C語(yǔ)言的數(shù)據(jù)類(lèi)型與基本操作PPT學(xué)習(xí)教案_第4頁(yè)
C語(yǔ)言的數(shù)據(jù)類(lèi)型與基本操作PPT學(xué)習(xí)教案_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、會(huì)計(jì)學(xué)1C語(yǔ)言的數(shù)據(jù)類(lèi)型與基本操作語(yǔ)言的數(shù)據(jù)類(lèi)型與基本操作2本章主要內(nèi)容本章主要內(nèi)容1、常量和變量2、標(biāo)識(shí)符與關(guān)鍵字3、整型數(shù)在計(jì)算機(jī)中的存儲(chǔ)方式4、有符號(hào)的數(shù)據(jù)類(lèi)型和無(wú)符號(hào)的數(shù)據(jù)類(lèi)型5、運(yùn)算符及表達(dá)式6、不同類(lèi)型數(shù)據(jù)間的轉(zhuǎn)換數(shù)據(jù)數(shù)據(jù)類(lèi)型類(lèi)型構(gòu)造類(lèi)型構(gòu)造類(lèi)型指針類(lèi)型指針類(lèi)型空類(lèi)型空類(lèi)型char (字符類(lèi)型字符類(lèi)型)enum(枚舉類(lèi)型)枚舉類(lèi)型)整型整型實(shí)型實(shí)型float (單精度單精度)double (雙精度雙精度)short int (短整型短整型)long int (長(zhǎng)整型長(zhǎng)整型)int (整型整型)數(shù)組類(lèi)型數(shù)組類(lèi)型結(jié)構(gòu)類(lèi)型結(jié)構(gòu)類(lèi)型共同類(lèi)型共同類(lèi)型基本類(lèi)基本類(lèi)型型數(shù)值類(lèi)型數(shù)值類(lèi)型文件類(lèi)型文

2、件類(lèi)型數(shù)據(jù)類(lèi)型決定:數(shù)據(jù)類(lèi)型決定:1.數(shù)據(jù)占內(nèi)存字節(jié)數(shù)數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2.數(shù)據(jù)取值范圍數(shù)據(jù)取值范圍3. 其上可進(jìn)行的操作其上可進(jìn)行的操作42.1 常量與變量常量與變量在程序運(yùn)行過(guò)程中,其值不改變的量稱(chēng)為常量。在C語(yǔ)言中,常量有不同的類(lèi)型:整型常量(int)短整型(short int)長(zhǎng)整型(long int)無(wú)符號(hào)型(unsigned int) 實(shí)型常量(float和double) 字符常量(char) 字符串常量5十進(jìn)制5,10,83十進(jìn)制數(shù)16,255,861.5105,2.910-7。注意:指數(shù)形式的浮點(diǎn)常量E或e前面必須有數(shù)字,E或e后面必須為整數(shù)。7 它是用一對(duì)單撇號(hào)括起來(lái)的一個(gè)字符

3、如a,A,?, # 等 轉(zhuǎn)義字符 有些字符和命令無(wú)法通過(guò)鍵盤(pán)直接輸入,因而借用一個(gè)符號(hào)或者數(shù)字來(lái)表示,C語(yǔ)言用反斜杠“”來(lái)表示轉(zhuǎn)義字符的起始符,轉(zhuǎn)義字符的表示有三個(gè)方面: 用反斜杠開(kāi)頭后面跟一個(gè)字母代表一個(gè)控制字符; ntrb回車(chē)換行 回車(chē)不換行 退格 水平跳格 代表字符,用代表字符。 用“”后跟1到3個(gè)八進(jìn)制數(shù)代表ASCII碼為該八進(jìn)制數(shù)的字符;用“x”后跟12個(gè)十六進(jìn)制數(shù)代表ASCII碼為該十六進(jìn)制數(shù)的字符。 101或 x41 表示A363或 xf3 表示 012或 x1A 表示 100或 x40 表示 【例1】打印人民幣符號(hào)¥ 簡(jiǎn)稱(chēng)字符printf(Yb=);9例2.2 main ()

4、char ch; ch=362; printf (%cn,ch); printf (chinan101tn);運(yùn)行結(jié)果:屏幕顯示:china A 10h e l l o 0例 字符串hello在內(nèi)存中例 空串 01041011081081110注:注:字符與字符串的區(qū)別字符與字符串的區(qū)別. .a a 0例 aa12【例2.3】符號(hào)常量舉例#define PRICE 30main() int num,total; num=10; total=num*PRICE; printf(total=%d,total);運(yùn)行結(jié)果:total=300 定義定義:用一個(gè)標(biāo)識(shí)符代表一個(gè)常量 #define 標(biāo)識(shí)符

5、 代表的常量使用符號(hào)常量的好處是:(1)含義清楚。(2)在需要改變一個(gè)常量時(shí)能做到“一改全改”。 常用大寫(xiě)字母,與變量名區(qū)分開(kāi)來(lái)。變量是指在程序的運(yùn)行過(guò)程中,其值可以發(fā)生變化的量變量是指在程序的運(yùn)行過(guò)程中,其值可以發(fā)生變化的量聲明變量的目的:聲明變量的目的:(1)存放需要加工的初始值)存放需要加工的初始值(2)存放加工的中間結(jié)果)存放加工的中間結(jié)果(3)存放加工的最終結(jié)果)存放加工的最終結(jié)果需要理解的三個(gè)概念需要理解的三個(gè)概念變量名、變量的存儲(chǔ)空間、變量的值變量名、變量的存儲(chǔ)空間、變量的值int a=3;1101 afff地址表示地址表示存儲(chǔ)空間存儲(chǔ)空間a變量名變量名3變量的值變量的值14例如

6、:int x;int y;或等效為:int x,y;注意:注意:定義變量的語(yǔ)句必須以“;”號(hào)結(jié)束,在定義一個(gè)語(yǔ)句中也可以同時(shí)定義多個(gè)變量,變量之間用“,”隔開(kāi)。對(duì)變量的定義可以在函數(shù)體之外,也可以在函數(shù)體或復(fù)合語(yǔ)句中。 15int sum=0; /*說(shuō)明變量sum的類(lèi)型為整型,初始值為0*/float pi=3.1416;char c=w;【例2.4】 整型變量的定義和引用。# include stdio.hmain()int x ,y,z,s; /*基本整型變量定義,一次可定義一個(gè)或多個(gè)變量*/x=3;y=4;z=5; /*整型變量的引用*/s=x+y+z; /*整型變量的引用*/print

7、f(ns=%d,s);運(yùn)行結(jié)果:運(yùn)行結(jié)果:S=12注意:注意:(1)不同類(lèi)型的數(shù)據(jù)在內(nèi)存中占據(jù)不同長(zhǎng)度的存儲(chǔ)區(qū),而且采用不同的表示方式。(2)一種數(shù)據(jù)類(lèi)型對(duì)應(yīng)著一個(gè)值的范圍。(3)一種數(shù)據(jù)類(lèi)型對(duì)應(yīng)著一組允許的操作。16例:判斷下列標(biāo)識(shí)符號(hào)合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $1231732 個(gè)關(guān)鍵字:(auto break case char constcontinue default do double elseenum extern float for gotoif i

8、nt long register returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while-關(guān)鍵字18 原碼、反碼和補(bǔ)碼的相關(guān)知識(shí)計(jì)算機(jī)中,所有的整數(shù)都是以補(bǔ)碼的形式進(jìn)行存儲(chǔ)的正整數(shù)的原碼、反碼和補(bǔ)碼相同求負(fù)整數(shù)的補(bǔ)碼步驟如下:(1)求負(fù)整數(shù)的原碼(2)在原碼的基礎(chǔ)上求反碼(3)在反碼的基礎(chǔ)上加1原碼 5的八位二進(jìn)制的原碼為0000 0101-5絕對(duì)值的八位二進(jìn)制表示為0000 0101正整數(shù)的原碼是這個(gè)數(shù)本身。 負(fù)整數(shù)的原碼求解方法: 負(fù)整數(shù)的絕對(duì)值用二進(jìn)制表示,最高位用于表

9、示符號(hào),1表示負(fù)整數(shù),0表示正整數(shù)。求-5的原碼:1000 0101-5原碼的八位二進(jìn)制表示:求5的原碼:反碼 反碼表示法規(guī)定:正整數(shù)的反碼和原碼相同負(fù)整數(shù)數(shù)的反碼是對(duì)該數(shù)的原碼除符號(hào)位外各位取反求5的反碼:5的反碼的八位二進(jìn)制為0000 0101求-5的反碼: -5的原碼的八位二進(jìn)制表示為1000 0101-5的反碼的八位二進(jìn)制表示為1111 1010補(bǔ)碼 補(bǔ)碼表示法規(guī)定:正整數(shù)的補(bǔ)碼和原碼相同 負(fù)整數(shù)的補(bǔ)碼是在該數(shù)的反碼的基礎(chǔ)上加1,即最后(即最右邊)一位上加1。 求5的補(bǔ)碼: 5的補(bǔ)碼的八位二進(jìn)制為0000 0101求-5的補(bǔ)碼:-5的反碼的八位二進(jìn)制表示為1111 1010-5的補(bǔ)碼的

10、八位二進(jìn)制表示為1111 1011 C 語(yǔ)言中所有的整數(shù)都是以補(bǔ)碼的方式存儲(chǔ)的 例:求-50在內(nèi)存中的存儲(chǔ)結(jié)果(假定用16位來(lái)存儲(chǔ))。-50絕對(duì)值的原碼:0000 0000 0011 0010 -50的原碼:1000 0000 0011 0010 -50的反碼:1111 1111 1100 1101 -50的補(bǔ)碼:1111 1111 1100 1110 例:把內(nèi)存中以補(bǔ)碼形式存儲(chǔ)的數(shù)據(jù)1111 1111 1111 0110轉(zhuǎn)化為十進(jìn)制整數(shù)。 數(shù)據(jù)的補(bǔ)碼表示:1111 1111 1111 0110除符號(hào)位外,各位取反:1000 0000 0000 1001最低位加1: 1000 0000 000

11、0 1010-10 例:把內(nèi)存中以補(bǔ)碼形式存儲(chǔ)的數(shù)據(jù)1111 1111 1111 0110轉(zhuǎn)化為十進(jìn)制整數(shù)。 數(shù)據(jù)的補(bǔ)碼表示:1111 1111 1111 0110除符號(hào)位外,各位取反:1000 0000 0000 1001最低位加1:1000 0000 0000 1010-1026類(lèi)型類(lèi)型標(biāo)識(shí)符所占字節(jié)數(shù)取值范圍及精度字符型signed char1-128+127unsigned char10255整型signed int4-214 783 648+214 783 647signed short int2-32 768+32 767signed long int4-214 783 648+2

12、14 783 647unsigned int404 294 967 295unsigned short int2065535unsigned long int404 294 967 295實(shí)型float4-3.410-383.41038,67位有效數(shù)字double8-1.710-3081.710308,1516位有效數(shù)字long double16-1.210-49321.7104932,1819位有效數(shù)字27算術(shù)算術(shù)運(yùn)算符運(yùn)算符:+ - + - * * / % + - / % + -關(guān)系關(guān)系運(yùn)算符運(yùn)算符: = != = !=邏輯邏輯運(yùn)算符運(yùn)算符:! & |& |位位運(yùn)算符運(yùn)算符: | & |

13、&賦值賦值運(yùn)算符運(yùn)算符: : = += -= += -= 條件條件運(yùn)算符運(yùn)算符: ? :? :逗號(hào)逗號(hào)運(yùn)算符運(yùn)算符: : , ,地址地址運(yùn)算符運(yùn)算符:* * & &求字節(jié)數(shù)求字節(jié)數(shù)運(yùn)算符運(yùn)算符: sizeofsizeof強(qiáng)制類(lèi)型轉(zhuǎn)換:強(qiáng)制類(lèi)型轉(zhuǎn)換:(type-name(type-name)分量分量運(yùn)算符運(yùn)算符: . -. -下標(biāo)下標(biāo)運(yùn)算符運(yùn)算符: 其他其他 :( ) -( ) -2829【例2.8】有語(yǔ)句int a=2,b=5,x,y;執(zhí)行x=y=a+b;后x,y的值。abxy2577【例2.9】有定義:int a,b,c;求執(zhí)行表達(dá)式a=(b=65)/(c=6);后a的值。abc65610a

14、 =b +a=a+b 相當(dāng)于 a=a-b a-=b a*=b a=a*b a/=b a=a/b a%=b a=a%b 相當(dāng)于 相當(dāng)于 相當(dāng)于 相當(dāng)于 y*=a+b; y=y*(a+b) 相當(dāng)于 【例2.10】有定義: int a=6,b=8;求執(zhí)行a*=b+=12后,a的值。 a6b8b+=12 b=b+12 20a*=ba=a*b 120【例2.11】 有定義:“int a=12;”,執(zhí)行表達(dá)式a+=a-=a*=a后,a的值為( )。A12B144C0 D132a*=aa12a=a*a 144a-=a a=a-a 0a+=a a=a+a 033算術(shù)運(yùn)算符包括:算術(shù)運(yùn)算符包括:+,-,*,/,

15、%,+,-左操作數(shù)右操作數(shù)運(yùn)算符13+5 13.0+5結(jié)果為整數(shù)18 結(jié)果為浮點(diǎn)數(shù)18.0 d 97 結(jié)果為整數(shù)3 1/2 結(jié)果為整數(shù)0 1.0/2結(jié)果為浮點(diǎn)數(shù)0.5 5%10 結(jié)果為整數(shù)5 10%5 結(jié)果為整數(shù)0 1/2.0 1.0/2.0 + 自增運(yùn)算符,其作用是使變量的值自加1 - - 自減運(yùn)算符,其作用是使變量的值自減1 +i,-i 前綴運(yùn)算:在使用i之前,先使i的值自增(或自減)1 i+,i- 后綴運(yùn)算:在使用i之后,再使i的值自增(或自減)1 【例】有定義: int i=8,j;求執(zhí)行 j=i+;后i,j的值i8j89【例】有定義: int i=8,j;求執(zhí)行 j=+i;后i,j的

16、值ij8 99應(yīng)用舉例應(yīng)用舉例【例2.12】假設(shè)變量i,j,k的值分別為3,5和3,求執(zhí)行表達(dá)式“m=(+k)*j;”和“n=(i+)*j;”中的m和n的值。ijkmn353 420154應(yīng)用舉例應(yīng)用舉例習(xí)題習(xí)題1、下列算術(shù)運(yùn)算符中,只能用于、下列算術(shù)運(yùn)算符中,只能用于整型數(shù)據(jù)的是(整型數(shù)據(jù)的是( )。)。A- B+ C/ D% 習(xí)題2、假設(shè)有以下變量定義:假設(shè)有以下變量定義:int k=7,x=12;則能使值為則能使值為3的表達(dá)式是(的表達(dá)式是( )Ax%=(k%=5) Bx%=(x-k%5)Cx%=k+k%5 D(k%=5)(x%=k)D20C2382.5.3 長(zhǎng)度測(cè)試運(yùn)算符長(zhǎng)度測(cè)試運(yùn)算符

17、sizeof長(zhǎng)度測(cè)試運(yùn)算符sizeof可用來(lái)測(cè)試某個(gè)類(lèi)型的變量所占用計(jì)算機(jī)內(nèi)存空間的字節(jié)長(zhǎng)度。格式為:sizeof(類(lèi)型名)例:main( )printf(char:%d bytesn,sizeof(char);printf(short:%d bytesn,sizeof(short);printf(int:%d bytesn,sizeof(int);printf(long:%d bytesn,sizeof(long);printf(float:%d bytesn,sizeof(float);printf(double:%d bytesn,sizeof(double);return 0;39符號(hào)

18、優(yōu)先級(jí)(大于),=(大于或等于)高=(等于),!=(不等于)低注意:注意: (1)關(guān)系運(yùn)算符為雙目運(yùn)算符,結(jié)合方向?yàn)樽宰笾劣摇?(2)關(guān)系運(yùn)算符的結(jié)果為真(1)或假(0),C語(yǔ)言中沒(méi)有邏輯值。 (3)算術(shù)運(yùn)算符高于關(guān)系運(yùn)算符。40ca+b 等同于c(a+b)a=bc等同于a=(bc)ab!=c等同于(ab)!=c【例2.14】 請(qǐng)注意下列給出的表達(dá)式及其返回值。 65的返回值是0。 若a=3,b=5,則a=3+10的返回值是0。 若x=90,則x53;printf(%dn,x);0 【例2.16】 已知a=3,b=2,c=1,則表達(dá)式ab=c的值為( )。 1 對(duì)于關(guān)系表達(dá)式要注意如下事項(xiàng):一

19、個(gè)關(guān)系式中含有多個(gè)關(guān)系表達(dá)式時(shí),要注意與數(shù)學(xué)式的區(qū)別。應(yīng)避免對(duì)實(shí)數(shù)作相等或不等的判斷,因?yàn)閷?shí)數(shù)在內(nèi)中存放時(shí)有一定的誤差。& | ! 邏輯運(yùn)算符: 用邏輯運(yùn)算符將關(guān)系表達(dá)式連接起來(lái)就構(gòu)成邏輯表達(dá)式。邏輯表達(dá)式: 【例2.17】 分析邏輯表達(dá)式!(53)&(23)!(1)0邏輯表達(dá)式的運(yùn)算結(jié)果:1(“真”),0(“假”)a&b x|y !z 邏輯表達(dá)式具有唯一真值的變量C語(yǔ)言邏輯表達(dá)式的特性: 在計(jì)算邏輯表達(dá)式時(shí),只有在必需執(zhí)行下一個(gè)表達(dá)式才能求解時(shí),才求該表達(dá)式。 邏輯與(&)運(yùn)算表達(dá)式中,只要前面一個(gè)表達(dá)式被判定為“假”,系統(tǒng)不再判定其后的表達(dá)式,整個(gè)表達(dá)式的值為0。a+&b+ 邏輯或(|)運(yùn)

20、算表達(dá)式中,只要前面一個(gè)表達(dá)式被判定為“真”,系統(tǒng)不再判定或求解其后的表達(dá)式,整個(gè)表達(dá)式的值為1。a=0,b=0a+|b+ a=1,b=1【例2.19】 定義: int i=10,s=0;執(zhí)行下列語(yǔ)句s=+s|+i;后s和i的值是多少?i10s0 143【例2.18】 已知year為整型變量,不能使表達(dá)式(year%4=0&year%100!=0)|(year%400 =0)的值為“真”的數(shù)據(jù)是( )。A1990 B1992 C1996 D2000 A【例2.19】 定義:“int i=10,s=0;”,分別執(zhí)行下列語(yǔ)句,s和i的值是多少?s=+s|+i;答案為:s=1,i=10 【例2.20

21、】 定義:“int x=0,y=0,z=0;”,分別執(zhí)行下列語(yǔ)句后,各變量的值是多少?+x&+y|+z 答案為:x=1,y=1,z=0 已知已知A,B,C,D四人中有一個(gè)人是小偷,并且,這四個(gè)人中每個(gè)四人中有一個(gè)人是小偷,并且,這四個(gè)人中每個(gè)人要么說(shuō)真話,要么說(shuō)假話。在審訊過(guò)程中,這四個(gè)人分別回答如人要么說(shuō)真話,要么說(shuō)假話。在審訊過(guò)程中,這四個(gè)人分別回答如下:下:A說(shuō):說(shuō):B沒(méi)有偷,是沒(méi)有偷,是D偷的。偷的。B說(shuō):我沒(méi)有偷,是說(shuō):我沒(méi)有偷,是C偷的。偷的。C說(shuō):說(shuō):A沒(méi)有偷,是沒(méi)有偷,是B偷的。偷的。D說(shuō):我沒(méi)有偷。說(shuō):我沒(méi)有偷?,F(xiàn)要求根據(jù)這四個(gè)人的回答,寫(xiě)出能確定誰(shuí)是小偷的條件?,F(xiàn)要求根據(jù)這

22、四個(gè)人的回答,寫(xiě)出能確定誰(shuí)是小偷的條件。int a,b,c,d;b+d=1真真b+d=1假假b+d=1b+cb+ca+ba+bb+c=1b+c=1a+b+c+da+b+c+da+b+c+d=1&b+d0 1=1b+d1 0=1=1=1=1=1=1=145【例2.20】 從鍵盤(pán)讀入一個(gè)整數(shù)賦給x,如果x大于等于0,把x的平方賦給y,否則把x的2倍賦給y。# include stdio.hvoid main()int x,y;scanf(%d,&x);y=x=0?x*x:2*x;printf(y=%dn,y);【例2.21】 已定義“int x=4,b=5,y;”,執(zhí)行語(yǔ)句:y=+xb?x:b-+

23、x?+b:x后,x、b、y的值分別為_(kāi)。答案為x=6,b=4,y=6 【例2.24】 分析下列程序的輸出結(jié)果。#include stdio.hvoid main()int i,j,k,a=3,b=2;i=(-a=b+)?-a:+b;j=a+;k=+b;printf(i=%d,j=%d,k=%dn,i,j,k);i=1,j=1,k=4 【例2.25】 請(qǐng)編制程序,任意輸入兩個(gè)整數(shù),輸出其中較小者。 main() int n1,n2,min;clrscr();printf(input two number(n1,n2): );scanf(%d,%d,&n1,&n2);min=(n1n2)?n2:n

24、1;printf(min=%d,min);運(yùn)行時(shí),按屏幕提示操作:input two number(n1,n2):3,5結(jié)果為:min=3【例2.26】 編制程序,輸入大寫(xiě)字母,則輸出小寫(xiě)字母;輸入小寫(xiě)字母,則輸出大寫(xiě)字母。main()char ch;printf(input any letter: );scanf(%c,&ch);ch=(ch=A)&(chb?x:b-+x?+b:x后,x、b、y的值分別為_(kāi)。 xyb45554666習(xí)題:找出三個(gè)整形數(shù)據(jù)的最大數(shù)int a,b,c ;scanf(%d%d%d,&a,&b,&c);,maxab? a : b ;(ac?a:c)(bc?b:c)m

25、ax= 47【例2.27】 分析下列逗號(hào)表達(dá)式的計(jì)算過(guò)程及結(jié)果。 3+5,6*3 表達(dá)式的值是18。 a=(3+5,6*3) a的值是18,此為賦值表達(dá)式。 a=3+5,6*3 a的值是8,表達(dá)式的值是18(先作賦值運(yùn)算)。 a=3+5,6*a a的值是8,表達(dá)式的值是48。 (a=3+5,6*a),a+100a的值是8,表達(dá)式的值是108。 使用逗號(hào)表達(dá)式應(yīng)該注意如下事項(xiàng):逗號(hào)表達(dá)式可以和另外一個(gè)表達(dá)式組成一個(gè)新的逗號(hào)表達(dá)式。并不是在所有出現(xiàn)逗號(hào)的地方都組成逗號(hào)表達(dá)式。如在變量說(shuō)明中和函數(shù)參數(shù)表中的逗號(hào)只是用做個(gè)變量之間的間隔符。 484950位運(yùn)算符還可以與賦值運(yùn)算符相結(jié)合,成為位運(yùn)算賦值

26、操作。 運(yùn)算符作用舉例等價(jià)表達(dá)式=左移賦值a=na=a=右移賦值b=nb=bn&=位與賦值a&=ba=a&b=位異或賦值=bb|=位或賦值a|=ba=a|b51(1)按位取反()。是單目運(yùn)算符,用來(lái)對(duì)一個(gè)二進(jìn)制數(shù)按位取反,也就是說(shuō)將原來(lái)的0變?yōu)?,1變?yōu)?。【例2.25】 分析下列程序的輸出結(jié)果。void main()unsigned char a,b;a=0 x9a; b=a;printf (a:%x b:%xn,a,b);運(yùn)行結(jié)果為:運(yùn)行結(jié)果為:a:9a b:65 52(2)按位與(&)。參加運(yùn)算的兩個(gè)數(shù)據(jù),按照二進(jìn)制位進(jìn)行“&”運(yùn)算,如果兩個(gè)相應(yīng)的二進(jìn)制位都為1,則該位的結(jié)果為1,否則為

27、0。即0&0=0,0&1=0,1&0=0,1&1=1。按位與有以下功能:1)清0。如果想將一個(gè)單元清0,即使全部二進(jìn)制位為0,只要找一個(gè)二進(jìn)制數(shù),其中的各位符合以下條件:原來(lái)的數(shù)中為1的位,新數(shù)中的相應(yīng)位為0。然后將二者進(jìn)行&運(yùn)算,可以達(dá)到清0的目的。也就是原數(shù)取反,再和原數(shù)進(jìn)行按位與,就可以達(dá)到清0的目的。 【例2.26】 分析下列程序的運(yùn)行結(jié)果。void main()int x;x=x&x;printf (%dn,x);解析:假如x的值為00101011,x后為11010100,則 00101011 &11010100 000000002)取一個(gè)數(shù)中的某些指定位。如果有一個(gè)整數(shù)a(2個(gè)字節(jié)),想要其中的低字節(jié),只需要將a與377按位與即可。 53(3)按位或(|)。兩個(gè)相或的二進(jìn)制位中只要有一個(gè)為1,該

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論