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