12高級(jí)程序語言

上傳人:dfg****19 文檔編號(hào):248175846 上傳時(shí)間:2024-10-22 格式:PPT 頁(yè)數(shù):11 大小:134KB
收藏 版權(quán)申訴 舉報(bào) 下載
12高級(jí)程序語言_第1頁(yè)
第1頁(yè) / 共11頁(yè)
12高級(jí)程序語言_第2頁(yè)
第2頁(yè) / 共11頁(yè)
12高級(jí)程序語言_第3頁(yè)
第3頁(yè) / 共11頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《12高級(jí)程序語言》由會(huì)員分享,可在線閱讀,更多相關(guān)《12高級(jí)程序語言(11頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),第十二章 其他數(shù)據(jù)類型,1,枚舉,在實(shí)際問題中,有些變量的取值被限定在一個(gè)有限的范圍內(nèi)。例如,一個(gè)星期內(nèi)只有七天,一年只有十二個(gè)月,一個(gè)班每周有六門課程等等。如果把這些量說明為整型,字符型或其它類型顯然是不妥當(dāng)?shù)摹?“枚舉”類型:在“枚舉”類型的定義中列舉出所有可能的取值,被說明為該“枚舉”類型的變量取值不能超過定義的范圍。,枚舉類型是一種基本數(shù)據(jù)類型。,枚舉類型定義,枚舉類型定義的一般形式為:,enum,枚舉名,枚舉值表,;,在枚舉值表中應(yīng)羅列出所有可用值。這些值也稱為枚舉元素。,例如:,enum,weekd

2、ay,sun,mou,tue,wed,thu,fri,sat,;,該枚舉名為,weekday,,枚舉值共有,7,個(gè),即一周中的七天。凡被說明為,weekday,類型變量的取值只能是七天中的某一天。,enum,colorred,green,blue,yellow,white,;,enum,枚舉類型的關(guān)鍵字,,color,枚舉類型名。,枚舉類型變量的賦值和使用,例,enum,colorred,green,blue,yellow,white,;,enum,color,select,change,*cp;,例,enum,colorred,green,blue,yellow,white,select,c

3、hange,*cp;,例,enum,red,green,blue,yellow,white,select,change,*cp;,select=red;,枚舉變量取值范圍限定在對(duì)應(yīng)枚舉類型表中的元素,枚舉變量的取值,枚舉元素是整常量,不是變量。,例如,red=3 (,),編譯程序把第一個(gè)枚舉元素賦值為,0,,以后依次賦值,為,1,、,2,例,enum,colorred,green,blue,yellow,whiteselect,;,red,的值為,0,,,green,、,blue,、,yellow,和,white,取值分別為,1,、,2,、,3,、,4,。,select=red;,select

4、,被賦值為,0,。,當(dāng)變量取值范圍限定在規(guī)定的整常數(shù)范圍內(nèi)時(shí),可采用枚舉類型。,枚舉類型變量不能直接使用,printf,、,scanf,等庫(kù)函數(shù)輸出、輸入,例,7.1,編寫一個(gè)程序,輸入今天是星期幾,計(jì)算若干天后是星期幾。,#include,char,weekstring,10=“Sun(,日,)”,”Mon(,一,)”,”Tue(,二,)”,”Wed(,三,)”,”Thu(,四,)”,”Fri(,五,)”,”Sat(,六,)”;,enum,week Sun=0,Mon,Tue,Wed,Thu,Fri,Sat;,void main(void),int,d;,enum,week,today,w,

5、;,printf,(“,今天是星期:”,);,scanf(“%d”,&today,);,printf,(“,輸入天數(shù):”,);,scanf(“%d”,&d,);,printf,(“,今天是星期,%,sn”,weekstringtoday,);,w=(,enum,week)(today+d)%7);,printf(“%d,天后是星期,%,sn”,d,weekstringw,);,例,7.2,現(xiàn)有紅、黃、藍(lán)、黑和白色球個(gè),1,只,從中依次取出,3,個(gè)球,編程輸出所有可能的取法。,#include,enum,color,red,yellow,blue,white,black,;,void,main(

6、void,),enum,color i,j,k,temp;,int,n,loop;,n=0;,for(i,=red;i=black;i+),for(j,=red;j=black;j+),if(i,!=j),for(k,=red;k=black;k+),if(k!=,i)&(k,!=j),n+;,printf(“%-5d”,n);,for(loop,=1;loop=3;loop+),switch(loop),case 1:temp=,i;break,;,case 2:temp=,j;break,;,case 3:temp=,k;break,;,switch(temp,),case red:pri

7、ntf(“%-10s”,”red”);break;,case yellow:printf(“%-10s”,”yellow”);break;,case blue:printf(“%-10s”,”blue”);break;,case white:printf(“%-10s”,”white”);break;,case black:printf(“%-10s”,”black”);break;,printf(“n,”):,printf(“total:%dn”,n,);,2,位段,位段的概念與定義,位段類型,:,是一種特殊的結(jié)構(gòu)類型,其所有成員均以二進(jìn)制位為單位定義長(zhǎng) 度,并稱成員為位段。,例如,,CPU

