版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
共用體
張競丹深圳信息職業(yè)技術(shù)學(xué)院共用體共用體(Unit)將不同的數(shù)據(jù)組織成一個整體,共同占用一段內(nèi)存,其內(nèi)存空間等于字節(jié)數(shù)最大的成員的長度。定義共用體類型的一般形式如下:union共用體名{
成員表列;};共用體例如,將描述學(xué)生信息的結(jié)構(gòu)體類型改用共用體來描述unitustudent{intnum;
charname[20];
floatscore;};共用體變量的定義與結(jié)構(gòu)體變量定義一樣,例如定義unitstudent類型的共用體變量:unitustudentustu;共用體共用體變量ustu所占內(nèi)存空間20個字節(jié),即為其成員的內(nèi)存大小。同樣,共用體變量的引用與結(jié)構(gòu)體變量一致,不能直接引用共用體變量ustu,只能逐個引用共用體變量的成員,如ustu.num,,ustu.score。謝謝您的聆聽!Thankyou!結(jié)構(gòu)體類型的指針變量
張競丹深圳信息職業(yè)技術(shù)學(xué)院結(jié)構(gòu)體類型的指針變量所謂結(jié)構(gòu)體指針就是指向結(jié)構(gòu)體數(shù)據(jù)的指針,即該結(jié)構(gòu)體數(shù)據(jù)的起始地址。結(jié)構(gòu)體指針變量的基類型必須與它所指向的結(jié)構(gòu)體變量的類型相同。定義結(jié)構(gòu)體指針變量的一般形式如下:
結(jié)構(gòu)體類型名*結(jié)構(gòu)體指針變量名;結(jié)構(gòu)體類型的指針變量例如,定義描述學(xué)生信息的結(jié)構(gòu)體類型structstudent,并定義該結(jié)構(gòu)體類型的變量s和該結(jié)構(gòu)體類型的指針變量p。structstudent{intnum;charname[20];structdatebirthday;
floatscore[3];};structstudents;
structstudent*p;結(jié)構(gòu)體類型的指針變量若p=&s;則指針變量p指向結(jié)構(gòu)體變量s,對結(jié)構(gòu)體成員的引用可以通過結(jié)構(gòu)體指針變量表示:(*p).成員名p->成員名結(jié)構(gòu)體類型的指針變量例7-4計算兩個復(fù)數(shù)的和,要求以結(jié)構(gòu)體類型的指針變量完成。編程分析:(1)數(shù)據(jù)結(jié)構(gòu)類型題目要求形式語言(C)的表達(dá)數(shù)據(jù)類型復(fù)數(shù)類型結(jié)構(gòu)體類型:structcomplex輸入數(shù)據(jù)兩個復(fù)數(shù)2個structcomplex類型變量:a,b輸出數(shù)據(jù)兩個復(fù)數(shù)的和存放在structcomplex類型變量a中結(jié)構(gòu)體類型的指針變量例7-4計算兩個復(fù)數(shù)的和,要求以結(jié)構(gòu)體類型的指針變量完成。編程分析:(2)算法算法流程形式語言的表達(dá)定義復(fù)數(shù)加法函數(shù),其中形參為指針類型voidcmpadd(structcomplex*m,structcomplex*n){ m->real←m->real+n->real
m->image←m->image+n->image}在主函數(shù)中調(diào)用函數(shù)cmpadd計算兩個復(fù)數(shù)的和cmpadd(a,b)輸出結(jié)果以printf函數(shù)輸出a謝謝您的聆聽!Thankyou!結(jié)構(gòu)體數(shù)組
張競丹深圳信息職業(yè)技術(shù)學(xué)院課前準(zhǔn)備結(jié)構(gòu)體數(shù)組的定義結(jié)構(gòu)體數(shù)組的一般格式:結(jié)構(gòu)體類型
結(jié)構(gòu)體數(shù)組名[元素個數(shù)];結(jié)構(gòu)體數(shù)組的引用結(jié)構(gòu)體數(shù)組的每個元素就相當(dāng)于一個結(jié)構(gòu)體變量,因此其引用方式與結(jié)構(gòu)體變量的引用方式類似。其引用的一般格式如下:結(jié)構(gòu)體數(shù)組名[下標(biāo)].成員名例如,s[0].name表示結(jié)構(gòu)體數(shù)組中第一個元素的成員name。結(jié)構(gòu)體數(shù)組課前準(zhǔn)備例7-3
描述三個學(xué)生的信息(姓名、學(xué)號、成績),并計算平均成績。編程分析:(1)數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)體數(shù)組類型題目要求形式語言(C)的表達(dá)數(shù)據(jù)類型學(xué)生信息結(jié)構(gòu)體類型:structstudent數(shù)據(jù)三個學(xué)生的信息1個structstudent類型數(shù)組:stu[3]數(shù)據(jù)1個整型(int)變量:i
循環(huán)變量數(shù)據(jù)1個實型(float)變量:sum初值sum←0,用于計算成績累加值輸出數(shù)據(jù)平均成績sum/3課前準(zhǔn)備例7-3
描述三個學(xué)生的信息(姓名、學(xué)號、成績),并計算平均成績。編程分析:(2)算法結(jié)構(gòu)體數(shù)組算法流程形式語言的表達(dá)輸入三個學(xué)生的信息在for循環(huán)中:
以scanf函數(shù)依次讀入三個學(xué)生的信息,并存放在數(shù)組stu中。計算成績累加和在for循環(huán)中(循環(huán)變量i∈[0,3]):sum+=stu[i].score計算平均分,并輸出結(jié)果sum←sum/3以printf函數(shù)輸出sum謝謝您的聆聽!Thankyou!結(jié)構(gòu)體變量的引用
張競丹深圳信息職業(yè)技術(shù)學(xué)院結(jié)構(gòu)體變量的引用可以用成員運算符“.”對數(shù)據(jù)成員進(jìn)行引用,其引用方式為:
結(jié)構(gòu)體變量名.成員名其中“.”是成員運算符,在所有運算符中優(yōu)先級最高。例如,將結(jié)構(gòu)體變量s1的序號賦值為101s1.num=101;結(jié)構(gòu)體變量的引用注意:(1)不能將一個結(jié)構(gòu)體變量作為一個整體進(jìn)行輸入和輸出,只能對變量中的每個成員分別進(jìn)行輸入和輸出。(2)如果成員本身也是一個結(jié)構(gòu)體類型,那么也不能直接將該成員變量作為一個整體輸出,而應(yīng)該采用若干個成員運算符“.”,逐級找到低一級的成員,直到找到最低級的成員,然后才能對最低級的成員進(jìn)行存取。(3)各個成員變量可以作為普通變量,例如s1.score[0]++,就相當(dāng)于將其成績加1。結(jié)構(gòu)體變量的引用例7-2計算兩個復(fù)數(shù)的和編程分析:(1)數(shù)據(jù)結(jié)構(gòu)類型題目要求形式語言(C)的表達(dá)數(shù)據(jù)類型復(fù)數(shù)類型結(jié)構(gòu)體類型:structcomplex輸入數(shù)據(jù)兩個復(fù)數(shù)2個structcomplex類型變量:a,b輸出數(shù)據(jù)兩個復(fù)數(shù)的和存放在structcomplex類型變量a中結(jié)構(gòu)體變量的引用例7-2計算兩個復(fù)數(shù)的和編程分析:(2)算法算法流程形式語言的表達(dá)定義復(fù)數(shù)加法函數(shù)函數(shù)cmpadd: m.real←m.real+n.real m.image←m.image+n.image
返回m在主函數(shù)中調(diào)用函數(shù)cmpadd計算兩個復(fù)數(shù)的和a←cmpadd(a,b)輸出結(jié)果以printf函數(shù)輸出a謝謝您的聆聽!Thankyou!結(jié)構(gòu)體變量的初始化
張競丹深圳信息職業(yè)技術(shù)學(xué)院結(jié)構(gòu)體變量的初始化
與普通變量一樣,結(jié)構(gòu)體變量在使用之前應(yīng)該先對其初始化。方法與其它變量初始化方法類似,即在定義結(jié)構(gòu)體變量的同時為其每個成員賦初值,把各成員的值按順序放在花括號中,各值之間用逗號隔開。一般格式:struct結(jié)構(gòu)體名變量={各成員初值};例如:structstudents1={101,"張三",1992,5,1,100,90.5,80};謝謝您的聆聽!Thankyou!結(jié)構(gòu)體變量的定義
張競丹深圳信息職業(yè)技術(shù)學(xué)院結(jié)構(gòu)體變量的定義結(jié)構(gòu)體類型是一種自定義類型,與C語言的基本類型一樣,可以定義變量。在程序中使用結(jié)構(gòu)體類型的數(shù)據(jù),要定義結(jié)構(gòu)體類型的變量。定義結(jié)構(gòu)體的變量有三種方法:(1)先聲明結(jié)構(gòu)體類型,再定義結(jié)構(gòu)體類型的變量定義的一般格式:struct結(jié)構(gòu)體名結(jié)構(gòu)體變量名;例如:structstudents1,s2;結(jié)構(gòu)體變量的定義(2)在聲明結(jié)構(gòu)體類型的同時定義變量定義的一般格式為:struct結(jié)構(gòu)體名
{成員表列;}變量名表列;例如:structstduent{intnum;charname[20];structdatebirthday;floatscore[3];}s1,s2;結(jié)構(gòu)體變量的定義(3)直接定義結(jié)構(gòu)類型變量定義的一般格式為:struct{
成員表列;}變量名表列;例如:struct{intnum;charname[20];charsex;floatscore;charaddr[30];}s1,s2;結(jié)構(gòu)體變量的定義關(guān)于結(jié)構(gòu)體類型的說明:類型與變量是不同的概念,不要混同。只能對變量賦值、存取或運算,而不能對一個類型賦值、存取或運算。在編譯時,對類型是不分配空間的,只對變量分配空間。成員名可以與程序中的變量名相同,二者不代表同一對象。成員也可以是一個結(jié)構(gòu)體變量。謝謝您的聆聽!Thankyou!結(jié)構(gòu)體的定義
張競丹深圳信息職業(yè)技術(shù)學(xué)院引言
如何描述復(fù)雜的數(shù)學(xué)數(shù)據(jù)呢?如復(fù)數(shù)等。還有現(xiàn)實世界中的復(fù)雜數(shù)據(jù)呢?如學(xué)生信息等。結(jié)構(gòu)體類型是一種較為復(fù)雜卻非常靈活的構(gòu)造型數(shù)據(jù)類型,它可以將不同類型的數(shù)據(jù)組合成一個有機的整體,存儲多種類型的數(shù)據(jù),其中組成結(jié)構(gòu)體類型的每個數(shù)據(jù)稱為該結(jié)構(gòu)體類型的成員項,簡稱成員。結(jié)構(gòu)體的定義結(jié)構(gòu)體類型聲明的一般格式為:struct
結(jié)構(gòu)體名{
數(shù)據(jù)類型成員名1;
數(shù)據(jù)類型成員名2;
…
…
數(shù)據(jù)類型成員名n;};結(jié)構(gòu)體的定義復(fù)數(shù)結(jié)構(gòu)體類型的定義:structcomplex{floatreal;/*實部*/floatimage;/*虛部*/};realimagestructcomplex結(jié)構(gòu)體的定義學(xué)生信息結(jié)構(gòu)體類型的定義:structstudent{intnum;/*學(xué)號*/charname[20];/*姓名*/intage;/*年齡*/floatscore[3];/*成績數(shù)組,包括數(shù)學(xué)、英語、物理成績*/};structstudentnumnameagescoreofmathscoreofEnglishscoreofChinese
結(jié)構(gòu)體的定義描述年齡的成員age其數(shù)值隨數(shù)據(jù)存儲時間的變化而發(fā)生變化,如果不及時更新此信息,會造成數(shù)據(jù)系統(tǒng)信息存儲有誤。因此,一般對年齡信息的描述常表述為出生年月日。structstudent{intnum;/*學(xué)號*/charname[20];/*姓名*/structdatebirthday;/*出生日期
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 燈用化學(xué)配料工崗后測試考核試卷含答案
- 創(chuàng)業(yè)指導(dǎo)師崗前品質(zhì)考核試卷含答案
- 重冶萃取工安全實操水平考核試卷含答案
- 鋼筋骨架工崗前理論知識考核試卷含答案
- 熱工試驗工安全實操評優(yōu)考核試卷含答案
- 2024年溫州商學(xué)院馬克思主義基本原理概論期末考試題附答案
- 2024年湖北三峽職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試題附答案
- 2024年湖北師范大學(xué)輔導(dǎo)員招聘備考題庫附答案
- 2025年企業(yè)品牌管理與市場定位手冊
- 2024年荔浦縣輔警招聘考試備考題庫附答案
- 2026新疆阿合奇縣公益性崗位(鄉(xiāng)村振興專干)招聘44人筆試備考試題及答案解析
- 2025-2026學(xué)年遼寧省葫蘆島市連山區(qū)八年級(上)期末數(shù)學(xué)試卷(含答案)
- 上海市松江區(qū)2026屆初三一模物理試題(含答案)
- 小學(xué)六年級英語2026年上學(xué)期語法改錯綜合真題
- 2026長治日報社工作人員招聘勞務(wù)派遣人員5人備考題庫完美版
- 護(hù)理核心制度內(nèi)容精要
- 湖南省婁底市期末真題重組卷-2025-2026學(xué)年四年級語文上冊(統(tǒng)編版)
- 光伏板清洗施工方案
- 閱讀理解體裁與命題方向(復(fù)習(xí)講義)-2026年春季高考英語(上海高考專用)
- 指南抗菌藥物臨床應(yīng)用指導(dǎo)原則(2025版)
- 2025年華僑生聯(lián)考試題試卷及答案
評論
0/150
提交評論