




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、10.1 10.1 共用體類型與共用體變量共用體類型與共用體變量返回10.2 10.2 共用體變量的引用共用體變量的引用10.3 10.3 共用體變量的應(yīng)用共用體變量的應(yīng)用10.4 10.4 位運(yùn)算與位段結(jié)構(gòu)位運(yùn)算與位段結(jié)構(gòu)10.5 10.5 枚舉類型枚舉類型10.6 10.6 類型定義類型定義10.1 10.1 共用體類型與共用體類型與 共用體變量共用體變量 共用體是共用體是C的由用戶定義的數(shù)據(jù)類型。共用體把的由用戶定義的數(shù)據(jù)類型。共用體把不同類型的數(shù)據(jù)項(xiàng)組成一個(gè)整體,這些不同類型的數(shù)不同類型的數(shù)據(jù)項(xiàng)組成一個(gè)整體,這些不同類型的數(shù)據(jù)項(xiàng)在內(nèi)存中所占用的起始單元是相同的。據(jù)項(xiàng)在內(nèi)存中所占用的起始
2、單元是相同的。1. 共用體類型的定義共用體類型的定義共用體類型定義用關(guān)鍵字共用體類型定義用關(guān)鍵字union標(biāo)識(shí),標(biāo)識(shí), 形式為:形式為: 下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁union 標(biāo)識(shí)符標(biāo)識(shí)符 成員說明列表成員說明列表; 標(biāo)識(shí)符給出共用體名,標(biāo)識(shí)符給出共用體名, 是共用體類型名的主體,是共用體類型名的主體, 定義的共用體類型由定義的共用體類型由“union 標(biāo)識(shí)符標(biāo)識(shí)符”標(biāo)識(shí)。標(biāo)識(shí)。 例如,定義一個(gè)共用體類型,例如,定義一個(gè)共用體類型, 要求包含一個(gè)整要求包含一個(gè)整型成員,一個(gè)字符型成員和一個(gè)單精度型成員:型成員,一個(gè)字符型成員和一個(gè)單精度型成員: un
3、ion icfint i; char c; float f; ; 下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁2 共用體變量的定義共用體變量的定義 (1) 先定義共用體類型,先定義共用體類型, 再定義共用體變量:再定義共用體變量: union 共用體名共用體名 成員表成員表; union 共用體名共用體名 變量表;變量表; 例如:例如:union data int i; char ch; float f; ; union data a,b,c;下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁(2) 定義共用體類型的同時(shí)定義共用體變量定義共用體類型
4、的同時(shí)定義共用體變量例如:例如:union data int i; char ch; float f; a,b,c; 下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁union 共用體名共用體名 成員表成員表 變量表;變量表;(3)定義共用體類型時(shí),省略共用體類型名,同時(shí)定義共用體類型時(shí),省略共用體類型名,同時(shí)定義共用體類型變量定義共用體類型變量union 成員表成員表 變量表;變量表;第 1 0 章 共 用 體 與 枚 舉 類 型例如:例如:union int i; char ch; float f;a,b,c; 返回10.2 10.2 共用體變量的引用共用體變量的引用
5、 共用體變量不能直接使用,只能使用里面的某共用體變量不能直接使用,只能使用里面的某個(gè)成員,其成員同樣通過點(diǎn)運(yùn)算描述。形式為:個(gè)成員,其成員同樣通過點(diǎn)運(yùn)算描述。形式為: 共用體變量名共用體變量名. .成員名成員名 例如,定義上面共用體類型變量例如,定義上面共用體類型變量a ,a占有占有4個(gè)個(gè)字節(jié)的空間,字節(jié)的空間,a.i 表示其整型成員,表示其整型成員,a.ch表示其字符表示其字符型成員,型成員,a.f表示其單精度型成員。表示其單精度型成員。 下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁 (1) 共用體變量中,可以包含若干個(gè)成員及若干種類型,共用體變量中,可以包含若干個(gè)
6、成員及若干種類型,但共用體成員不能同時(shí)使用。在每一時(shí)刻,只有一個(gè)成員但共用體成員不能同時(shí)使用。在每一時(shí)刻,只有一個(gè)成員及一種類型起作用,不能同時(shí)引用多個(gè)成員及多種類型。及一種類型起作用,不能同時(shí)引用多個(gè)成員及多種類型。下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁說明(2) 共用體變量中起作用的成員值是最后一次存放的成共用體變量中起作用的成員值是最后一次存放的成員值,即共用體變量所有成員共用同一段內(nèi)存單元,后員值,即共用體變量所有成員共用同一段內(nèi)存單元,后來存放的值將原先存放的值覆蓋,故只能使用最后一次來存放的值將原先存放的值覆蓋,故只能使用最后一次給定的成員值。如:給
7、定的成員值。如: a.i=278, a.ch=D, a.f=5.78;不能企圖通過下面的不能企圖通過下面的printf函數(shù)得到函數(shù)得到a.i和和a.ch的值:的值: printf(“%d,%c,%f”, a.i, a.ch, a.f);但能得到但能得到a.f的值。的值。(3) 共用體變量的地址和它的各個(gè)成員的地址相同。共用體變量的地址和它的各個(gè)成員的地址相同。(4) 不能企圖引用共用體變量名來得到某成員的值。不能企圖引用共用體變量名來得到某成員的值。 (5) 共用體變量不能作函數(shù)參數(shù),函數(shù)的返回值也不共用體變量不能作函數(shù)參數(shù),函數(shù)的返回值也不能是共用體類型。能是共用體類型。 (6) 共用體類型
8、和結(jié)構(gòu)體類型可以相互嵌套,共用體共用體類型和結(jié)構(gòu)體類型可以相互嵌套,共用體中成員可以為數(shù)組,甚至還可以定義共用體數(shù)組。中成員可以為數(shù)組,甚至還可以定義共用體數(shù)組。 下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁寫出下列程序的執(zhí)行結(jié)果寫出下列程序的執(zhí)行結(jié)果main()union exx int a,b; structint c,d;lpp;e=10;e.b=e.a+20;e.lpp.c=e.a+e.b;e.lpp.d=e.a*e.b;printf(“%d,%dn”,e.lpp.c,e.lpp.d);第 1 0 章 共 用 體 與 枚 舉 類 型例例10.1運(yùn)行結(jié)果:運(yùn)行結(jié)
9、果: 60,3600返回 設(shè)有若干教師的數(shù)據(jù),包含有教師編號(hào)、姓設(shè)有若干教師的數(shù)據(jù),包含有教師編號(hào)、姓名、職稱,若職稱為講師,則描述他們的所講課程,名、職稱,若職稱為講師,則描述他們的所講課程,若職稱為教授,則描述他們所寫論文數(shù)目。若職稱為教授,則描述他們所寫論文數(shù)目。 下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁10.3 10.3 共用體變量的應(yīng)用共用體變量的應(yīng)用例例10.2點(diǎn)擊點(diǎn)擊查看程序請查看程序請10.4 10.4 位運(yùn)算與位段結(jié)構(gòu)位運(yùn)算與位段結(jié)構(gòu) 位是指二進(jìn)制數(shù)的一位,其值為位是指二進(jìn)制數(shù)的一位,其值為0或或1。 位段以位為單位定義結(jié)構(gòu)體(或共用體)位段以位
10、為單位定義結(jié)構(gòu)體(或共用體)中成員所占存儲(chǔ)空間的長度。中成員所占存儲(chǔ)空間的長度。 含有位段的結(jié)構(gòu)體類型稱為位段結(jié)構(gòu)含有位段的結(jié)構(gòu)體類型稱為位段結(jié)構(gòu)。下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁10.4.1 10.4.1 位運(yùn)算位運(yùn)算 在用位運(yùn)算符進(jìn)行數(shù)的運(yùn)算時(shí),數(shù)是以補(bǔ)碼在用位運(yùn)算符進(jìn)行數(shù)的運(yùn)算時(shí),數(shù)是以補(bǔ)碼的形式參加運(yùn)算的。的形式參加運(yùn)算的。1. 1. 位運(yùn)算位運(yùn)算( (主要有:主要有:&、|、)(1)&(按位(按位“與與”)運(yùn)算規(guī)則為:運(yùn)算規(guī)則為:0&0=0,0&1=0,1&0=0,1&1=1例如,例如,-5&
11、;3的值為的值為3。其中。其中-5的補(bǔ)碼(為簡便起見,的補(bǔ)碼(為簡便起見,用用8位二進(jìn)制表示)為位二進(jìn)制表示)為1111 1011,3的補(bǔ)碼為的補(bǔ)碼為0000 0011,按位與的結(jié)果為按位與的結(jié)果為0000 0011,即值為十進(jìn)制數(shù),即值為十進(jìn)制數(shù)3。下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁(2 2)| |(按位(按位“或或”)運(yùn)算規(guī)則為:運(yùn)算規(guī)則為:0|0=0,0|1=1,1|0=1,1|1=1例如例如,-5|3的值為的值為-5。-5與與3相位或后得相位或后得11111011,其真值為其真值為-0000101,即,即-5。(3 3) (按位(按位“異或異或”)運(yùn)
12、算規(guī)則為:運(yùn)算規(guī)則為:00=0,01=1,10=1,11=0例如,例如,-53的值為的值為-8。(4 4) (按位(按位“取反取反”)運(yùn)算規(guī)則為:運(yùn)算規(guī)則為:0=1,1=0例如,例如,7的值為的值為-8。(5 5)(“左移左移”)例如例如,3(“右移右移”)移動(dòng)對象為正數(shù)時(shí),高位補(bǔ)移動(dòng)對象為正數(shù)時(shí),高位補(bǔ)0。為負(fù)數(shù)時(shí),邏輯右。為負(fù)數(shù)時(shí),邏輯右移,高位補(bǔ)移,高位補(bǔ)0;算術(shù)右移,高位補(bǔ);算術(shù)右移,高位補(bǔ)1。Turbo C采用采用的是算術(shù)右移,有的的是算術(shù)右移,有的C語言版本則采用邏輯右移。語言版本則采用邏輯右移。例如,例如,-32,將,將3右移右移2位,左邊(最高位)補(bǔ)位,左邊(最高位)補(bǔ)1,結(jié)果
13、為結(jié)果為-1。下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁10.4.2 10.4.2 位段結(jié)構(gòu)位段結(jié)構(gòu) 位段結(jié)構(gòu)也是一種結(jié)構(gòu)體類型,只不過其中含有位段結(jié)構(gòu)也是一種結(jié)構(gòu)體類型,只不過其中含有以位為單位定義存儲(chǔ)長度的整數(shù)類型位段成員。采用以位為單位定義存儲(chǔ)長度的整數(shù)類型位段成員。采用位段結(jié)構(gòu)既節(jié)省存儲(chǔ)空間,又可方便操作。位段結(jié)構(gòu)既節(jié)省存儲(chǔ)空間,又可方便操作。 位段結(jié)構(gòu)中位段的定義格式為:位段結(jié)構(gòu)中位段的定義格式為: unsigned unsigned : 例如:例如:struct bytedataunsigned a:2; /*位段位段a,占,占2位位*/ unsigne
14、d:6; /*無名位段,占無名位段,占6位,但不能訪問位,但不能訪問*/ unsigned:0; /*無名位段,占無名位段,占0位,表下一位段從下一位,表下一位段從下一字邊界開始字邊界開始*/ unsigned b:10; /*位段位段b,占,占10位位*/ int i; /*成員成員i,從下一字邊界開始,從下一字邊界開始*/data;下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁(1)一個(gè)位段必須存儲(chǔ)在同一存儲(chǔ)單元(即字)之)一個(gè)位段必須存儲(chǔ)在同一存儲(chǔ)單元(即字)之中,不能跨兩個(gè)單元。如果其單元空間不夠,則剩中,不能跨兩個(gè)單元。如果其單元空間不夠,則剩余空間不用,從下
15、一個(gè)單元起存放該位段。余空間不用,從下一個(gè)單元起存放該位段。(2)可以通過定義長度為)可以通過定義長度為0的位段的方式使下一位的位段的方式使下一位段從下一存儲(chǔ)單元開始。段從下一存儲(chǔ)單元開始。下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁位段數(shù)據(jù)的引用,同結(jié)構(gòu)體成員中的數(shù)據(jù)引用一樣,位段數(shù)據(jù)的引用,同結(jié)構(gòu)體成員中的數(shù)據(jù)引用一樣,但應(yīng)注意位段的最大取值范圍不要超出二進(jìn)制位數(shù)定但應(yīng)注意位段的最大取值范圍不要超出二進(jìn)制位數(shù)定的范圍,否則超出部分會(huì)丟棄。的范圍,否則超出部分會(huì)丟棄。例如例如:data.a=2; 但但 data.a=10;就超出范圍(就超出范圍(a占占2位,位,最大
16、最大3)關(guān)于位段數(shù)據(jù),注意以下幾點(diǎn)關(guān)于位段數(shù)據(jù),注意以下幾點(diǎn)(3)可以定義無名位段。)可以定義無名位段。(4)位段的長度不能大于存儲(chǔ)單元的長度。)位段的長度不能大于存儲(chǔ)單元的長度。(5)位段無地址,不能對位段進(jìn)行取地址運(yùn)算。)位段無地址,不能對位段進(jìn)行取地址運(yùn)算。(6)位段可以以)位段可以以%d,%o,%x格式輸出。格式輸出。(7)位段若出現(xiàn)在表達(dá)式中,將被系統(tǒng)自動(dòng)轉(zhuǎn)換成)位段若出現(xiàn)在表達(dá)式中,將被系統(tǒng)自動(dòng)轉(zhuǎn)換成整數(shù)。整數(shù)。 下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁 編程將一個(gè)編程將一個(gè)1616進(jìn)制整數(shù)(占進(jìn)制整數(shù)(占2 2字節(jié))的各位字節(jié))的各位循環(huán)左移循環(huán)左移
17、4 4個(gè)二進(jìn)制位,如個(gè)二進(jìn)制位,如2fe12fe1循環(huán)左移循環(huán)左移4 4個(gè)二進(jìn)制個(gè)二進(jìn)制位后為位后為fe12fe12。具體步驟為具體步驟為:(1)取出)取出16進(jìn)制整數(shù)進(jìn)制整數(shù)x的最高的最高4個(gè)二進(jìn)制位至個(gè)二進(jìn)制位至y: y=x(16-4)&0 xf。(2)將該整數(shù))將該整數(shù)x(占(占2字節(jié))左移字節(jié))左移4個(gè)二進(jìn)制位:個(gè)二進(jìn)制位: x=(x(16-4)&0 xf; x=(x4)&0 xffff; /*16位的位的C語言程序不需要語言程序不需要“按位按位與與”0 xffff*/ x=x|y; printf(“循環(huán)左移循環(huán)左移4個(gè)二進(jìn)制位得:個(gè)二進(jìn)制位得:%x”,x);請
18、輸入請輸入16進(jìn)制整數(shù):進(jìn)制整數(shù):2fe1循環(huán)左移循環(huán)左移4個(gè)二進(jìn)制位得:個(gè)二進(jìn)制位得:fe12第 1 0 章 共 用 體 與 枚 舉 類 型(3)將先前取出的最高將先前取出的最高4個(gè)二進(jìn)制位放入低個(gè)二進(jìn)制位放入低4個(gè)二進(jìn)個(gè)二進(jìn) 制制位:位: x=x|y。運(yùn)行結(jié)果運(yùn)行結(jié)果返回10.5 10.5 枚舉類型枚舉類型 1. 枚舉類型的定義枚舉類型的定義 v枚舉類型定義用關(guān)鍵字枚舉類型定義用關(guān)鍵字enum標(biāo)識(shí),形式為:標(biāo)識(shí),形式為: enum 標(biāo)識(shí)符標(biāo)識(shí)符 枚舉數(shù)據(jù)表枚舉數(shù)據(jù)表; 標(biāo)識(shí)符用來區(qū)分不同的枚舉類型,定義的枚舉類標(biāo)識(shí)符用來區(qū)分不同的枚舉類型,定義的枚舉類型用型用enum標(biāo)識(shí)符標(biāo)識(shí)符”標(biāo)識(shí)。標(biāo)
19、識(shí)。 v枚舉數(shù)據(jù)(枚舉常量)是一些特定的標(biāo)識(shí)符,枚舉數(shù)據(jù)(枚舉常量)是一些特定的標(biāo)識(shí)符, 標(biāo)識(shí)標(biāo)識(shí)符代表什么含義,完全由程序員決定。數(shù)據(jù)枚舉的順符代表什么含義,完全由程序員決定。數(shù)據(jù)枚舉的順序規(guī)定了枚舉數(shù)據(jù)的序號(hào),從序規(guī)定了枚舉數(shù)據(jù)的序號(hào),從0開始,依次遞增。開始,依次遞增。 下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁(1) 定義枚舉類型定義枚舉類型status, 包含復(fù)制與刪除兩種狀態(tài):包含復(fù)制與刪除兩種狀態(tài): enum statuscopy, delete; 枚舉類型枚舉類型status僅有兩個(gè)數(shù)據(jù),一個(gè)是僅有兩個(gè)數(shù)據(jù),一個(gè)是copy,一,一個(gè)是個(gè)是delete
20、, 序號(hào)為序號(hào)為0、 1, 代表復(fù)制與刪除。代表復(fù)制與刪除。 下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁例如例如 (2) 定義枚舉類型定義枚舉類型color,包含紅、黃、藍(lán)、白、黑,包含紅、黃、藍(lán)、白、黑五種顏色:五種顏色: enum color red, yellow, blue, white, black; 枚舉類型枚舉類型color有有red、 yellow、 blue、 white、 black五個(gè)數(shù)據(jù),五個(gè)數(shù)據(jù), 序號(hào)為序號(hào)為0、 1、 2、 3、 4, 代表紅、代表紅、 黃、黃、 藍(lán)、藍(lán)、 白、白、 黑五種顏色。黑五種顏色。 下一頁下一頁第 1 0 章
21、共 用 體 與 枚 舉 類 型上一頁上一頁 (3) 定義枚舉類型定義枚舉類型weekday, 包含一周的七天:包含一周的七天: enum weekday sun, mon, tue, wed, thu, fri, sat; 枚舉類型枚舉類型weekday有有sun、 mon、 tue、 wed、 thu、 fri、sat七個(gè)數(shù)據(jù),七個(gè)數(shù)據(jù), 序號(hào)為序號(hào)為0、 1、 2、 3、4、 5、 6, 代表一周中代表一周中的星期天、星期一、星期二、星期三、星期四、的星期天、星期一、星期二、星期三、星期四、 星期五、星星期五、星期六。期六。 在定義枚舉類型時(shí),程序員可在枚舉數(shù)據(jù)時(shí)通過在定義枚舉類型時(shí),程序
22、員可在枚舉數(shù)據(jù)時(shí)通過“=”號(hào)號(hào)自己規(guī)定序號(hào),并影響后面的枚舉數(shù)據(jù)的序號(hào),后繼序號(hào)以此自己規(guī)定序號(hào),并影響后面的枚舉數(shù)據(jù)的序號(hào),后繼序號(hào)以此遞增。例如:遞增。例如: enum status copy=6, delete; 則則copy的序號(hào)為的序號(hào)為6, delete的序號(hào)為的序號(hào)為7。 下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁2. 枚舉類型變量的定義枚舉類型變量的定義 先定義枚舉類型,先定義枚舉類型, 再定義枚舉類型變量:再定義枚舉類型變量:enum 標(biāo)識(shí)符標(biāo)識(shí)符 枚舉數(shù)據(jù)表枚舉數(shù)據(jù)表; enum 標(biāo)識(shí)符標(biāo)識(shí)符 變量表;變量表; (2) 在定義枚舉類型的同時(shí)定義枚
23、舉類型變量:在定義枚舉類型的同時(shí)定義枚舉類型變量: enum 標(biāo)識(shí)符標(biāo)識(shí)符 枚舉數(shù)據(jù)表枚舉數(shù)據(jù)表 變量表;變量表; (3) 直接定義枚舉類型變量:直接定義枚舉類型變量: enum 枚舉數(shù)據(jù)表枚舉數(shù)據(jù)表 變量表;變量表; 下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁 例如,例如, 對枚舉類型對枚舉類型enum color, 定義枚舉變量定義枚舉變量c1、 c2: enum color red, yellow, blue, white, black; enum color c1, c2; 或或enum color red,yellow,blue,white,black c
24、1,c2; 或或enum red, yellow, blue, white, black c1,c2; 下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁枚舉類型數(shù)據(jù)可以進(jìn)行賦值運(yùn)算。枚舉類型是有序枚舉類型數(shù)據(jù)可以進(jìn)行賦值運(yùn)算。枚舉類型是有序類型,類型, 枚舉類型數(shù)據(jù)還可以進(jìn)行關(guān)系運(yùn)算。枚舉類型枚舉類型數(shù)據(jù)還可以進(jìn)行關(guān)系運(yùn)算。枚舉類型數(shù)據(jù)的比較轉(zhuǎn)化成對序號(hào)進(jìn)行比較,數(shù)據(jù)的比較轉(zhuǎn)化成對序號(hào)進(jìn)行比較, 只有同一種枚舉只有同一種枚舉類型的數(shù)據(jù)才能進(jìn)行比較。類型的數(shù)據(jù)才能進(jìn)行比較。 枚舉類型數(shù)據(jù)不能直接輸入輸出。枚舉類型數(shù)據(jù)輸枚舉類型數(shù)據(jù)不能直接輸入輸出。枚舉類型數(shù)據(jù)輸入時(shí),先輸入
25、其序號(hào),再進(jìn)行強(qiáng)制類型轉(zhuǎn)換完成。輸入時(shí),先輸入其序號(hào),再進(jìn)行強(qiáng)制類型轉(zhuǎn)換完成。輸出時(shí),采用開關(guān)語句先進(jìn)行判斷,再轉(zhuǎn)化成對應(yīng)字符出時(shí),采用開關(guān)語句先進(jìn)行判斷,再轉(zhuǎn)化成對應(yīng)字符串輸出。串輸出。 下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁使用強(qiáng)制類型轉(zhuǎn)換,可將整數(shù)值(枚舉值序號(hào))使用強(qiáng)制類型轉(zhuǎn)換,可將整數(shù)值(枚舉值序號(hào))轉(zhuǎn)換成對應(yīng)枚舉值。轉(zhuǎn)換成對應(yīng)枚舉值。 例如:例如: c1=(enum color )2; /*c1得到枚舉值得到枚舉值blue*/將枚舉型數(shù)據(jù)按整型格式輸出,可得到整數(shù)值(枚將枚舉型數(shù)據(jù)按整型格式輸出,可得到整數(shù)值(枚 舉變量值的序號(hào))。舉變量值的序號(hào))。
26、 某口袋中有紅、某口袋中有紅、 黃、黃、 藍(lán)、藍(lán)、 白、白、 黑五種顏色黑五種顏色的球若干個(gè),每次從口袋中取出三個(gè)球,問得到三種不的球若干個(gè),每次從口袋中取出三個(gè)球,問得到三種不同顏色的球有多少種取法,并輸出每種組合結(jié)果。同顏色的球有多少種取法,并輸出每種組合結(jié)果。 不用枚舉類型:不用枚舉類型: 第 1 0 章 共 用 體 與 枚 舉 類 型例例10.4點(diǎn)擊點(diǎn)擊請請采用枚舉類型來描述數(shù)據(jù)。設(shè)用采用枚舉類型來描述數(shù)據(jù)。設(shè)用red表示紅色球,表示紅色球,yellow表示黃色球,表示黃色球,blue表示藍(lán)色球,表示藍(lán)色球,white 表示白表示白色球,色球, black表示黑色球。表示黑色球。 點(diǎn)擊
27、點(diǎn)擊請請返回10.6 10.6 類型定義類型定義v 在使用標(biāo)準(zhǔn)類型定義或說明變量時(shí),可只寫標(biāo)準(zhǔn)類在使用標(biāo)準(zhǔn)類型定義或說明變量時(shí),可只寫標(biāo)準(zhǔn)類型名指明變量數(shù)據(jù)類型。而用前面介紹的結(jié)構(gòu)體、共型名指明變量數(shù)據(jù)類型。而用前面介紹的結(jié)構(gòu)體、共用體、枚舉等類型定義或說明變量時(shí)要冠以表明數(shù)據(jù)用體、枚舉等類型定義或說明變量時(shí)要冠以表明數(shù)據(jù)類型類別的關(guān)鍵字,如類型類別的關(guān)鍵字,如struct、union、enum等。等。v C語言提供了用語言提供了用typedef定義類型,為類型命名的機(jī)定義類型,為類型命名的機(jī)制。制。v 用用typedef定義新的類型名后,對于結(jié)構(gòu)體、共用定義新的類型名后,對于結(jié)構(gòu)體、共用體或枚舉類型,使用它們定義或說明變量時(shí)不必再冠體或枚舉類型,使用它們定義或說明變量時(shí)不必再冠以類型類別關(guān)鍵字。以類型類別關(guān)鍵字。下一頁下一頁第 1 0 章 共 用 體 與 枚 舉 類 型上一頁上一頁1. 1. 簡單的名字替換簡單的名字替換 typedef int INTEGER;意思是將意思是將int型定義為型定義為INTEGER,這兩者等價(jià),在程,這兩者等價(jià),在程序中就可以用序中就可以用INTEGER作為類型名來定義變量了。作為類型名來定義變量了。例如:例如:INTEGER x,y;相當(dāng)于相當(dāng)于int
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動(dòng)合同范本題目
- 農(nóng)村水田租賃承包合同范本
- 企業(yè)汽車銷售合同范本
- 代理買賣二手車合同范本
- 代領(lǐng)購房合同范本
- 一般經(jīng)銷合同范例
- 個(gè)人購貨采購合同范本
- 關(guān)于裝修貸款合同范本
- 升旗臺(tái)合同范本
- 前臺(tái)勞務(wù)派遣合同范本
- 北京工業(yè)大學(xué)《機(jī)器學(xué)習(xí)基礎(chǔ)》2022-2023學(xué)年期末試卷
- 2023年7月浙江省普通高中學(xué)業(yè)水平考試(學(xué)考)語文試題答案
- 解剖臺(tái)市場發(fā)展前景分析及供需格局研究預(yù)測報(bào)告
- GB/T 44590-2024天然林保護(hù)修復(fù)生態(tài)效益評(píng)估指南
- 發(fā)熱病人護(hù)理課件
- 民用無人機(jī)操控員執(zhí)照(CAAC)考試復(fù)習(xí)重點(diǎn)題及答案
- 第20課清朝君主專制的強(qiáng)化 教案
- 幼兒園中班安全《不動(dòng)手打人》課件
- 2輸變電工程施工質(zhì)量驗(yàn)收統(tǒng)一表式(變電工程土建專業(yè))-2024年版
- 骨科睡眠護(hù)理
- 2025年高考語文復(fù)習(xí)備考復(fù)習(xí)策略講座
評(píng)論
0/150
提交評(píng)論