photoshop圖形圖像處理3.2 結(jié)構(gòu)類型電子教案 中職c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)
單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,photoshop圖形圖像處理3.2 結(jié)構(gòu)類型電子教案 中職 高教版 c語(yǔ)言程序設(shè)計(jì)基礎(chǔ),了解結(jié)構(gòu)體的基本概念,掌握定義結(jié)構(gòu)類型的一般形式及變量的,3,種形式,掌握結(jié)構(gòu)體變量的引用、賦值及初始化,能力目標(biāo):,任務(wù)一 考察結(jié)構(gòu)數(shù)據(jù)類型,通過下面的活動(dòng),找出定義結(jié)構(gòu)體的一般格式,定義結(jié)構(gòu)類型,變量的形式,會(huì)對(duì)結(jié)構(gòu)體變量進(jìn)行引用和賦值。,1請(qǐng)觀察下面這個(gè)正確的結(jié)構(gòu)體定義,總結(jié)出定義結(jié)構(gòu)體的一般,格式。,struct student,int num;,char name20;,char sex;,float score;,;,任務(wù)一 考察結(jié)構(gòu)數(shù)據(jù)類型,結(jié)構(gòu)體類型的基本概念,:,“,結(jié)構(gòu)”是一種構(gòu)造類型,它是由若干“成員”組成的。,每一個(gè)成員可以是一個(gè)基本數(shù)據(jù)類型或者是一個(gè)構(gòu)造類型。,結(jié)構(gòu)既是一種“構(gòu)造”而成的數(shù)據(jù)類型,那么在說明和使用之前必須先定義它,也就是構(gòu)造它,如同在說明和調(diào)用函數(shù)之前要先定義函數(shù)一樣。,知識(shí)盤點(diǎn):,定義結(jié)構(gòu)體類型的一般形式:,struct,結(jié)構(gòu)名,成員表列,;,大括弧內(nèi)是該結(jié)構(gòu)體的各個(gè)成員,(,或稱為分量,),由它們組成一個(gè)結(jié)構(gòu)體。,對(duì)每個(gè)成員也必須做類型說明,其形式為:,類型說明符 成員名,;,成員名的命名應(yīng)符合標(biāo)識(shí)符的書寫規(guī)定。,知識(shí)盤點(diǎn):,2觀察下面3種定義結(jié)構(gòu)變量的例子,找出它們之間的區(qū)別,總結(jié),出定義結(jié)構(gòu)變量的3種形式。,(1)struct stu boy1,boy2;,(2)struct stu,int num;,char name20;,char sex;,float score;,boy1,boy2;,(3)struct,int num;,char name20;,char sex;,float score;,boy1,boy2,定義結(jié)構(gòu)體變量的,3,種方法,1,先定義結(jié)構(gòu),再說明結(jié)構(gòu)變量。,也可以用宏定義使用一個(gè)符號(hào)常量來(lái)表示一個(gè)結(jié)構(gòu)類型。,2.,在定義結(jié)構(gòu)類型的同時(shí)說明結(jié)構(gòu)變量。,3.,直接說明結(jié)構(gòu)變量。,結(jié)構(gòu)體變量的定義:,知識(shí)盤點(diǎn):,3根據(jù)下面的結(jié)構(gòu)體定義,了解結(jié)構(gòu)體的嵌套。,struct date /*定義結(jié)構(gòu)體date*/,int month;,int day;,int year;,struct,int num;,char name20;,char sex;,struct date birthday;/*成員birthday被說明為data結(jié)構(gòu)類型*/,float score;,boy1,boy2;,一維數(shù)組初始化的一般格式:,類型標(biāo)識(shí)符 數(shù)組名,整型常量表達(dá)式,=,初值表,;,初始化:在定義數(shù)組的同時(shí)指定初始值,編譯器把初值賦給數(shù)組元素。,依次為數(shù)組元素賦值的方法:,1.,在,C,語(yǔ)言中,數(shù)組作為一種存放若干相同類型數(shù)據(jù)的集合是一個(gè)整體,是不允許當(dāng)作變量來(lái)賦值的。,一維數(shù)組的初始化:,知識(shí)盤點(diǎn):,例如:int a10;a=5;,這樣的寫法在C語(yǔ)言中是不允許的,因?yàn)閍是一個(gè)數(shù)組,不能當(dāng)作變量來(lái)使用。,2.對(duì)于為數(shù)組元素賦值就簡(jiǎn)單得多,因?yàn)閿?shù)組元素可以當(dāng)做變量來(lái)使用,可以直接使用“=”賦值。我們完全可以用一個(gè)循環(huán)語(yǔ)句來(lái)依次為每個(gè)數(shù)組元素賦值,這里,只需要把數(shù)組元素的下標(biāo)做為循環(huán)控制變量即可。這也是為數(shù)組賦值常用的方法。,知識(shí)盤點(diǎn):,4C語(yǔ)言中除了允許具有相同類型的結(jié)構(gòu)變量相互賦值以外,一般對(duì)結(jié)構(gòu),變量的使用,包括賦值、輸入、輸出、運(yùn)算等都是通過結(jié)構(gòu)變量的成員,來(lái)實(shí)現(xiàn)的。怎樣來(lái)引用結(jié)構(gòu)成員?請(qǐng)通過觀察下面的程序段來(lái)找出方法。,#include stdio.h,main(),struct stu,int num;,char name20;,char sex;,float score;,boy1,boy2;,boy1.num=102;/*對(duì)結(jié)構(gòu)成員num賦值*/,boy1.score=78.2;/*對(duì)結(jié)構(gòu)成員score賦值*/,printf(input sex and scoren);,引用結(jié)構(gòu)體成員的一般形式為:,結(jié)構(gòu)體變量名,.,成員名,說明:,在舊的標(biāo)準(zhǔn)中規(guī)定,不允許把一個(gè)結(jié)構(gòu)體變量作為一個(gè)整體進(jìn)行賦值和輸出。,如果結(jié)構(gòu)體成員本身又屬于一個(gè)結(jié)構(gòu)體類型,只能對(duì)最低級(jí)的成員進(jìn)行賦值或存取運(yùn)算(逐步級(jí)訪問)。,結(jié)構(gòu)體成員變量可以像普通變量一樣進(jìn)行各種運(yùn)算??梢砸媒Y(jié)構(gòu)體成員的地址,也可以引用結(jié)構(gòu)體變量的地址。例如:,scanf(%d,但不能用以下語(yǔ)句整體讀入結(jié)構(gòu)體變量的各成員值。例如:,scanf(%d,%s,%c,%f,一維數(shù)組的初始化應(yīng)注意的問題:,知識(shí)盤點(diǎn):,5除了采用賦值方式為結(jié)構(gòu)成員賦值外,還有其他的方法為結(jié)構(gòu)成,員賦值嗎?請(qǐng)觀察下面的賦值形式,總結(jié)出結(jié)構(gòu)變量初始化的方法。,struct stu,int num;,char name20;,char sex;,float score;,boy1=10000,yanghai,m,78.3;/*對(duì)結(jié)構(gòu)變量boy1進(jìn)行初始化*/,初始化結(jié)構(gòu)變量的方法為:,直接在結(jié)構(gòu)體變量的后面用,成員值表,。,與數(shù)組一樣,只有當(dāng)結(jié)構(gòu)體變量為全局變量或靜態(tài)變量,才能由編譯器對(duì)其進(jìn)行初始化。,結(jié)構(gòu)變量的初始化:,知識(shí)盤點(diǎn):,任務(wù)二 在程序中使用結(jié)構(gòu),1請(qǐng)觀察下面的C程序,說出該程序完成的功能。想一想,通過結(jié)構(gòu)體的定義,該程序?qū)⑦@些數(shù)據(jù)聯(lián)系在一起了嗎?,程序見教材,任務(wù)二 在程序中使用結(jié)構(gòu),