999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

“C語言程序設(shè)計”課程指針的教學(xué)設(shè)計

2019-04-17 13:00:46馬振嬰
科教導(dǎo)刊 2019年7期

馬振嬰

摘 要 《C語言程序設(shè)計》課程的指針概念抽象晦澀,且容易混淆。在教學(xué)中引入游戲、動畫加強課程的趣味性,并采用漸進式、對比式和啟發(fā)式方法,提高學(xué)生的主動參與性。關(guān)卡式實驗設(shè)計和程序改錯練習(xí)鞏固了學(xué)生的編程能力。

關(guān)鍵詞 指針 C語言 內(nèi)存地址 數(shù)組 函數(shù)

中圖分類號:G424 文獻標識碼:A DOI:10.16400/j.cnki.kjdks.2019.03.047

Abstract In "C programming" course, pointer is abstract, obscure and confusing. Games and animation are used to make the course more interesting, and the progressive, contrast and heuristic methods are applied in order to promote the students' active participation. Level-by-level checkpoint experiment and error-correction practice can improve the students' programming ability.

Keywords pointer; C Language; computer memory; array; function

0 引言

“c語言程序設(shè)計”的課程內(nèi)容中,指針是公認的難點。原因之一是學(xué)生無法理解內(nèi)存地址和存儲計算的概念,原因之二是傳統(tǒng)的教學(xué)方法生動性和系統(tǒng)性不足。因此,學(xué)生們對這個章節(jié)有畏難情緒,學(xué)習(xí)積極性極低。針對上述情況,筆者進行了教學(xué)和實踐環(huán)節(jié)的一些設(shè)計,以求拋磚引玉,與大家共勉。

1 課堂教學(xué)環(huán)節(jié)設(shè)計

1.1 內(nèi)存地址和存儲計算

傳統(tǒng)教材對計算機內(nèi)部數(shù)據(jù)存儲和計算過程的敘述比較抽象和枯燥,因此筆者設(shè)計了以游戲的方式來增進學(xué)生對這部分內(nèi)容的興趣。用一個分格的紙盒模擬內(nèi)存,每個格子用二進制地址編號;用卡片代表變量,卡片上寫上變量名和變量值。學(xué)生們兩個人為一組。一個同學(xué)隨機喊出指令,另一個同學(xué)做出相應(yīng)的動作。例如指令是“int a=0;”同學(xué)必須新建名字為a值為0的卡片放入隨機空格里。指令是“return 0;” 必須把所有的卡片都從格子中取出?!拜敵?a的值;”指令對應(yīng)著念出a變量存放格子的地址。“++*a”指令對應(yīng)著把a變量卡片上的值加1。一輪20條指令,然后再交換角色進行。這個游戲反復(fù)多加練習(xí),有助于同學(xué)們區(qū)分變量名,變量值和地址的概念。

1.2 指針和數(shù)組

這部分教學(xué)采用循序漸進的方法,從指針操作一維數(shù)組逐漸遞進到二維數(shù)組。

1.2.1 指針與一維數(shù)組

對方格和卡片游戲進行升級。由普通變量卡片的隨機空格存放,變?yōu)閿?shù)組變量卡片的順序存放,數(shù)組變量卡片存放的格子連續(xù)編址。另外開辟空格存放指針變量卡片,并涂上不同的顏色區(qū)分。游戲中用到的指令增加了定義指針變量、指針變量賦值、指針運算以及用指針取用一維數(shù)組元素等等操作。

在游戲的基礎(chǔ)上,在課上用動畫的方式給大家演示用循環(huán)控制指針使一維數(shù)組的元素逆序存放,以及一維數(shù)組排序經(jīng)典算法的運算過程。動畫和游戲給同學(xué)們帶來了更直觀更生動的體驗。

1.2.2 指針與二維數(shù)組

二維數(shù)組的知識點中出現(xiàn)了更多的易混淆概念,宜采用對比法進行教學(xué)。

