freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第7章自定義數(shù)據(jù)類型-資料下載頁

2024-10-17 13:05本頁面

【導(dǎo)讀】double、char等)供用戶使用。但是由于程序需要。數(shù)據(jù)類型顯得不能滿足使用要求。組就是用戶自己聲明的數(shù)據(jù)類型。本章介紹結(jié)構(gòu)體類型、共用體類型和。枚舉類型,第8章將介紹類類型。這些組合在一個整體中的數(shù)。據(jù)是互相聯(lián)系的。例如,一個學(xué)生的學(xué)號、姓名、C和C++允許用戶自己指定這樣。它相當(dāng)于其他高級。種結(jié)構(gòu)體類型,它包括num,name,sex,age,score,addr等不同類型的數(shù)據(jù)項(xiàng)。結(jié)構(gòu)體類型名用來作結(jié)構(gòu)體類型的標(biāo)志。表列又稱為域表。成員名的定名規(guī)則與變量名的定。中所表示的那樣)。C++對此加以擴(kuò)充,結(jié)構(gòu)體的。數(shù),以適應(yīng)面向?qū)ο蟮某绦蛟O(shè)計??梢圆扇∫韵?種方法定義結(jié)構(gòu)體類型的變量。Student的變量,即它們具有Student類型的結(jié)構(gòu)。在定義了結(jié)構(gòu)體變量后,系統(tǒng)會為之分配內(nèi)存單元。在程序比較簡單,結(jié)。不要誤認(rèn)為凡是結(jié)構(gòu)體類型都有相同的結(jié)構(gòu)。定義出許多種具體的結(jié)構(gòu)體類型。用,它的作用與地位相當(dāng)于普通變量。}student1,student2;//定義student1和student2為結(jié)構(gòu)體類型Student的變。但二者沒有關(guān)系。

  

