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

正文內(nèi)容

構(gòu)造數(shù)據(jù)類型ppt課件-展示頁(yè)

2024-11-12 23:07本頁(yè)面
  

【正文】 ? int a[10]。 //由 10個(gè) int型元素所構(gòu)成的數(shù)組。 //由 10個(gè) int型元素所構(gòu)成的數(shù)組。 ? 元素類型 為任意 C++類型( void除外) ? 元素個(gè)數(shù) 為 整型常量表達(dá)式 ? 例如: ? typedef int A[10]。 ? 元素類型 為任意 C++類型( void除外) ?元素個(gè)數(shù) 為 整型常量表達(dá)式 ?例如: ? typedef int A[10]。如:向量、某門課程的成績(jī)表、學(xué)生的姓名表等。 ? 數(shù)組類型是一種用戶自定義的數(shù)據(jù)類型。 ? 變量之間缺乏顯式的聯(lián)系。 } return 0。 case SAT: cout SAT endl。 case FRI: cout FRI endl。 case THU: cout THU endl。 case WED: cout WED endl。 case TUE: cout TUE endl。 case MON: cout MON endl。 } ...... switch (d) { case SUN: cout SUN endl。 default: cout Input Error! endl。 case 6: d = SAT。 case 5: d = FRI。 case 4: d = THU。 case 3: d = WED。 case 2: d = TUE。 case 1: d = MON。 switch (i) { case 0: d = SUN。 int i。 enum day {SUN, MON, TUE, WED, THU, FRI, SAT}。 //Error cout d。例如: Day d。 //Error,因?yàn)?d+1的結(jié)果為 int類型。例如: Day d。例: MON TUE(結(jié)果為 true) ? 算術(shù)運(yùn)算 ? 運(yùn)算時(shí),枚舉值將轉(zhuǎn)換成對(duì)應(yīng)的整型值。 //OK,但不安全 = day=(day)1。 //OK ? d1 = a。 ? 可以把一個(gè)枚舉值賦值給一個(gè)整型變量,但不能把一個(gè)整型數(shù)賦值給枚舉類型的變量,例如: ? int a。 //Error ? 相同枚舉類型之間可以進(jìn)行賦值操作,例如: ? Day d1,d2。 //Error。 ? day = SUN。 注意 :第四種方法無(wú)法再定義變量 , 除非再一次重聲明枚舉類型 枚舉類型的運(yùn)算 ? 賦值 ? 一個(gè)枚舉類型的變量只能在相應(yīng)枚舉類型的值集中取值。 ( 4) enum {枚舉值表 }枚舉類型變量名 。 //C語(yǔ)言風(fēng)格 ( 3) enum 枚舉類型名 {枚舉值表 } 枚舉類型變量名 。 ( 2) enum 枚舉類型名 枚舉類型變量名 例: enum Day{SUN,MON,TUE,WED,THU,FRI,SAT}。 例: enum Day{SUN,MON,TUE,WED,THU,FRI,SAT}。 ? TUE:2,... ? bool類型可看成是 C++語(yǔ)言提供的一個(gè)預(yù)定義的枚舉類型: ? enum bool { false, true }。 ? 在定義枚舉類型時(shí),也可給枚舉值指定對(duì)應(yīng)的整數(shù)值。 ? 每一個(gè)枚舉值都對(duì)應(yīng)著一個(gè)整數(shù) 。 ? enum Color {RED,GREEN,BLUE}。 ? 枚舉類型的定義格式為: ? enum 枚舉類型名 {枚舉值表 }; ? 枚舉值表 為用逗號(hào)隔開(kāi)的若干個(gè) 標(biāo)識(shí)符 。 枚舉類型的定義 ? 枚舉類型是由用戶自定義的一種簡(jiǎn)單數(shù)據(jù)類型。 ? 構(gòu)造數(shù)據(jù)類型屬于用戶自定義數(shù)據(jù)類型。第五章 程序的數(shù)據(jù)描述( II)--構(gòu)造數(shù)據(jù)類型 主講人:侯海良 通信與控制工程系 本章內(nèi)容 ? 構(gòu)造數(shù)據(jù)類型概述 ? 枚舉類型 ? 數(shù)組類型 ? 結(jié)構(gòu)與聯(lián)合類型 ? 指針類型(參數(shù)傳遞和動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)) ? 引用類型 構(gòu)造數(shù)據(jù)類型 ? 有些數(shù)據(jù)不適合用基本數(shù)據(jù)類型來(lái)表示。 如 :矩陣、向量 ? 語(yǔ)言往往提供了由基本數(shù)據(jù)類型來(lái)構(gòu)造新類型的手段。 ?枚舉類型 ?數(shù)組類型 ?結(jié)構(gòu) /聯(lián)合類型 ?指針 /引用類型 枚舉類型 ? 如何描述一個(gè)星期的每一天這樣的數(shù)據(jù)?如果用 int來(lái)描述,將會(huì)面臨: ?1表示什么意思? ?星期天用什么整數(shù)表示? 0還是 7? ?如果用 0~6表示一個(gè)星期的每一天,則對(duì)于一個(gè)取值為一個(gè)星期某一天的 int型變量 day,如何防止下面的邏輯錯(cuò)誤: ? day = 10 ? day = day*2 ? 在 C++中用枚舉類型來(lái)解決上面的問(wèn)題。在定義一個(gè)枚舉類型時(shí),需要列出其值集中的每個(gè)值(枚舉值)。 例如: ? enum Day {SUN,MON,TUE,WED,THU,FRI,SAT}。 ? enum Month {JAN,FEB,MAR,APR,MAY,JUN,JUL, AUG,SEP,OCT,NOV,DEC}。 默認(rèn)情況下 ,第一個(gè)枚舉值對(duì)應(yīng)常量值 0, 其它的值為前一個(gè)值加 1。例如: ? enum Day {SUN=7,MON=1,TUE,WED,THU,FRI,SAT}。 ? 枚舉類型變量的定義格式為: ( 1) 枚舉類型名 枚舉類型變量名 。 Day d1。 enum Day d1,d2。 例: enum Day{SUN,MON,TUE,WED,THU,FRI,SAT}d1,d2。 例: enum {SUN,MON,TUE,WED,THU,FRI,SAT}d1,d2。例如: ? Day day。 //OK ? day = 1。 ? day = RED。 ? d2 = d1。 ? a = d1。 //Error ? d1 = (Day)a。 //OK ? 比較 ? 枚舉值之間的比較為枚舉值所對(duì)應(yīng)的整數(shù)之間的比較。 ? 對(duì)枚舉類型進(jìn)行算術(shù)運(yùn)算的結(jié)果類型為算術(shù)類型。 d = d+1。 d = (Day)(d+1) //OK ? 不能對(duì)枚舉類型的值直接進(jìn)行輸入 ,可以進(jìn)行輸出 。 cin d。 //OK,將把 d轉(zhuǎn)換成 int 例 1:枚舉類型輸入 /輸出 include iostream using namespace std。 int main() { Day d。 cin i。 break。 break。 break。 break。 break。 break。 break。 exit(1)。 break。 break。 break。 break。 break。 break。 break。 } 數(shù)組類型 ? 如何表示一個(gè)向量和矩陣這樣的復(fù)合數(shù)據(jù)?如果用獨(dú)立的變量來(lái)分別表示它們的元素,則會(huì)面臨: ? 變量數(shù)量太多。 ? C++提供了數(shù)組類型來(lái)表示上述的數(shù)據(jù): ? 數(shù)組類型是一種由 固定 多個(gè) 同類型 的元素按一定次序所構(gòu)成的復(fù)合數(shù)據(jù)類型。 ? 數(shù)組類型可分為: ? 一維數(shù)組:表示向量和線性表等 ? 二維數(shù)組:表示矩陣等 ? 多維數(shù)組(三維及三維以上) 一維數(shù)組 ? 用于表示由 固定多個(gè) 同類型的具有線性次序關(guān)系的數(shù)據(jù)所構(gòu)成的復(fù)合數(shù)據(jù)類型。 ? 數(shù)組類型定義格式為: typedef 元素類型 一維數(shù)組類型名 [元素個(gè)數(shù) ]。 //由 10個(gè) int型元素所構(gòu)成的 //一維數(shù)組類型 ? 一維數(shù)組類型變量定義格式為: ?一維數(shù)組類型名 一維數(shù)組變量名 ; 或 ?元素類型 一維數(shù)組變量名 [元素個(gè)數(shù) ]。 ? A a。 或 ? int a[10]。 一維數(shù)組的操作 ? 通常情況下,對(duì)數(shù)組類型數(shù)據(jù)的操作要通過(guò)其元素來(lái)進(jìn)行。 //數(shù)組 a ? a[0]、 a[1]、 ...、 a[9] //數(shù)組元素 ? C++語(yǔ)言 不對(duì)數(shù)組元素下標(biāo)越界進(jìn)行檢查 。 例如: int a[10]。 ...... for (i=0。 i++) sum += a[i]。 ..... a = b。 i10。 //OK 例 2:用一維數(shù)組實(shí)現(xiàn)求第 n個(gè)費(fèi)波那契 (Fibonacci)數(shù) include iostream using namespace std。 int fibs[MAX_N]。 cout 請(qǐng)輸入 n(1 MAX_N ):。 if (n MAX_N) { cout n太大 ! 應(yīng)不大于 MAX_N endl。 } fibs[0] = fibs[1] = 1。 in。 cout 第 n 個(gè)費(fèi)波那契數(shù)是: fibs[n1] endl。 } 例 3:從鍵盤輸入 10個(gè)數(shù),輸出其中的最大值 ...... int main() { int a[10]。 i10。 int max=a[0]。 i10。 cout max endl。 int main() { int a[10]。 for (i=0。 i++) cin a[i]。 n1。 //用 j記住最大元素的下標(biāo),首先假設(shè)第 0個(gè)元素最大 for (i=1。 i++) if (a[i]a[j]) j = i。 a[n1] = a[j]。 } for (i=0。 i++) cout a[i]。 顯示枚舉數(shù)據(jù)通過(guò) switch語(yǔ)句實(shí)現(xiàn): 具體程序如下: 程序 一維數(shù)組變量的初始化 ? 用一對(duì)花括號(hào)把元素的初始值括起來(lái) 。 ? 初始化表中的值可以少于數(shù)組元素個(gè)數(shù),不足部分的數(shù)組元素初始化成 0。 //b[4]~b[9]為 0 ? 如果每個(gè)元素都進(jìn)行了初始化 , 則數(shù)組元素個(gè)數(shù)可以省略 。 //隱含著 c由三個(gè)元素構(gòu)成 一維數(shù)組的存儲(chǔ)分配 ? 對(duì)于一維數(shù)組類型的數(shù)據(jù),編譯程序?qū)?huì)在內(nèi)存中給其分配連續(xù)的存儲(chǔ)空間來(lái)存儲(chǔ)數(shù)組元素。 ? 其內(nèi)存空間分配如下: a[0] a[1] ... a[9] ? 一維數(shù)組所占的內(nèi)存空間大小可以用 sizeof操作符來(lái)計(jì)算。 ? cout sizeof(a)。 向函數(shù)傳遞一維數(shù)組 ? 被調(diào)用函數(shù)的形參一般為不帶數(shù)組大小的一維數(shù)組定義以及數(shù)組元素的個(gè)數(shù)。 j = 0。 inum。 return j。例如: int a[10],b[20],index_max。 cout a[index_max] index_max endl。 cout b[index_max] index_max endl。 程序一 : ? 函數(shù)中通過(guò)形參數(shù)組能改變實(shí)參數(shù)組的值?。?函數(shù)的副作用 ) 程序二 : 字符串的一種實(shí)現(xiàn)--一維字符數(shù)組 ? C++語(yǔ)言本身沒(méi)有提供字符串類型。例如: char s[10]。\039。 例:編寫(xiě)一個(gè)函數(shù)把一個(gè)由數(shù)字構(gòu)成的字符串轉(zhuǎn)換成一個(gè)整型數(shù) 算法一: 1234((1*10+2)*10+3)*10+4 int str_to_int(char str[]) { if (str[0] == 39。) return 0。039。 str[i] != 39。 i++) n = n*10+(str[i]39。)。 } 算法二: int str_to_int(char str[]) { int n=0。 str[i] != 39。 i++) n = n*10+(str[i]39。)。 } 字符數(shù)組的初始化 char s[10]={39。,39。,39。,39。,39。,39。}。 char s[10]=hello。 ? 在上面的字符數(shù)組初始化中,除了第一種形式,其它形式的初始化都會(huì)在最后一個(gè)字符的后面 自動(dòng) 加上 39。而對(duì)于第一種形式,程序中必須顯式地加上 39。 標(biāo)準(zhǔn)庫(kù)中的字符串處理函數(shù)(頭文件 cstring或 ) ? 計(jì)算字符串的長(zhǎng)度 ? int strlen(const char s[])。 ? char *strncpy(char dst[],const char src[],int n)。 ? char *strncat(char dst[],const char src[],int n)。 ? int strncmp(const char s1[],const char s2[],int n)。 int main() { const int MAX_LEN=100。 cin str。 //str中的字符個(gè)數(shù) for (int i=0, j=len1。 i++, j) { char temp。 str[i] = st
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1