(1)一級地址和二級地址。在二維數(shù)組中,內(nèi)存編址變得更加復(fù)雜,出現(xiàn)了行地址、一級地址和二級地址。數(shù)組名(指向行地址的地址)為一級地址,行地址(指向元素的地址)為二級地址。因此在游戲中增加行指針,一級地址和二級地址的模擬。用二維方格表示二維數(shù)組(邏輯結(jié)構(gòu)),用紅色標記一級地址,藍色標記二級地址,并分別模擬指針的縱向(沿行)移動和橫向(沿列)移動。

(2)邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。二維數(shù)組在計算機內(nèi)存中的存儲是一維線性的,但是在邏輯上卻表示為m行n列的矩陣形式。這是必須讓學(xué)生明確區(qū)分開的兩個概念。虛擬的行地址是物理結(jié)構(gòu)向邏輯結(jié)構(gòu)轉(zhuǎn)化的關(guān)鍵。在學(xué)生能夠辨別指針中存儲的是一級還是二級地址后,開始加入邏輯(二維)模式和物理(一維)模式地址之間的相互轉(zhuǎn)化練習(xí),即邏輯模式下的i行j列元素地址對應(yīng)物理模式下的第i*M+j個元素。

(3)綜合范例演示:用動畫演示用指針操作二維數(shù)組轉(zhuǎn)置的過程。

1.3 指針和函數(shù)

這部分的重點是指針做函數(shù)的參數(shù)。采用漸進和對比教學(xué)法,以及啟發(fā)式討論法。先給出兩個完成相同功能的程序,結(jié)構(gòu)都是主函數(shù)加一個子函數(shù)。兩個程序的子函數(shù)分別采用普通變量做參數(shù),以及指針做參數(shù)。提出以下問題并引導(dǎo)學(xué)生分組討論:(1)函數(shù)聲明及定義時形參寫法的區(qū)別。(2)函數(shù)調(diào)用時實參數(shù)據(jù)類型的區(qū)別。(3)傳遞數(shù)組地址和傳遞數(shù)組單元素的區(qū)別。(4)函數(shù)體內(nèi)部對形參處理方式的區(qū)別。(5)函數(shù)計算結(jié)果返回方式的區(qū)別。學(xué)生完成分組討論后,做得好的小組給予表揚和獎勵,并在全班同學(xué)面前進行展示,最后由教師點評。

2 實驗教學(xué)環(huán)節(jié)設(shè)計

2.1 關(guān)卡式

指針與數(shù)組的實驗設(shè)計成關(guān)卡式,共三個關(guān)卡,由簡單到復(fù)雜。實驗內(nèi)容是掃雷游戲的模擬(布雷過程)。

(1)一維區(qū)域布雷。在個一維格子(用一維數(shù)組模擬)里隨機布m個雷,有雷的格子用*表示,無雷的格子用#表示。如圖1。這一關(guān)學(xué)生可以初步體驗通過指針移動取用數(shù)組元素的原理。

(2)生成對應(yīng)的數(shù)值矩陣,有雷的格子記9,無雷的格子記該格周圍(左右)所有格子中的雷的數(shù)量。如圖2 。這一關(guān)加強指針對一維數(shù)組的操作練習(xí)。

(3)二維區(qū)域布雷。從n個元素的一維格子拓展到n*n的二維格子。布雷的規(guī)則同關(guān)卡1和關(guān)卡2,但計算格子周邊的雷數(shù)目的算法更加復(fù)雜。如圖3和圖4。這一關(guān)學(xué)生練習(xí)用指針操作二維矩陣行,列元素。

2.2 對比式(函數(shù))

指針做函數(shù)參數(shù)的編程錯誤率高,容易打擊學(xué)生的信心。因此采用程序改錯法,使學(xué)生先了解易錯的地方,然后再進行正式編程。

改錯范例:用指針做函數(shù)參數(shù)的方式實現(xiàn)數(shù)組的每個元素加1 。

#include

#define N 3

