C語言PPT結(jié)構(gòu)體與共用體_第1頁
C語言PPT結(jié)構(gòu)體與共用體_第2頁
C語言PPT結(jié)構(gòu)體與共用體_第3頁
C語言PPT結(jié)構(gòu)體與共用體_第4頁
C語言PPT結(jié)構(gòu)體與共用體_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、枚舉類型枚舉類型共用體共用體結(jié)構(gòu)體結(jié)構(gòu)體自定義類型名自定義類型名11.1 結(jié)構(gòu)體結(jié)構(gòu)體 一、結(jié)構(gòu)體一、結(jié)構(gòu)體類型類型的定義的定義 struct 結(jié)構(gòu)體名結(jié)構(gòu)體名 成員表列成員表列;struct student int num; char sex; char name20; float score; ; 二、結(jié)構(gòu)體類型二、結(jié)構(gòu)體類型變量變量的的 定義、引用和初始化定義、引用和初始化 struct student st1,st2;st1.num=16;st1.sex=M;strcpy(,LiMing);st1.score=82.5;scanf(%d,&st2.num);st

2、2.sex=getchar( );gets();scanf(%f,&st2.score);printf(%d,%c,%s,%f n,st1.num, st1.sex,,st1.score); struct studentint num; char sex, name20; float score; st1,st2; struct int num; char sex, name20; float score; st1,st2; 二、結(jié)構(gòu)體類型變量的定義、引用和初始化二、結(jié)構(gòu)體類型變量的定義、引用和初始化struct dateint month; int d

3、ay; int year;struct studentchar name20; struct date birthday; char addr30; student1, student2; 二、結(jié)構(gòu)體類型變量的定義、引用和初始化二、結(jié)構(gòu)體類型變量的定義、引用和初始化 例例1 struct student int num; char sex, name20; float score; st1=16,M, LiMing,82.5; main( ) printf(%d,%c,%s,%f n, st1.num,st1.sex,,st1.score); 二、結(jié)構(gòu)體類型變量的定義、引用和初

4、始化二、結(jié)構(gòu)體類型變量的定義、引用和初始化三、結(jié)構(gòu)體數(shù)組三、結(jié)構(gòu)體數(shù)組例例2 對候選人得票的統(tǒng)計程序。設(shè)有對候選人得票的統(tǒng)計程序。設(shè)有3個候選人,個候選人,10個個 投票人投票人, 每次輸入一個得票的候選人的姓名,最后每次輸入一個得票的候選人的姓名,最后 輸出各候選人得票數(shù)。輸出各候選人得票數(shù)。name countstruct student int num; char sex, name20; float score; stu130; #include string.hstruct perchar name20; int count; a3=li,0,zhang,0,feng,0;main(

5、 )int i,j; char name20; for(i=1;i=10;i+) gets(name); for(j=0;j3;j+) if(strcmp(name,)=0)aj.count+; for(j=0;jname,LiMing); p- -score=82.5; printf(%d,%c,%s,%f n,p- -num,p- -sex,p- -name, p- -score); 2. 指向結(jié)構(gòu)體數(shù)組的指針指向結(jié)構(gòu)體數(shù)組的指針struct student int num; char name20; char sex; int age; ;struct student st

6、u3=10101,li lin,M,18, 10102,zhangfan,M,19, 10105,wangming,F,20;main( )struct student *p; for(p=stu;pnum,p- -name,p- -sex,p- -age); 例例4例例5 有有30名學(xué)生,每個學(xué)生包括學(xué)號、姓名、成績,名學(xué)生,每個學(xué)生包括學(xué)號、姓名、成績, 要求找出成績最高者的學(xué)號、姓名和成績。要求找出成績最高者的學(xué)號、姓名和成績。main( )struct stu long n; char na20; int s; ; struct stu t30,*p; int i,k; for(i=0

7、;i30;i+) scanf(%ld%s%d,&ti.n,ti.na,&ti.s); k=0; for(i=1;itk.s)k=i; p=t+k; printf(%ld %s %4dn,p- -n,p- -na,p- -s); 3. 用指向結(jié)構(gòu)體的指針作函數(shù)參數(shù)用指向結(jié)構(gòu)體的指針作函數(shù)參數(shù)#include string.h#define format %dn%sn%f n%f n%f nstruct student int num; char name20; float score3; ;main( ) void print(struct student *p); struct

8、 student stu; stu.num=12345; strcpy(,li lin); stu.score0=67.5; stu.score1=89; stu.score2=78.6; print(&stu);void print(struct student *p) printf(format, p- -num, p- -name, p- -score0, p- -score1, p- -score2);例例611.2 共用體共用體union tt int i; char ch; float f; union tt a,b,c;a.ch=x;a.i=28;a.f=6.6;b=a;11.3 枚舉類型枚舉類型enum weekdaysun,mon,tue,wed,thu,fri,sat;enum weekday day1,day2;day1=sun;day2=(enum weekday)2;scanf(%d,&n);switch(n) case 1:day1=mon;break; case 2:day1=tue;break; printf(%dn,day2);switch(day1) case mon: printf(monn);break; typedef 已定義類型名已定義類型名 新類型名新類型名 ty

溫馨提示

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

最新文檔

評論

0/150

提交評論