【正文】 ″person[i].jobsetw(10)person[i].endl。 } return 0。 } 運(yùn)行情況如下: 101 Li fs 3↙ (注意在輸入的字母 f和 s之間無空格 ) 102 Wang mt prof↙ (注意在輸入的字母 m和 t之間無空格 ) No. Name sex job grade/position 101 Li f s 3 102 Wang m t prof 為了使輸出結(jié)果上下對齊,在 cout語句中用了 setw控制符和插入空格。往往需要試驗(yàn)多次。 如果一個變量只有幾種可能的值,可以定義為枚舉(enumeration)類型。所謂 “ 枚舉 ” 是指將變量的值一一列舉出來,變量的值只能在列舉出來的值的范圍內(nèi)。 聲明枚舉類型用 enum開頭。例如 enum weekday{sun, mon, tue, wed, thu, fri, sat}。 上面聲明了一個枚舉類型 weekday, 花括號中sun,mon,… ,sat等稱為枚舉元素或枚舉常量。表示這個類型的變量的值只能是以上 7個值之一。它們是用戶自己定義的標(biāo)識符。 聲明枚舉類型的一般形式為 枚舉類型 enum 枚舉類型名 {枚舉常量表列 }。 在聲明了枚舉類型之后,可以用它來定義變量。如 weekday workday,week_end。 這樣, workday和 week_end被定義為枚舉類型weekday的變量。 在 C語言中,枚舉類型名包括關(guān)鍵字 enum, 以上的定義可以寫為 enum weekday workday,week_end。 在 C++中允許不寫 enum, 一般也不寫 enum, 但保留了 C的用法。 根據(jù)以上對枚舉類型 weekday的聲明,枚舉變量的值只能是 sun到 sat之一。例如 workday=mon。 week_end=sun。 是正確的。也可以直接定義枚舉變量,如 enum{sun, mon, tue, wed, thu, fri, sat} workday,week_end; 這些標(biāo)識符并不自動地代表什么含義。 說明 : (1) 對枚舉元素按常量處理,故稱枚舉常量。 (2) 枚舉元素作為常量,它們是有值的, C++編譯按定義時的順序?qū)λ鼈冑x值為 0,1,2,3,… 。也可以在聲明枚舉類型時另行指定枚舉元素的值。 (3) 枚舉值可以用來做判斷比較。 (4) 一個整數(shù)不能直接賦給一個枚舉變量。 例 口袋中有紅、黃、藍(lán)、白、黑 5種顏色的球若干個。每次從口袋中任意取出 3個球,問得到 3種不同顏色的球的可能取法,輸出每種排列的情況。 include iostream include iomanip //在輸出時要用到 setw控制符 using namespace std。 int main( ) { enum color {red,yellow,blue,white,black}。 //聲明枚舉類型 color color pri。 //定義 color類型的變量 pri int i,j,k,n=0,loop。 //n是累計不同顏色的組合數(shù) for (i=red。i=black。i++) //當(dāng) i為某一顏色時 for (j=red。j=black。j++) //當(dāng) j為某一顏色時 if (i!=j) //若前兩個球的顏色不同 { for (k=red。k=black。k++) //只有前兩個球的顏色不同,才需要檢查第 3個球的顏色 if ((k!=i) amp。amp。 (k!=j)) //3個球的顏色都不同 {n=n+1。 //使累計值 n加 1 coutsetw(3)n。 //輸出當(dāng)前的 n值,字段寬度為 3 for (loop=1。loop=3。loop++) //先后對 3個球作處理 {switch (loop) //loop的值先后為 1,2,3 {case 1: pri=color(i)。break。 //color(i)是強(qiáng)制類型轉(zhuǎn)換,使 pri的值為 i case 2: pri=color(j)。break。 //使 pri的值為 j case 3: pri=color(k)。break。 //使 pri的值為 k default:break。 } switch (pri) //判斷 pri的值,輸出相應(yīng)的 “ 顏色 ” {case red: coutsetw(8)″red″。 break。 case yellow: coutsetw(8)″yellow″。 break。 case blue: coutsetw(8)″blue″。 break。 case white: coutsetw(8)″white″。 break。 case black: coutsetw(8)″black″。 break。 default : break。 } } coutendl。 } } cout″total:″nendl。 //輸出符合條件的組合的個數(shù) return 0。 } 運(yùn)行結(jié)果如下 : 1 red yellow blue 2 red yellow white 3 red yellow black ┆ ┆ ┆ 58 black white red 59 black white yellow 60 black white blue total:60 不用枚舉常量 ,而用常數(shù) 0代表 “ 紅 ” , 1代表“ 黃 ” …… 也可以。但顯然用枚舉變量更直觀,因?yàn)槊杜e元素都選用了令人 “ 見名知意 ” 的標(biāo)識符,而且枚舉變量的值限制在定義時規(guī)定的幾個枚舉元素范圍內(nèi),如果賦予它一個其他的值,就會出現(xiàn)出錯信息,便于檢查。 除了用以上方法聲明結(jié)構(gòu)體、共用體、枚舉等類型外,還可以用 typedef聲明一個新的類型名來代替已有的類型名。如 typedef int INTEGER; //指定用標(biāo)識符 INTEGER代表 int類型 typedef float REAL; //指定用 REAL代表 float類型 這樣,以下兩行等價: ① int i,j。 float a,b。 ② INTEGER i,j; REAL a,b。 這樣可以使熟悉 FORTRAN的人能用 INTEGER和REAL定義變量,以適應(yīng)他們的習(xí)慣。 如果在一個程序中,整型變量是專門用來計數(shù)的,可以用 COUNT來作為整型類型名: 用 typedef聲明類型 typedef int COUNT。 //指定用 COUNT代表 int型 COUNT i,j; //將變量 i,j定義為 COUNT類型,即 int類型 在程序中將變量 i,j定義為 COUNT類型,可以使人更一目了然地知道它們是用于計數(shù)的。 也可以聲明結(jié)構(gòu)體類型: typedef struct //注意在 struct之前用了關(guān)鍵字 typedef, 表示是聲明新名 { int month。 int day。 int year。 } DATE; //注意 DATE是新類型名,而不是結(jié)構(gòu)體變量名 所聲明的新類型名 DATE代表上面指定的一個結(jié)構(gòu)體類型。這樣就可以用 DATE定義變量: DATE birthday; DATE *p。 //p為指向此結(jié)構(gòu)體類型數(shù)據(jù)的指針 還可以進(jìn)一步: ① typedef int NUM[100]; //聲明 NUM為整型數(shù)組類型,包含 100個元素 NUM n; //定義 n為包含 100個整型元素的數(shù)組 ② typedef char *STRING; //聲明 STRING為字符指針類型 STRING p,s[10]; //p為字符指針變量, s為指針數(shù)組 (有 10個元素 ) ③ typedef int (*POINTER)( ) //聲明 POINTER為指向函數(shù)的指針類型,函數(shù)返回整型值 POINTER p1, p2。 // p1, p2為 POINTER類型的指針變量 歸納起來,聲明一個新的類型名的方法是: ① 先按定義變量的方法寫出定義語句(如 int i。)。 ② 將變量名換成新類型名(如將 i換成 COUNT)。 ③ 在最前面加 typedef(如 typedef int COUNT)。 ④ 然后可以用新類型名去定義變量。 再以聲明上述的數(shù)組類型為例來說明: ① 先按定義數(shù)組形式書寫: int n[100]。 ② 將變量名 n換成自己指定的類型名: int NUM[100]; ③ 在前面加上 typedef, 得到 typedef int NUM[100]; ④ 用來定義變量: NUM n。(n是包含 100個整型元素的數(shù)組 )。 習(xí)慣上常把用 typedef聲明的類型名用大寫字母表示,以便與系統(tǒng)提供的標(biāo)準(zhǔn)類型標(biāo)識符相區(qū)別。 說明: (1) typedef可以聲明各種類型名,但不能用來定義變量。用 typedef可以聲明數(shù)組類型、字符串類型,使用比較方便。 (2) 用 typedef只是對已經(jīng)存在的類型增加一個類型名,而沒有創(chuàng)造新的類型。 (3) 當(dāng)在不同源文件中用到同一類型數(shù)據(jù)(尤其是像數(shù)組、指針、結(jié)構(gòu)體、共用體等類型數(shù)據(jù))時,常用 typedef聲明一些數(shù)據(jù)類型,把它們單獨(dú)放在一個頭文件中,然后在需要用到它們的文件中用#include命令把它們包含進(jìn)來,以提高編程效率。 (4) 使用 typedef有利于程序的通用與移植。有時程序會依賴于硬件特性,用 typedef便于移植。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1