徐晨
【摘 要】 數組是C語言中非常重要的概念,通常學生在初次接觸到這一概念時感到很抽象。本文通過生活中常常接觸到的超市儲物柜與數組進行類比,將數組這一抽象概念與具體的物品建立聯系,再結合案例引出數組的定義、初始化和引用方法,以期提高C語言的教學效果。
【關鍵詞】 C語言;一維數組;教學設計
【中圖分類號】G64.26 【文獻標識碼】A 【文章編號】2095-3089(2016)22-0-01
1 引言
數組是相同數據類型的元素按一定順序排列的集合,就是把有限個類型相同的變量用一個名字命名,用編號區分這些變量的集合。這個名字稱為數組名,編號稱為下標,組成數組的各個變量稱為數組的元素。數組是C語言程序設計中非常重要的概念,學習數組的第一步是要掌握一維數組的定義、引用,以及初始化賦值方法。
2 教學方法簡述
(1)講授法
在理解數組的概念時需要使用講授法配合課件進行活潑、有趣的講解。在教學過程中切忌照本宣科,這樣容易讓學生感到厭煩和枯燥,課件應制作得美觀、生動,如選擇美觀大方的課件模板,結合節奏適宜的動畫,在舉例時盡量附上有關的圖片等。
(2)“教、學、做”三位一體教學法
對于出現的代碼示例,教師邊演示邊講解,學生隨后模仿學習、上機操作。既鍛煉了學生的實際動手能力,又使學生對所學知識有了更深刻的印象。
(3)協同學習法
由于學生學習水平有差異,基礎好的學生可以給基礎差的學生講解,學生之間傳遞的知識往往比老師傳授的更容易接受,這樣基礎差的學生有了初步的認識,基礎好的學生得到知識的鞏固。
3 教學過程設計
(1)教學引入
教師用超市中可以存儲東西的儲物柜類比C語言中的數組,提及柜子上有編號,為后面介紹數組的下標作鋪墊。
語言組織舉例:我們都見過超市的儲物柜,一排柜子上有編號,柜子中可以存儲東西,在C語言中也有類似的儲物柜——數組。
(2)數組的基本概念
教師將學過的概念——變量,比作小箱子,再將數組解釋為連著的小箱子,并且點出數組的重要特點——數組中的元素必須為相同的數據類型。
語言組織舉例:如果我們把變量比喻成小箱子,那么數組就是把這些小箱子都連起來。連起來的箱子的類型必須都是一樣的,這樣方便我們存儲一些同類型的內容。比如,每門課的考試分數裝入連著的一個個小箱子中,這些連著的小箱子就是一個數組。
教師用代碼段舉例不同類型的數組。例:
int array1[6];/*這個數組存的是整數,能存6個整數*/
float array2[6];/*這個數組存的是實數,能存6個實數*/
char array3[6];/*這個數組存的是字符,能存6個字符*/
(3)一維數組的定義
教師提問,能從上面的代碼段中總結出數組的定義方法嗎?
學生思考,通過觀察可以發現三個數組定義都是采用的數據類型 名字[數字]的格式,通過注釋可以猜測[]中的數字是數組能存放的數據個數。
教師分析并引出一維數組的定義方式:數據類型 數組名字[個數]
教師對定義語法進行解釋,數據類型就是int,float,char等,表示這個數組能裝什么類型的數據;數組名是自己取的,命名規則和變量名相同,并且要唯一,不能重復;中括號[]必須要有,[]中的數字是指這個數組能存幾個元素。
(4)一維數組的初始化
教師提問,int a=0;這句C程序語句進行了什么操作?
學生思考后回答,聲明int型變量a并對它賦初值。
教師將賦初值的概念引申到數組中,數組的初始化就好比變量賦初值。舉例,對“(2)數組的基本概念”中的數組進行初始化。例:
int array1[6]={0,1,2,3,4,5};
char array2[6]={ h,e,l, l,o,c};
float array3[6]={1.1,1.2,1.3,1.4,1.5,1.6};
(5)一維數組元素的引用
學生上機練習,結合“(4)一維數組的初始化”中的代碼段,在C程序中分別定義int型、char型、float型數組,并初始化。
學生在定義并初始化數組后,好奇數組是如何使用的,部分學生在嘗試直接修改數組內容后失敗。
教師解釋,數組只能在初始化時用{}賦值,此后想要再修改、讀取數組中的內容只能對數據中的某一個元素進行操作。引用數組元素的方式是數組變量名[下標],下標是有序的,類似儲物柜下面的編號,范圍從0到數組長度-1。教師引導學生寫出將array1第6個元素值修改為10的代碼。
學生思考寫出代碼:array1[5]=10;部分學生容易錯寫為array1[6]=10;程序報錯。
教師強調數組下標從0開始,最大下標應為長度-1。
教師提問,要想輸出整個數組中的內容,應該怎么辦呢?教師提示學生利用循環。
學生在教師提示下寫出代碼:
int i;
for(i=0;i<6;i++) printf(“%d”,a[i]);
(6)數組的一些獨特使用方法
教師介紹數組的一些獨特使用方法,學生上機驗證。
①往數組中存儲時可以只存一部分,例如:int a[6]={0,1,2};
②申請數組時可以不寫[]中的數字,例如:int a[]={0,1,2,3,4,5};
4 結束語
通常學生在初次接觸到數組這一概念時,感到很抽象,難以理解。本文通過生活中常常接觸到的超市儲物柜與數組進行類比,將數組這一抽象概念與具體的物品建立聯系,再結合案例引出數組的定義、初始化和引用方法這樣的教學設計,將教學內容自然串聯起來,步步深入,教學流程設計上符合認知規律,學生學習起來更加輕松。
參考文獻:
[1] 王宏旭. C程序設計中的數組的教學設計[J]. 信息技術與信息化, 2015(7): 122-123.
[2] 程妮. C語言中冒泡排序算法的教學設計與分析[J]. 現代計算機, 2016(10): 59-63.
[3] 戴青云. VB教學中數組案例教學設計[J]. 科學中國人, 2014(11): 115-116.