8、,的狀態(tài)寄存器,按位段類型定義如下:,struct,status,unsigned sign:1;/*,符號(hào)標(biāo)志*,/,unsigned zero:1;/*,零標(biāo)志*,/,unsigned carry:1;/*,進(jìn)位標(biāo)志*,/,unsigned parity:1;/*,奇偶,/,溢出標(biāo)志*,/,unsigned,half_carry,:1;/*,半進(jìn)位標(biāo)志*,/,unsigned negative:1;/*,減標(biāo)志*,/,flags;,優(yōu)點(diǎn),:,節(jié)約存儲(chǔ)空間,2.,說明,(,1,)因?yàn)槲欢晤愋褪且环N結(jié)構(gòu)類型,所以位段類型和位段變量的定義,以及對(duì)位段(即位段類型中的成員)的引用,均與結(jié)構(gòu)類型和結(jié)

9、構(gòu)變量一樣。,(,2,)對(duì)位段賦值時(shí),要注意取值范圍。一般地說,長(zhǎng)度為,n,的位段,其取值范圍是:,0,(,2,n,-1,)。,(,3,)使用長(zhǎng)度為,0,的無名位段,可使其后續(xù)位段從下,1,個(gè)字節(jié)開始存儲(chǔ)。,例如,,struct,status,unsigned sign:1;/*,符號(hào)標(biāo)志*,/,unsigned zero:1;/*,零標(biāo)志*,/,unsigned carry:1;/*,進(jìn)位標(biāo)志*,/,unsigned:0;/*,長(zhǎng)度為,0,的無名位段*,/,unsigned parity:1;/*,奇偶,/,溢出標(biāo)志*,/,unsigned,half_carry,:1;/*,半進(jìn)位標(biāo)志*,/

10、,unsigned negative:1;/*,減標(biāo)志*,/,flags;,(,4,),1,個(gè)位段必須存儲(chǔ)在,1,個(gè)存儲(chǔ)單元(通常為,1,字節(jié))中,不能跨,2,個(gè)。如果本單元不夠容納某位段,則從下,1,個(gè)單元開始存儲(chǔ)該位段。,(,5,)可以用,%d,、,%x,、,%u,和,%o,等格式字符,以整數(shù)形式輸出位段。,(,6,)在數(shù)值表達(dá)式中引用位段時(shí),系統(tǒng)自動(dòng)將位段轉(zhuǎn)換為整型數(shù)。,3,用,typedef,定義類型,功能,:用自定義名字為,已有,數(shù)據(jù)類型命名,類型定義,簡(jiǎn)單形式:,typedef,type,name,;,例,typedef,int,INTEGER;,類型定義語句關(guān)鍵字,已有數(shù)據(jù)類型名

11、,用戶定義的類型名,例,typedef,float REAL;,類型定義后,與已有類型一樣使用,例,INTEGER a,b,c;,REAL f1,f2;,int,a,b,c;,float f1,f2;,說明,:,1.typedef,沒有創(chuàng)造,新數(shù)據(jù)類型,2.,typedef,是定義類型,不能定義變量,3.typedef,與,define,不同,define,typedef,預(yù)編譯時(shí)處理,編譯時(shí)處理,簡(jiǎn)單字符置換,為已有類型命名,typedef,定義類型步驟,按定義變量方法先寫出定義體 如,int,i;,將變量名換成新類型名 如,int,INTEGER,;,最前面加,typedef,如,type

12、def,int,INTEGER,;,用新類型名定義變量 如,INTEGER,i,j;,例 定義數(shù)組類型,int,a100;,int,ARRAY100;,typedef,int,ARRAY100;,ARRAY a,b,c;,int,a100,b100,c100;,例 定義指針類型,char *,str,;,char *STRING;,typedef,char *STRING;,STRING p,s10;,char *p;,char *s10;,例 定義函數(shù)指針類型,int,(*p)();,int,(*POWER)();,typedef,int,(*POWER)();,POWER p1,p2;,i

13、nt,(*p1)(),(*p2)();,例 定義結(jié)構(gòu)體類型,struct,date,int,month;,int,day;,int,year;,d;,例 定義結(jié)構(gòu)體類型,struct,date,int,month;,int,day;,int,year;,DATE;,例 定義結(jié)構(gòu)體類型,typedef,struct,date,int,month;,int,day;,int,year;,DATE;,例 定義結(jié)構(gòu)體類型,DATE birthday,*p;,struct,date,int,month;,int,day;,int,year;,birthday,*p;,類型定義可嵌套,例,typedef,struct,club,char name20;,int,size;,int,year;,GROUP;,typedef,GROUP *PG;,PG,pclub,;,GROUP *,pclub,;,struct,club *,pclub,;,GROUP,為結(jié)構(gòu)體類型,PG,為指向,GROUP,的指針類型,

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

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!