版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
⑴理解結(jié)構(gòu)體類型的作用。⑵掌握結(jié)構(gòu)體類型變量的定義、初始化和引用。⑴理解結(jié)構(gòu)體類型的作用。如何存儲(chǔ)一個(gè)班級(jí)中5名學(xué)生的信息(學(xué)號(hào)、姓名、性別和成績(jī))結(jié)構(gòu)體類型方案一:使用多個(gè)數(shù)組問題:不能建立數(shù)組間的關(guān)系如何存儲(chǔ)一個(gè)班級(jí)中5名學(xué)生的信息(學(xué)號(hào)、姓名、性別和成績(jī)?nèi)绾未鎯?chǔ)一個(gè)班級(jí)中5名學(xué)生的信息(學(xué)號(hào)、姓名、性別和成績(jī))結(jié)構(gòu)體類型方案二:使用多維數(shù)組問題:C語(yǔ)言不允許一個(gè)數(shù)組包含多種數(shù)據(jù)類型如何存儲(chǔ)一個(gè)班級(jí)中5名學(xué)生的信息(學(xué)號(hào)、姓名、性別和成績(jī)?nèi)绾未鎯?chǔ)一個(gè)班級(jí)中5名學(xué)生的信息(學(xué)號(hào)、姓名、性別和成績(jī))結(jié)構(gòu)體類型方案三:使用結(jié)構(gòu)體numnamesexscoreC語(yǔ)言引入了稱為結(jié)構(gòu)體的數(shù)據(jù)存儲(chǔ)方式?!敖Y(jié)構(gòu)體”是一種構(gòu)造數(shù)據(jù)類型,它是由若干數(shù)據(jù)項(xiàng)組合而成的復(fù)雜數(shù)據(jù)對(duì)象,這些數(shù)據(jù)項(xiàng)稱為結(jié)構(gòu)體的成員。如何存儲(chǔ)一個(gè)班級(jí)中5名學(xué)生的信息(學(xué)號(hào)、姓名、性別和成績(jī)一、結(jié)構(gòu)體類型的定義結(jié)構(gòu)體類型定義的一般形式
struct結(jié)構(gòu)體名
{
類型標(biāo)識(shí)符成員名1;
類型標(biāo)識(shí)符成員名2;
. . . 類型標(biāo)識(shí)符成員名n; };
關(guān)鍵詞應(yīng)符合標(biāo)識(shí)符的命名規(guī)則,它是類型的標(biāo)識(shí)符而不是變量名。各成員的數(shù)據(jù)類型,可以是任意一種C語(yǔ)言中的有效數(shù)據(jù)類型結(jié)構(gòu)體成員的名稱,也應(yīng)符合標(biāo)識(shí)符的命名規(guī)則。structstudent{intnum;charname[20];charsex;floatscore;};numnamesexstudentscore一、結(jié)構(gòu)體類型的定義結(jié)構(gòu)體類型定義的一般形式關(guān)鍵詞應(yīng)符合標(biāo)識(shí)二、結(jié)構(gòu)體類型變量的定義結(jié)構(gòu)體的定義僅描述了一個(gè)結(jié)構(gòu)體的形式。如果要在程序里使用結(jié)構(gòu)體,需要聲明結(jié)構(gòu)體類型的變量。定義結(jié)構(gòu)體類型的變量有以下3種方法:1.先定義結(jié)構(gòu)體類型,再定義該類型的變量,例如:structstudent{intnum;charname[20];charsex;floatscore;};structstudentstu1,stu2;
二、結(jié)構(gòu)體類型變量的定義結(jié)構(gòu)體的定義僅描述了一個(gè)結(jié)構(gòu)體的形式2.在定義結(jié)構(gòu)體類型的同時(shí)定義結(jié)構(gòu)體變量,例如:structstudent{intnum;charname[20];charsex;floatscore;}stu1,stu2;二、結(jié)構(gòu)體類型變量的定義2.在定義結(jié)構(gòu)體類型的同時(shí)定義結(jié)構(gòu)體變量,例如:二、結(jié)構(gòu)體類3.直接定義結(jié)構(gòu)體變量,例如:struct{intnum;charname[20];charsex;floatscore;}stu1,stu2;說明:本方法中只是直接定義了兩個(gè)結(jié)構(gòu)體變量,省略了結(jié)構(gòu)體類型名,因此程序中無法再使用它來定義該結(jié)構(gòu)體類型的其他變量。二、結(jié)構(gòu)體類型變量的定義3.直接定義結(jié)構(gòu)體變量,例如:說明:本方法中只是直接定義了兩⑴結(jié)構(gòu)體類型不同于結(jié)構(gòu)體變量,不能直接對(duì)結(jié)構(gòu)體類型進(jìn)行賦值、存取等操作。⑵結(jié)構(gòu)體成員名可以與程序中的某一變量名相同,但二者并不代表同一存儲(chǔ)單元。⑶結(jié)構(gòu)體類型定義可以在函數(shù)的內(nèi)部,也可以在函數(shù)的外部。在函數(shù)內(nèi)部定義的結(jié)構(gòu)體,其作用域僅限于該函數(shù)內(nèi)部,而在函數(shù)外部定義的結(jié)構(gòu)體,其作用域是從定義處開始到本文件結(jié)束。
注意⑴結(jié)構(gòu)體類型不同于結(jié)構(gòu)體變量,不能直接對(duì)結(jié)構(gòu)體類型進(jìn)行賦值 結(jié)構(gòu)體類型變量的3種定義形式,均可在定義時(shí)初始化。初始化的一般形式為:
struct結(jié)構(gòu)體名{
結(jié)構(gòu)體成員表列;}結(jié)構(gòu)體變量={初始數(shù)據(jù)表};用戶在初始化的過程中,要注意并不是所有成員都必須賦初值,可以只初始化結(jié)構(gòu)體變量的部分成員。初始化數(shù)據(jù)之間要用“,”隔開,不進(jìn)行初始化的成員項(xiàng)也要用“,”跳過。需注意每個(gè)初始數(shù)據(jù)必須與其對(duì)應(yīng)成員的數(shù)據(jù)類型相一致。三、結(jié)構(gòu)體類型變量的初始化 結(jié)構(gòu)體類型變量的3種定義形式,均可在定義時(shí)初始化。初始化的
.【例1】對(duì)結(jié)構(gòu)體變量進(jìn)行初始化。
#include<stdio.h> main() { structstudent { intnum; charname[20]; charsex; floatscore; }stu={8001,"zhangping",'m',78.5}; printf("Number=%d\nName=%s\n",stu.num,); printf("Sex=%c\nScore=%.2f\n",stu.sex,stu.score); }程序運(yùn)行結(jié)果:Number=8001Name=zhangpingSex=mScore=78.50 .【例1】對(duì)結(jié)構(gòu)體變量進(jìn)行初始化。 #include<s四、結(jié)構(gòu)體類型變量的引用1.引用結(jié)構(gòu)體變量中的一個(gè)成員。 表示結(jié)構(gòu)體成員的一般形式為: 結(jié)構(gòu)體變量名.成員名 其中”.”稱為成員運(yùn)算符,它的運(yùn)算級(jí)別最高,和圓括號(hào)運(yùn)算符“()”、下標(biāo)運(yùn)算符“[]”是相同級(jí)別的,結(jié)合方向?yàn)樽宰笙蛴?。四、結(jié)構(gòu)體類型變量的引用1.引用結(jié)構(gòu)體變量中的一個(gè)成員。structdate{intmonth;intday;intyear;};struct{intnum;charname[20];charsex;
structdatebirthday;floatscore;}student1,student2;表示結(jié)構(gòu)變量成員的一般形式是:結(jié)構(gòu)變量名.成員名例如:student1.num、student2.sex、student1.birthday.month四、結(jié)構(gòu)體類型變量的引用structdatestruct{表示結(jié)構(gòu)變量成員的一般形2.結(jié)構(gòu)體變量作為整體來引用。兩個(gè)相同類型的結(jié)構(gòu)體變量之間可以直接相互賦值。C語(yǔ)言不允許用賦值語(yǔ)句將一組常量直接賦值給一個(gè)結(jié)構(gòu)體變量。不能用一條語(yǔ)句整體讀入結(jié)構(gòu)體變量:
四、結(jié)構(gòu)體類型變量的引用下面的賦值語(yǔ)句是不合法的:
stu2={8002,"wangping",'m',89};下面的語(yǔ)句是不合法的: scanf("%d,%s,%c,%f",&stu1);2.結(jié)構(gòu)體變量作為整體來引用。四、結(jié)構(gòu)體類型變量的引用下面的小結(jié)(1)為什么要使用結(jié)構(gòu)體。(2)結(jié)構(gòu)體類型的定義。(3)結(jié)構(gòu)體類型變量的定義初始化和引用。小結(jié)(1)為什么要使用結(jié)構(gòu)體。⑴理解結(jié)構(gòu)體類型的作用。⑵掌握結(jié)構(gòu)體類型變量的定義、初始化和引用。⑴理解結(jié)構(gòu)體類型的作用。如何存儲(chǔ)一個(gè)班級(jí)中5名學(xué)生的信息(學(xué)號(hào)、姓名、性別和成績(jī))結(jié)構(gòu)體類型方案一:使用多個(gè)數(shù)組問題:不能建立數(shù)組間的關(guān)系如何存儲(chǔ)一個(gè)班級(jí)中5名學(xué)生的信息(學(xué)號(hào)、姓名、性別和成績(jī)?nèi)绾未鎯?chǔ)一個(gè)班級(jí)中5名學(xué)生的信息(學(xué)號(hào)、姓名、性別和成績(jī))結(jié)構(gòu)體類型方案二:使用多維數(shù)組問題:C語(yǔ)言不允許一個(gè)數(shù)組包含多種數(shù)據(jù)類型如何存儲(chǔ)一個(gè)班級(jí)中5名學(xué)生的信息(學(xué)號(hào)、姓名、性別和成績(jī)?nèi)绾未鎯?chǔ)一個(gè)班級(jí)中5名學(xué)生的信息(學(xué)號(hào)、姓名、性別和成績(jī))結(jié)構(gòu)體類型方案三:使用結(jié)構(gòu)體numnamesexscoreC語(yǔ)言引入了稱為結(jié)構(gòu)體的數(shù)據(jù)存儲(chǔ)方式?!敖Y(jié)構(gòu)體”是一種構(gòu)造數(shù)據(jù)類型,它是由若干數(shù)據(jù)項(xiàng)組合而成的復(fù)雜數(shù)據(jù)對(duì)象,這些數(shù)據(jù)項(xiàng)稱為結(jié)構(gòu)體的成員。如何存儲(chǔ)一個(gè)班級(jí)中5名學(xué)生的信息(學(xué)號(hào)、姓名、性別和成績(jī)一、結(jié)構(gòu)體類型的定義結(jié)構(gòu)體類型定義的一般形式
struct結(jié)構(gòu)體名
{
類型標(biāo)識(shí)符成員名1;
類型標(biāo)識(shí)符成員名2;
. . . 類型標(biāo)識(shí)符成員名n; };
關(guān)鍵詞應(yīng)符合標(biāo)識(shí)符的命名規(guī)則,它是類型的標(biāo)識(shí)符而不是變量名。各成員的數(shù)據(jù)類型,可以是任意一種C語(yǔ)言中的有效數(shù)據(jù)類型結(jié)構(gòu)體成員的名稱,也應(yīng)符合標(biāo)識(shí)符的命名規(guī)則。structstudent{intnum;charname[20];charsex;floatscore;};numnamesexstudentscore一、結(jié)構(gòu)體類型的定義結(jié)構(gòu)體類型定義的一般形式關(guān)鍵詞應(yīng)符合標(biāo)識(shí)二、結(jié)構(gòu)體類型變量的定義結(jié)構(gòu)體的定義僅描述了一個(gè)結(jié)構(gòu)體的形式。如果要在程序里使用結(jié)構(gòu)體,需要聲明結(jié)構(gòu)體類型的變量。定義結(jié)構(gòu)體類型的變量有以下3種方法:1.先定義結(jié)構(gòu)體類型,再定義該類型的變量,例如:structstudent{intnum;charname[20];charsex;floatscore;};structstudentstu1,stu2;
二、結(jié)構(gòu)體類型變量的定義結(jié)構(gòu)體的定義僅描述了一個(gè)結(jié)構(gòu)體的形式2.在定義結(jié)構(gòu)體類型的同時(shí)定義結(jié)構(gòu)體變量,例如:structstudent{intnum;charname[20];charsex;floatscore;}stu1,stu2;二、結(jié)構(gòu)體類型變量的定義2.在定義結(jié)構(gòu)體類型的同時(shí)定義結(jié)構(gòu)體變量,例如:二、結(jié)構(gòu)體類3.直接定義結(jié)構(gòu)體變量,例如:struct{intnum;charname[20];charsex;floatscore;}stu1,stu2;說明:本方法中只是直接定義了兩個(gè)結(jié)構(gòu)體變量,省略了結(jié)構(gòu)體類型名,因此程序中無法再使用它來定義該結(jié)構(gòu)體類型的其他變量。二、結(jié)構(gòu)體類型變量的定義3.直接定義結(jié)構(gòu)體變量,例如:說明:本方法中只是直接定義了兩⑴結(jié)構(gòu)體類型不同于結(jié)構(gòu)體變量,不能直接對(duì)結(jié)構(gòu)體類型進(jìn)行賦值、存取等操作。⑵結(jié)構(gòu)體成員名可以與程序中的某一變量名相同,但二者并不代表同一存儲(chǔ)單元。⑶結(jié)構(gòu)體類型定義可以在函數(shù)的內(nèi)部,也可以在函數(shù)的外部。在函數(shù)內(nèi)部定義的結(jié)構(gòu)體,其作用域僅限于該函數(shù)內(nèi)部,而在函數(shù)外部定義的結(jié)構(gòu)體,其作用域是從定義處開始到本文件結(jié)束。
注意⑴結(jié)構(gòu)體類型不同于結(jié)構(gòu)體變量,不能直接對(duì)結(jié)構(gòu)體類型進(jìn)行賦值 結(jié)構(gòu)體類型變量的3種定義形式,均可在定義時(shí)初始化。初始化的一般形式為:
struct結(jié)構(gòu)體名{
結(jié)構(gòu)體成員表列;}結(jié)構(gòu)體變量={初始數(shù)據(jù)表};用戶在初始化的過程中,要注意并不是所有成員都必須賦初值,可以只初始化結(jié)構(gòu)體變量的部分成員。初始化數(shù)據(jù)之間要用“,”隔開,不進(jìn)行初始化的成員項(xiàng)也要用“,”跳過。需注意每個(gè)初始數(shù)據(jù)必須與其對(duì)應(yīng)成員的數(shù)據(jù)類型相一致。三、結(jié)構(gòu)體類型變量的初始化 結(jié)構(gòu)體類型變量的3種定義形式,均可在定義時(shí)初始化。初始化的
.【例1】對(duì)結(jié)構(gòu)體變量進(jìn)行初始化。
#include<stdio.h> main() { structstudent { intnum; charname[20]; charsex; floatscore; }stu={8001,"zhangping",'m',78.5}; printf("Number=%d\nName=%s\n",stu.num,); printf("Sex=%c\nScore=%.2f\n",stu.sex,stu.score); }程序運(yùn)行結(jié)果:Number=8001Name=zhangpingSex=mScore=78.50 .【例1】對(duì)結(jié)構(gòu)體變量進(jìn)行初始化。 #include<s四、結(jié)構(gòu)體類型變量的引用1.引用結(jié)構(gòu)體變量中的一個(gè)成員。 表示結(jié)構(gòu)體成員的一般形式為: 結(jié)構(gòu)體變量名.成員名 其中”.”稱為成員運(yùn)算符,它的運(yùn)算級(jí)別最高,和圓括號(hào)運(yùn)算符“()”、下標(biāo)運(yùn)算符“[]”是相同級(jí)別的,結(jié)合方向?yàn)樽宰笙蛴?。四、結(jié)構(gòu)體類型變量的引用1.引用結(jié)構(gòu)體變量中的一個(gè)成員。structdate{intmo
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文物保護(hù)樣本修復(fù)與管理樣本管理
- 居民社區(qū)智能電梯維護(hù)協(xié)議
- 學(xué)校硅PU施工合同
- 醫(yī)院消防設(shè)施改造合同模板
- 員工行為準(zhǔn)則與規(guī)范
- 地下礦井降水施工分包協(xié)議
- 2022年大學(xué)藥學(xué)專業(yè)大學(xué)物理二月考試題B卷-含答案
- 2022年大學(xué)力學(xué)專業(yè)大學(xué)物理下冊(cè)期中考試試題B卷-含答案
- 信息技術(shù)(基礎(chǔ)模塊)(麒麟操作系統(tǒng) WPSOffice)(微課版) 課件 模塊6、7 新一代信息技術(shù)概述、信息素養(yǎng)與社會(huì)責(zé)任
- 質(zhì)量部晉級(jí)晉升述職報(bào)告
- 家具制造業(yè)售后服務(wù)預(yù)案
- 電子產(chǎn)品維修合同范本1
- 河南省信陽(yáng)市浉河區(qū)第九中學(xué)2025屆數(shù)學(xué)九上開學(xué)調(diào)研試題【含答案】
- 《籃球原地雙手胸前傳接球》教案 (三篇)
- 第7章-機(jī)器學(xué)習(xí)
- 2024年T電梯修理考試100題及答案
- 第1課 課題一《課外生活小調(diào)查·周末生活我采訪》(教案)-2024-2025學(xué)年三年級(jí)上冊(cè)綜合實(shí)踐活動(dòng)浙教版
- 世界的氣溫和降水課件
- 2024年新人教版七年級(jí)上冊(cè)數(shù)學(xué)課件 3.1 第3課時(shí) 反比例關(guān)系
- DBJ-T15-60-2019建筑地基基礎(chǔ)檢測(cè)規(guī)范
- 西學(xué)中題庫(kù)及答案
評(píng)論
0/150
提交評(píng)論