教學(xué)目標:
1. 在學(xué)生自主學(xué)習(xí)的過程中,通過教師的點撥,使學(xué)生理解結(jié)構(gòu)的概念,掌握在C語言中聲明結(jié)構(gòu)的語法形式,明確聲明結(jié)構(gòu)應(yīng)注意的事項。在此基礎(chǔ)上,使學(xué)生能夠利用“結(jié)構(gòu)”這一數(shù)據(jù)存儲形式,解決實際問題。
2. 通過實踐與訓(xùn)練,使學(xué)生掌握聲明結(jié)構(gòu)變量與結(jié)構(gòu)數(shù)組的語法形式。
3. 在學(xué)生參與、練習(xí)、交流的過程中培養(yǎng)學(xué)生自主學(xué)習(xí)、探究新知的能力。
教學(xué)重點及難點:
聲明結(jié)構(gòu)的主要語法、聲明結(jié)構(gòu)變量與結(jié)構(gòu)數(shù)組的語法形式、訪問結(jié)構(gòu)成員的方法。
教學(xué)過程:
一、溫習(xí)舊知,導(dǎo)入新課
1.1 了解學(xué)情,把準切入點
復(fù)習(xí)變量的概念與作用
(課件:問題描述1)接受高二7班某個學(xué)生語文、數(shù)學(xué)、英語三門課的成績,計算總分與平均分。請說出利用C語言解決此問題的解決方案。
師:請同學(xué)們根據(jù)問題描述1提出你的解決方案。
生:可以設(shè)計五個變量,分別代表語文、數(shù)學(xué)、英語、總分、平均分,根據(jù)用戶輸入,計算總分與平均分。
師:(再思考)變量的作用是什么?如何聲明變量?
生:變量用于存儲數(shù)據(jù),聲明變量的語法是“數(shù)據(jù)類型變量名”
(設(shè)計思路)在這個環(huán)節(jié)中,引領(lǐng)學(xué)生復(fù)習(xí)“變量”的概念與作用,以及聲明變量的語法形式,同時強調(diào)在聲明變量時,一個變量只能對應(yīng)一種數(shù)據(jù)類型,為講解“結(jié)構(gòu)”的概念與作用進行鋪墊。
復(fù)習(xí)數(shù)組的概念與作用
(課件:問題描述2)接受高二7班35名學(xué)生語文、數(shù)學(xué)、英語三門課的成績,計算每名學(xué)生的總分與平均分。請說出利用C語言解決此問題的解決方案。
師:請同學(xué)們根據(jù)問題描述2提出你的解決方案。
生1:設(shè)計變量,根據(jù)用戶輸入進行計算。
生2:設(shè)計數(shù)組,利用循環(huán)結(jié)構(gòu)給數(shù)組賦值,再計算每個同學(xué)的總分與平均分。
師:第一位同學(xué)提出的解決方案在C語言中可行。第二位同學(xué)提出了用數(shù)組解決這個問題的方法,通過比較,優(yōu)選最佳方法,我們知道了第二位同學(xué)提出的方法優(yōu)于第一位同學(xué)的,非常好,我們可以利用循環(huán)結(jié)構(gòu)為數(shù)組賦值,每個數(shù)組元素代表一名同學(xué)的課程成績,同樣,我們還可以利用循環(huán)結(jié)構(gòu)計算每名同學(xué)的總分與平均分。
師:(再思考)數(shù)組的作用是什么?如何聲明數(shù)組,在聲明數(shù)組時應(yīng)注意哪些問題。
(設(shè)計思路)在這個環(huán)節(jié)中,引領(lǐng)學(xué)生復(fù)習(xí)“數(shù)組”的概念與作用,以及聲明數(shù)組的語法形式,同時強調(diào)在使用數(shù)組時,數(shù)組元素必須為同一類型,為講解“結(jié)構(gòu)”的概念與作用進行鋪墊。
1.2 小結(jié)復(fù)習(xí)情況,引出學(xué)習(xí)課題
師:(小結(jié))在前面師生交流的基礎(chǔ)上,總結(jié)變量和數(shù)組的作用是用于數(shù)據(jù)存儲,以便于隨時根據(jù)需要顯示數(shù)據(jù)或執(zhí)行數(shù)據(jù)操作。
(課件:問題描述3)接受高二7班一名同學(xué)的詳細信息,包括:學(xué)號、姓名、性別、年齡、語文成績、數(shù)學(xué)成績、英語成績、程序設(shè)計方法成績,并打印輸出成績單。請說出利用C語言解決此問題的解決方案。
生:設(shè)計8個變量,分別為字符型和浮點型,接受用戶輸入,利用輸出函數(shù)進行輸出。
(課件:問題描述4)再思考:接受高二7班35名同學(xué)的詳細信息,包括:學(xué)號、姓名、性別、年齡、語文成績、數(shù)學(xué)成績、英語成績、程序設(shè)計方法成績,并打印輸出成績單。請說出利用C語言解決此問題的解決方案。
生1:利用多維數(shù)組解決
師:(再思考)一個數(shù)組能夠解決這個問題嗎?我們在學(xué)習(xí)數(shù)組的時候強調(diào)數(shù)組元素必須為同一數(shù)據(jù)類型。
生2:設(shè)計兩個二維數(shù)組,其中一個二維數(shù)組存儲學(xué)生的學(xué)號、姓名、性別,為字符型,另一個二維數(shù)組存儲學(xué)生的成績,為浮點型,利用循環(huán)結(jié)構(gòu)接受學(xué)生的信息并進行計算。
師:(課件演示教師制作的解決方案動畫)
師:(分析)利用數(shù)組我們可以解決這個問題,但是實現(xiàn)起來比較繁瑣,而且無法從這兩個數(shù)組中看出數(shù)據(jù)之間的聯(lián)系,必須人為地記憶它們之間的聯(lián)系。因此我們需要這樣一種數(shù)據(jù)存儲形式,這種數(shù)據(jù)存儲形式是一種組合型數(shù)據(jù)類型,它可以存儲屬于同一實體的不同數(shù)據(jù)類型的眾多詳細信息,這就是我們今天要學(xué)習(xí)的課題“結(jié)構(gòu)”。
(設(shè)計思路)通過對問題描述4的分析,引出本節(jié)課的課題是“結(jié)構(gòu)”,使學(xué)生明確“結(jié)構(gòu)”也是一種數(shù)據(jù)存儲形式,我們可以利用“結(jié)構(gòu)”這一數(shù)據(jù)存儲形式更好地解決問題描述4。
二、點撥引導(dǎo),探索新知
2.1 通過課件展示與教師講解,使學(xué)生明確結(jié)構(gòu)的概念與作用
師:結(jié)構(gòu)是一種組合型數(shù)據(jù)類型,它一般由兩個或多個成員組成,形成一個獨立的邏輯單元。使用結(jié)構(gòu)可以存儲屬于同一實體的不同數(shù)據(jù)類型的眾多詳細信息。同一結(jié)構(gòu)的元素存儲在相鄰的內(nèi)存單元中,各元素所占內(nèi)存塊數(shù)取決于相應(yīng)的數(shù)據(jù)類型。
(設(shè)計思路)教師引領(lǐng)學(xué)生理解結(jié)構(gòu)的概念,以圖形方式描述結(jié)構(gòu)的概念(課件展示與板書)。
2.2 通過課件展示與教師講解,使學(xué)生掌握聲明結(jié)構(gòu)的語法形式
師:在講解的過程中,重點講解在聲明結(jié)構(gòu)時應(yīng)注意的事項:
(1)關(guān)鍵字struct的作用:告訴編譯器定義了一個新的結(jié)構(gòu)類型。
(2)structurename是結(jié)構(gòu)的名稱,結(jié)構(gòu)的命名規(guī)則與變量的命名規(guī)則相類似。
(3)datatype是C語言中任意一種有效的數(shù)據(jù)類型。
(4)variable1,variable2,variable3是結(jié)構(gòu)成員,結(jié)構(gòu)中的成員數(shù)目由實際要解決的問題確定。
生:練習(xí),聲明一個關(guān)于學(xué)生信息的結(jié)構(gòu),包含學(xué)生的學(xué)號、姓名、性別、年齡、語文成績、數(shù)學(xué)成績、英語成績、程序設(shè)計方法成績。
師:強調(diào)在書寫結(jié)構(gòu)時,注意語法要求,必須以關(guān)鍵字struct開頭,結(jié)構(gòu)成員必須放置在一對大括號中,結(jié)構(gòu)的聲明必須以分號結(jié)尾。
師:(實物投影)展示學(xué)生書寫的結(jié)構(gòu),分析問題,再次強調(diào)書寫語法時應(yīng)注意的問題。
(設(shè)計思路)通過教師詳盡的講解,配合課件展示,使學(xué)生掌握聲明結(jié)構(gòu)的語法形式,并能根據(jù)實際需要聲明結(jié)構(gòu)。
2.3 通過課件展示與教師講解,使學(xué)生掌握聲明結(jié)構(gòu)變量的語法形式
師:聲明結(jié)構(gòu)只是定義了結(jié)構(gòu)由什么組成,要想利用這個結(jié)構(gòu)解決實際問題,必須要聲明“結(jié)構(gòu)變量”。
(課件展示與講解):數(shù)據(jù)不能使用結(jié)構(gòu)名直接存儲,需要聲明一個此結(jié)構(gòu)類型的變量,利用這個結(jié)構(gòu)變量存儲、檢索和操縱各個結(jié)構(gòu)成員的數(shù)據(jù),聲明結(jié)構(gòu)變量與聲明變量的語法形式類似。
師:講解聲明結(jié)構(gòu)變量的語法形式。
生:練習(xí),聲明一個屬于關(guān)于學(xué)生結(jié)構(gòu)的結(jié)構(gòu)變量。
師:請一位同學(xué)到黑板前書寫,根據(jù)其書寫,強調(diào)聲明結(jié)構(gòu)變量需要注意的問題。
(設(shè)計思路)通過教師講解、學(xué)生練習(xí),使學(xué)生掌握聲明結(jié)構(gòu)變量的語法,明確結(jié)構(gòu)變量與結(jié)構(gòu)之間的關(guān)系,同時使學(xué)生掌握訪問結(jié)構(gòu)成員的方法。
2.4 通過提問與學(xué)生溝通,使學(xué)生掌握聲明結(jié)構(gòu)數(shù)組的語法
師:(提問)一個結(jié)構(gòu)變量可以代表一個學(xué)生的詳細信息,我們要收集多名同學(xué)的詳細信息,怎么辦?
生:利用數(shù)組。
師:我們要把結(jié)構(gòu)與數(shù)組結(jié)合起來使用,因此我們要聲明一個屬于結(jié)構(gòu)的結(jié)構(gòu)數(shù)組,聲明結(jié)構(gòu)數(shù)組的語法與聲明數(shù)組類似。教師講解聲明結(jié)構(gòu)數(shù)組的語法。
生:練習(xí),聲明一個屬于學(xué)生結(jié)構(gòu)的結(jié)構(gòu)數(shù)組,數(shù)組大小為35。
(設(shè)計思路)通過提問,使學(xué)生自己找到解決問題的方法,從而順利引出結(jié)構(gòu)數(shù)組的概念。
三、鞏固應(yīng)用,解決問題
師:現(xiàn)在我們回到問題描述4(展示課件)。
接受高二7班35名同學(xué)的詳細信息,包括:學(xué)號、姓名、性別、年齡、語文成績、數(shù)學(xué)成績、英語成績、程序設(shè)計方法成績,并打印輸出成績單。請說出利用C語言解決此問題的解決方案。
生:學(xué)生在筆記本上書寫主要C程序。
(1) 聲明學(xué)生結(jié)構(gòu);
(2) 聲明關(guān)于學(xué)生結(jié)構(gòu)的結(jié)構(gòu)數(shù)組;
(3) 利用循環(huán)結(jié)構(gòu),為結(jié)構(gòu)數(shù)組元素賦值。
師:(實物投影)展示學(xué)生書寫的C程序,分析問題,強調(diào)注意事項。
(設(shè)計思路)通過學(xué)生練習(xí)、教師進一步深入講解,使學(xué)生能夠利用結(jié)構(gòu)解決實際問題。
四、回顧總結(jié),深化認知
師:通過本節(jié)課的學(xué)習(xí),你學(xué)到了什么?
生1:聲明結(jié)構(gòu)的方法;
生2:結(jié)構(gòu)的作用;
生3:結(jié)構(gòu)變量與結(jié)構(gòu)數(shù)組的聲明方法與作用;
生4:能夠利用今天學(xué)習(xí)的知識解決數(shù)據(jù)收集中不同類型數(shù)據(jù)的存儲問題。
師:同學(xué)們總結(jié)的非常好,通過今天的學(xué)習(xí),我們學(xué)習(xí)了一種新的數(shù)據(jù)存儲形式,這種數(shù)據(jù)存儲形式是一種組合型數(shù)據(jù)類型,它可以包含多個成員,且多個成員可以分屬于不同的數(shù)據(jù)類型,這就是“結(jié)構(gòu)”,利用結(jié)構(gòu),我們可以更加靈活地解決在實際生活中遇到的問題。
(設(shè)計思路)通過讓學(xué)生自己總結(jié),使學(xué)生對本節(jié)課的學(xué)習(xí)有一個系統(tǒng)的認知,在總結(jié)的過程中,進一步明確結(jié)構(gòu)的概念與作用。