void addone(float * g); //易錯點1

int main()

{

float number[N]={60,75,80};

addone(number); //易錯點2

for(int i=0;i

printf(“%.3f\n”,number[i]);

}

void addone(float * g)

{

for(int i=0;i

(*(g+i))++; //易錯點3

}

在以上三個易錯點,模擬各種出錯的可能,反復(fù)讓學(xué)生進行程序調(diào)試和改錯。然后再讓學(xué)生改寫這個范例,用void addone(float g[])和float addone(float g)的形式實現(xiàn)同樣的功能。

3 教學(xué)效果及結(jié)論

《指針》章節(jié)的單元小測平均分為65.326,比去年提高了7.1%。實驗報告8分以上的同學(xué)人數(shù)占比提高10%。藍墨云答疑活動的參與人數(shù)和問題數(shù)量分別增加22%和36%。由此可證本文所述教學(xué)設(shè)計取得了一定的成效,但是仍需要進一步提高教學(xué)方式和實驗內(nèi)容的豐富性、趣味性和系統(tǒng)性。

參考文獻

[1] 霍艷玲,王黨利.c語言中指針使用技巧探[J].邢臺職業(yè)技術(shù)學(xué)院學(xué)報,2006.23(5):71-73.

[2] 王必晴.論c語言指針的啟發(fā)式教學(xué)[J].福建電腦,2010(8):40-42.

主站蜘蛛池模板: 狠狠色噜噜狠狠狠狠色综合久| 99视频精品在线观看| 精品国产成人a在线观看| 永久免费无码成人网站| 99精品热视频这里只有精品7| 国产成人高清精品免费| 国产精品视频观看裸模| 国产成人免费观看在线视频| 97se亚洲综合不卡| 久无码久无码av无码| 亚洲欧州色色免费AV| 最新亚洲av女人的天堂| 最新国产高清在线| 亚洲愉拍一区二区精品| 大香伊人久久| 欧美精品v| 黄色网页在线播放| 国产久操视频| 91国内在线观看| a级毛片一区二区免费视频| 91美女视频在线| 亚洲中文字幕在线一区播放| 亚洲天堂网在线视频| 91亚洲视频下载| 一区二区日韩国产精久久| 最新亚洲人成网站在线观看| 亚洲无码高清一区二区| 亚洲久悠悠色悠在线播放| 亚洲免费福利视频| 国产自在线拍| 久久综合激情网| 国内精自视频品线一二区| 国产91丝袜在线播放动漫| 成人亚洲天堂| 日韩精品少妇无码受不了| 高清无码手机在线观看| 欧美国产日韩在线| 伊人久久综在合线亚洲91| 99精品一区二区免费视频| 制服丝袜 91视频| 广东一级毛片| 欧美一级黄色影院| 欧美一级爱操视频| 国产色爱av资源综合区| 成人无码一区二区三区视频在线观看 | 亚洲欧美极品| 国产免费看久久久| 久久伊人色| 欧洲免费精品视频在线| 国产爽妇精品| 日韩在线永久免费播放| 精品一区二区三区四区五区| 日韩在线欧美在线| 久久窝窝国产精品午夜看片| 亚洲人成亚洲精品| 热99精品视频| 久久黄色视频影| 亚洲国产综合第一精品小说| 国产精品女主播| 国产第二十一页| 亚洲一区毛片| 无码免费视频| 亚洲色图综合在线| 精品自拍视频在线观看| 亚洲美女AV免费一区| 毛片久久久| 日韩欧美中文在线| 欧美色综合网站| 波多野结衣二区| 国产综合网站| 欧美亚洲中文精品三区| 91精品免费高清在线| 四虎永久免费网站| 99这里精品| a级毛片免费网站| 国产一在线观看| 婷婷99视频精品全部在线观看| 韩国自拍偷自拍亚洲精品| 久久人人97超碰人人澡爱香蕉| 天天综合网亚洲网站| 热re99久久精品国99热| 精品99在线观看|