C語言程序設(shè)計(jì)-結(jié)構(gòu)體_第1頁
C語言程序設(shè)計(jì)-結(jié)構(gòu)體_第2頁
C語言程序設(shè)計(jì)-結(jié)構(gòu)體_第3頁
C語言程序設(shè)計(jì)-結(jié)構(gòu)體_第4頁
C語言程序設(shè)計(jì)-結(jié)構(gòu)體_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第八章結(jié)構(gòu)體吳良杰Harbin Engineering University編輯課件結(jié)構(gòu)體的引入簡單變量:存儲一個數(shù)據(jù)數(shù)組:存儲一組同類型的數(shù)據(jù)新問題: 如何將一個學(xué)生的姓名及其4科成績存儲為一個整體? 實(shí)質(zhì):一組不同類型的數(shù)據(jù)如何存儲? 解決方法:使用結(jié)構(gòu)體。編輯課件結(jié)構(gòu)體什么是結(jié)構(gòu)體? 結(jié)構(gòu)體是C語言的一種自定義數(shù)據(jù)類型,可以將不同類型的數(shù)據(jù)組織成一個有機(jī)整體。使用方法 先定義結(jié)構(gòu)體數(shù)據(jù)類型; 然后定義結(jié)構(gòu)變量(或數(shù)組),存儲一組(或多組)類型不同的數(shù)據(jù)。編輯課件定義結(jié)構(gòu)體類型一般形式:struct 結(jié)構(gòu)體名成員表列 ;成員表列:類型名 成員名;說明: 成員的類型還可以是其它結(jié)構(gòu)體類型例:

2、描述一個城市的氣溫。struct temchar cn20; int maxt; int mint; struct dateint year; int month; int day;struct sint num; char name20; char sex; struct date birthday; float score;編輯課件定義結(jié)構(gòu)體變量1先聲明結(jié)構(gòu)體類型,再定義變量 struct temchar cn20; int maxt; int mint;struct tem c1,c2;編輯課件定義結(jié)構(gòu)體變量2.聲明結(jié)構(gòu)體類型的同時(shí)定義變量 struct temchar cn20; in

3、t maxt; int mint; c1,c2;3直接定義結(jié)構(gòu)體類型變量structchar cn20; int maxt; int mint; c1,c2;編輯課件定義結(jié)構(gòu)體變量說明: 1)類型與變量是不同的概念。 2)只能對變量進(jìn)行存取、賦值等運(yùn)算; 不能對類型進(jìn)行這些操作或運(yùn)算。 3)只對變量分配空間,不對類型分配空間。 4)可以單獨(dú)使用結(jié)構(gòu)體變量中的成員,其地位和作用相當(dāng)于普通變量。 5)結(jié)構(gòu)體變量內(nèi)部的成員名可以與結(jié)構(gòu)體外的其他變量名相同 。編輯課件結(jié)構(gòu)體變量初始化初始化形式: 數(shù)據(jù)類型變量名=初始化值;struct temchar cn20; int maxt; int mint;

4、 struct tem c1=“haerbin”,28,16;說明:初值的類型與對應(yīng)成員 的類型應(yīng)相同;不能通過賦值語句將一組數(shù)據(jù)賦值給一個結(jié)構(gòu)體變量。 編輯課件結(jié)構(gòu)體變量成員的引用引用形式: 結(jié)構(gòu)體變量名.結(jié)構(gòu)體成員名實(shí)例:定義一個結(jié)構(gòu)體類型,包括四個成員:姓名、成績1、成績2、成績3;定義該結(jié)構(gòu)體類型的三個變量;計(jì)算并輸出每個人及每科成績的平均值。分析: 結(jié)構(gòu)體類型:四個成員 struct ss char n20; float c1,c2,c3; ;編輯課件#include struct sschar na20; float c1,c2,c3;void main()struct ss t1

5、,t2,t3; float m1,m2,m3; scanf(%s,t1.na); scanf(%f%f%f,&t1.c1,&t1.c2,&t1.c3); scanf(%s,st2.na); scanf(%f%f%f,&t2.c1,&t2.c2,&t2.c3); scanf(%s,st3.na); scanf(%f%f%f,&t3.c1,&t3.c2,&t3.c3);編輯課件m1=(t1.c1+t1.c2+t1.c3)/3; m2=(t2.c1+t2.c2+t2.c3)/3; m3=(t3.c1+t3.c2+t3.c3)/3; printf(%.2f,%.2f,%.2fn,m1,m2,m3);

6、m1=(t1.c1+t2.c1+t3.c1)/3; m2=(t1.c2+t2.c2+t3.c2)/3; m3=(t1.c3+t2.c3+t3.c3)/3; printf(%.2f,%.2f,%.2fn,m1,m2,m3);編輯課件實(shí)例的改進(jìn)struct sschar na20; float c1,c2,c3;struct sschar na20; float c3;結(jié)構(gòu)體類型結(jié)構(gòu)體變量struct ss t1,t2,t3;struct ss t3;編輯課件#include struct sschar na20; float c3;void main()struct ss t10; float

7、m10; int i,j; for(i=0;i10;i+) scanf(%s,ti.na); for(j=0;j3;j+) scanf(%f,&ti.cj); for(i=0;i10;i+) mi=0; for(j=0;j3;j+) mi+=ti.cj; mi=mi/3; for(i=0;i10;i+) printf(%6.2f,mi); printf(n); for(i=0;i3;i+) mi=0; for(j=0;j10;j+) mi+=tj.ci; mi=mi/3; for(i=0;i3;i+) printf(%6.2f,mi); 編輯課件結(jié)構(gòu)體數(shù)組定義 結(jié)構(gòu)體類型名 數(shù)組名長度 如: struct ss t3;數(shù)組元素成員的引用 數(shù)組名下標(biāo).成員名 如: ti.na結(jié)構(gòu)體數(shù)組的初始化 struct ss t3=“l(fā)ili”,85,79,91, ”liuyu”,84,93,89; “mawei”,65

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論