C語言程序設(shè)計第9章 結(jié)構(gòu)體 課件教案_第1頁
C語言程序設(shè)計第9章 結(jié)構(gòu)體 課件教案_第2頁
C語言程序設(shè)計第9章 結(jié)構(gòu)體 課件教案_第3頁
C語言程序設(shè)計第9章 結(jié)構(gòu)體 課件教案_第4頁
C語言程序設(shè)計第9章 結(jié)構(gòu)體 課件教案_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

言程序設(shè)計課件案第九章結(jié)構(gòu)教學(xué)目掌握結(jié)構(gòu)體的定義、存儲、引用和初始化的基本語法,學(xué)會引用結(jié)構(gòu)體中的每一個成員變量。掌握結(jié)構(gòu)體數(shù)組的定義、存儲、引用和初始化的基本語法。教學(xué)要1.2.3.4.

熟練掌握結(jié)構(gòu)體的定義、存儲、引用和初始化的基本語法學(xué)會引用結(jié)構(gòu)體中的每一個成員變量熟練掌握使用typedef定義結(jié)構(gòu)體熟練掌握結(jié)構(gòu)體數(shù)組的定義、存儲、引用和初始化的基本語法重點和點1.結(jié)構(gòu)體的應(yīng)用2.結(jié)構(gòu)體成員變量的引用3.結(jié)構(gòu)體數(shù)組的應(yīng)用教學(xué)支環(huán)境與教學(xué)源:1.筆記本電腦2.VC20103.投影儀教學(xué)方講授法、練習(xí)法、討論法授課課6課時教學(xué)過---------------------------------AM---------------------------------一、課程引入同時存儲全班同學(xué)的語言成績、PS成績等需要定義多個類型不同的變量,可以采用定義結(jié)構(gòu)體的方式解決。二、結(jié)構(gòu)體的定義C語言中己構(gòu)造出自己想要的數(shù)據(jù)類型型叫做復(fù)合數(shù)據(jù)類型。復(fù)合數(shù)據(jù)類型結(jié)構(gòu)體--是由一系列具有相同類型或不同類型的數(shù)據(jù)構(gòu)成的數(shù)1

據(jù)集合結(jié)構(gòu)體:不同的數(shù)據(jù)類型組成的組合型的數(shù)據(jù)結(jié)構(gòu)1.結(jié)構(gòu)體的定義struct結(jié)構(gòu)體名{成員列表};structstudent{intnum;intage;floatscore;doubleavg;};說明:1>義了一個結(jié)構(gòu)體類型,結(jié)構(gòu)體的關(guān)鍵字--struct結(jié)構(gòu)體名為student2>個結(jié)構(gòu)體包含了多個不同的基本數(shù)據(jù)類型。注意:1>構(gòu)體的類型可以多種,名字由關(guān)鍵字struct和結(jié)構(gòu)體名組合而成2>問成員的規(guī)則:(1)結(jié)構(gòu)體普通變量通過."來訪問成員,例如:pe.id(2)結(jié)構(gòu)體指針變量通過"來訪問成員,例如:(大致提一下)三、定義結(jié)構(gòu)體變量1.先聲明,再定義struct結(jié)構(gòu)體名{數(shù)據(jù)類型成員變量名;數(shù)據(jù)類型成員變量名;數(shù)據(jù)類型成員變量名;};語法:struct結(jié)構(gòu)體名變量名;例如:structstudent//student為結(jié)構(gòu)體名{intnum;intc_score;intps_score;floatavg;};//定結(jié)構(gòu)體intmain(void){structstudentTom;//Tom為結(jié)構(gòu)體變量2

Tom.num=10;printf("號:%d\n",Tom.num);return}2.在聲明類型的同時,定義變量struct結(jié)構(gòu)體名{數(shù)據(jù)類型成員變量名;數(shù)據(jù)類型成員變量名;數(shù)據(jù)類型成員變量名;}量名列表;例如:structpeople{intage;intid;}p1;//p1是一個結(jié)構(gòu)體變量這里的p1,相當(dāng)于structpeoplep1;p1.age=20;p1.id=15;3.省略結(jié)構(gòu)體名,直接定義結(jié)構(gòu)體類型的變量struct{數(shù)據(jù)類型成員變量名;}量名列表;例如:struct{intage;;intid}p1;特點:只能定義一次,接下來不能再定義結(jié)構(gòu)體變量了。課堂練習(xí)1:1.定義結(jié)構(gòu)體,包含學(xué)生的信息(號、C語言成績、PS成績、平均),定義結(jié)構(gòu)體變量并賦初值,輸出學(xué)生的信息。structstudent//student為結(jié)構(gòu)體名3

{intnum;intc_score;intps_score;floatavg;};//定結(jié)構(gòu)體intmain(void){structstudentTom={15,90,95,92.5};printf("的序號是:%d\n",Tom.num);printf("C語言成績是:%d\n",Tom.c_score);printf("PS成績是:%d\n",Tom.ps_score);printf("均分是:%f\n",Tom.avg);return}2.定義結(jié)構(gòu)體,包含學(xué)生的信(序號、3門課的成績、平均定義結(jié)構(gòu)體變量并賦初值,輸出學(xué)生的信息。structstudent//student為結(jié)構(gòu)體名{intnum;intscore[3];floatavg;};//定結(jié)構(gòu)體intmain(void){structstudentTom={15,{90,95,80},83.3};int=0;printf("的序號是:%d\n",Tom.num);printf("績分別是:%d,%d,%d\n",Tom.score[0],Tom.score[1],Tom.score[2]);printf("均分是:%f\n",Tom.avg);return}四、typedef關(guān)鍵字功能:它不是用來創(chuàng)造類型,而是給已有的類型取一個別名。定義變量inta;inta[10];structstudentstu;規(guī)則:將名字去掉,剩下的就是類型int4

int[10]structstudenttypedef已有的類型別名;//注意:別名后面的分;能省略例如:typedefintTYPE;======>TYPE與int等,如TYPEa;相當(dāng)于inta;typedefstructstudent{intnum;}STU1,STU2;//STU1和STU2都是別名STU1<===>structstudentdemo:typedefstructstudent{intnum;intage;}STU;//STU是structstudent的別名intmain(void){structstudentJim;//定義別名后,原先的結(jié)構(gòu)體名稱也可以用STUTom;//相當(dāng)于structstudentTom;Tom.age=18;Jim.age20;return}課堂練習(xí)2:1.定義結(jié)構(gòu)使用typedef信(號門課的成績均分),定義結(jié)構(gòu)體變量并賦初值,輸出學(xué)生的信息。typedefstructstudent//student為結(jié)構(gòu)體名{intnum;intscore[3];floatavg;}STU;//STU是結(jié)構(gòu)體別名intmain(void){//當(dāng)于structstudentTomSTUTom={15,{90,95,80},83.3};int=0;printf("的序號是:%d\n",Tom.num);for(i=0;i<3;i++){printf("%d門的成績:%d\n",i+1,Tom.score[i]);5

}printf("均分是:%f\n",Tom.avg);return}2.定義結(jié)構(gòu)體(使用typedef的信(號、3門課的成績、平均分),從鍵盤輸入學(xué)生的信息,計算平均分,并出這個學(xué)生的信息。#defineSIZE3typedefstructstudent//student為結(jié)構(gòu)體名{intnum;intscore[SIZE];floatavg;}STU;//STU是結(jié)構(gòu)體別名intmain(void){//當(dāng)于structstudentTomSTUTom;int=0;Tom.avg=0;printf("輸入序號:");scanf("%d",&Tom.num);for(i=0;i<SIZE;i++){printf("輸入第%d門的成:",i+1);scanf("%d",&Tom.score[i]);Tom.avg+=求累加和}Tom.avg=Tom.avg/求平均分printf("的序號是:%d\n",Tom.num);for(i=0;i<3;i++){printf("%d門的成績:%d\n",i+1,Tom.score[i]);}printf("均分是:%f\n",Tom.avg);return}---------------------------------PM---------------------------------五、結(jié)構(gòu)體數(shù)組一個學(xué)生的信息我們知道怎么去存儲了----用結(jié)構(gòu)體那么全班50名學(xué)生的信息,我們怎么去存呢?-----使用結(jié)構(gòu)體數(shù)組1.定義結(jié)構(gòu)體數(shù)組的一般形式:1>明結(jié)構(gòu)體的時候就定義結(jié)構(gòu)體數(shù)組:6

struct結(jié)構(gòu)體名{成員列表}數(shù)組名[組長度];2>聲明一個結(jié)構(gòu)體類型(如structstudent然后再用此類型定義結(jié)構(gòu)體數(shù)組;結(jié)構(gòu)體類型數(shù)組名[組長度];demo:structstudent{intnum;intc_score;intps_score;floatavg;};structstudentclass3[5];//class3是結(jié)構(gòu)體數(shù)組名2.結(jié)構(gòu)體數(shù)組的初始化:結(jié)構(gòu)體類型數(shù)組名[組長度]={初值表列};structstudentclass2[3]={{10,90,95,92.5},{11,80,90,85.0},{12,100,90,95.5}};課堂練習(xí)3:1.有n個學(xué)生的信息(包括序號、成績成績的最高的學(xué)生,并輸出該學(xué)生的信息#include<stdio.h>#define5typedefstructstudent{intnum;intscore;}STU;intmain(void){STUclass3[N]{{10,90},{14,70},{8,95}};int=0;intmax=0;//存放成績最高所在的結(jié)構(gòu)體數(shù)組元素下標(biāo)for(i=1;i<N;i++){i

溫馨提示

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

評論

0/150

提交評論