- 相關(guān)推薦
C語言指針教學(xué)
導(dǎo)語:學(xué)習指針是學(xué)習C語言中最重要的一環(huán),能否正確理解和使用指針是學(xué)生是否掌握C語言的一個標志。下面就由小編為大家介紹一下C語言指針教學(xué),歡迎大家閱讀!
一、引言
指針是C語言中廣泛使用的一種數(shù)據(jù)類型,運用指針編程是C語言最主要的風格之一。正確而靈活地運用它,可以有效地表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu);能動態(tài)分配內(nèi)存;能方便地使用字符串;有效而方便地使用數(shù)組;在調(diào)用函數(shù)時能得到多于1個的值;并能像匯編語言一樣處理內(nèi)存地址,從而變出精練而高效的程序等,這對設(shè)計系統(tǒng)軟件是很必要的。掌握指針的應(yīng)用,可以使程序簡潔、緊湊、高效。指針極大地豐富了C語言的功能。每一個學(xué)習和使用C語言的人,都應(yīng)當深入地學(xué)習和掌握指針。可以說,不掌握指針就是沒有掌握C語言的精華。
二、教學(xué)現(xiàn)狀
高職學(xué)生的基礎(chǔ)普遍較差,數(shù)學(xué)與英語基礎(chǔ)較為薄弱,在碰到程序邏輯思維分析,程序代碼編寫及調(diào)試的過程中,往往會感到困難,這是高職C語言課程教學(xué)中的共性問題。學(xué)習指針是學(xué)習C語言中最重要的一環(huán),能否正確理解和使用指針是學(xué)生是否掌握C語言的一個標志。同時,指針也是C語言中最為困難的一部分,學(xué)生很難正確理解基本概念,就指針的教學(xué)談?wù)勛约旱南敕ā?/p>
三、教學(xué)方法
1、情景創(chuàng)設(shè)教學(xué)法。課堂教學(xué)是獲取知識和技能的主要陣地,應(yīng)當成為培養(yǎng)學(xué)生獨立思考的搖籃。情景創(chuàng)設(shè)教學(xué)方法把學(xué)習設(shè)置到簡單的、有意義的問題情境中,學(xué)生通過互相合作來解決這些問題,發(fā)現(xiàn)隱含于問題背后的科學(xué)知識,形成讓學(xué)生掌握解決問題的技能和提高自主學(xué)習的能力。例如,講解指針的基本概念,計算機中的所有數(shù)據(jù)都是順序存放在存儲器中的。一般把存儲器中的一個字節(jié)稱為一個內(nèi)存單元,不同數(shù)據(jù)類型的值所占用的內(nèi)存單元數(shù)亦不同。為了正確地訪問這些內(nèi)存單元。內(nèi)存單元的編號也叫地址,通常也把這個地址稱為指針。內(nèi)存單元的指針和內(nèi)存單元的內(nèi)容是兩個不同的概念。為讓學(xué)生掌握并理解內(nèi)存單元的指針和內(nèi)存單元的內(nèi)容,我采用了情景創(chuàng)設(shè)的教學(xué)方法。我們到銀行去存、取款時,銀行工作人員將根據(jù)我們的賬號去查找存款單,找到之后在存單上寫入存款、取款的金額。在這里,賬號就是存單的指針,存款數(shù)就是存單的內(nèi)容。這樣就能讓學(xué)生明白內(nèi)存單元的指針和內(nèi)存單元的內(nèi)容之間的關(guān)系了。
2、主動探索、協(xié)作學(xué)習教學(xué)法。根據(jù)已有信息,從不同角度、不同方向思考問題,從多方面尋求多樣性答案的一種思維形式,是主動探索的教學(xué)方法。為走出傳統(tǒng)教學(xué)中的泥灘,教師應(yīng)轉(zhuǎn)變教學(xué)觀念,砸碎應(yīng)試教育的模式和框架,克服單純傳授知識的傾向,注重順向思維、逆向思維、多向思維的訓(xùn)練,培養(yǎng)學(xué)生思維的深刻性、批判性和創(chuàng)新性。具體來講,就是要通過挖掘教材中能一題多解、一法多用、一題多變的教學(xué)內(nèi)容,來引導(dǎo)學(xué)生主動探索,使他們的思考朝多種方向擴散,提出各種設(shè)想、多種解答。在指針教學(xué)中還可以進行協(xié)作學(xué)習中培養(yǎng)學(xué)生們的思維。協(xié)作學(xué)習是在解題中,盡可能利用自己已有的知識和經(jīng)驗與同學(xué)一起討論,將不同的方法進行比較,從中確定出最佳方案。在教學(xué)中,引導(dǎo)學(xué)生從不同方向利用其他學(xué)科的理論,開闊思路,找出解決問題的多種方法。然后在眾多的解法中,經(jīng)過歸納、判斷和比較,最終得出一個最優(yōu)化的結(jié)論。比如在教學(xué)生如何通過指針引用數(shù)組元素,先請學(xué)生協(xié)作學(xué)習開闊思路用不同方法編寫“輸出數(shù)組中的全部元素”程序。
方法一:下標法
方法二:通過數(shù)組名計算數(shù)組元素地址,找出元素的值
方法三:用指針變量指向數(shù)組元素
通過該教學(xué)方法,這個知識點學(xué)生掌握得很好,找出解決問題的多種方法,能深刻地、高水平地掌握知識,并能把這些知識廣泛應(yīng)用到學(xué)習新知識的過程中,舉一反三,提高了對知識的理解能力,使學(xué)習活動順利進行。
3、游戲案例導(dǎo)入教學(xué)法
在指針教學(xué)中通過游戲案例導(dǎo)入教學(xué)法可以營造學(xué)生獨立思考的心理氛圍。在分析指向多維數(shù)組的指針和指針變量中的“多維數(shù)組的地址”知識點,我先請同學(xué)做游戲,一個當“排長”,三個當“班長”,十二個當“戰(zhàn)士”,游戲是:有一個排,下設(shè)3個班,每個班有4名戰(zhàn)士。規(guī)定排長只管理到班,班長管理戰(zhàn)士。在排長眼里只有第0、1、2班。排長從第0班的起始位置走到第1班的起始位置,看來只走了一步,但實際上他跳過了4名戰(zhàn)士。為了找到某一班內(nèi)某一個戰(zhàn)士,必須給兩個參數(shù),即第i班第j個戰(zhàn)士,先找到第i班,然后由該班班長在本班范圍內(nèi)找第j個戰(zhàn)士。這個戰(zhàn)士的位置就是a[i]+i.。開始時班長面對第0個戰(zhàn)士。注意,排長和班長的初始位置是相同的。但他們的“指向”是不同的。排長“指向”班,他走一步就跳過1個班,而班長“指向”戰(zhàn)士,走一步只是指向下一個戰(zhàn)士。可以看到排長是“宏觀管理”,只管班,班長則是“微觀管理”,管理到戰(zhàn)士。如果要找第1班第2個戰(zhàn)士,則先由排長找到第1班的班長,然后,由班長在本班范圍內(nèi)找到第2個戰(zhàn)士。二維數(shù)組a相當于排長,每一行(即一維數(shù)組a[0]、a[1]、a[2])相當于班長,每一行中的元素(如a[1][2])相當于戰(zhàn)士。
請同學(xué)們打開書,仔細看插圖,邊看邊想:誰是排長?班長在哪兒?管多少個戰(zhàn)士?
這段游戲?qū)氚沿灤┤牡木索用三個問題串起來,讓學(xué)生從靜態(tài)的圖中找答案,思考、討論結(jié)果。這一過程學(xué)生的思維也是最活躍的,對問題的思考是深入而全方位的,這些問題激發(fā)了學(xué)生們的心理驅(qū)動力,在討論爭議中,讓學(xué)生迸發(fā)出創(chuàng)新思維的火花。
四、總結(jié)
指針是C語言的精髓,不能熟練地使用指針,就不算學(xué)會了C語言。在教學(xué)過程中我采用多種新型教學(xué)方法與學(xué)習方法的綜合運用,能讓學(xué)生掌握指針編程,編寫高質(zhì)量的程序。從實踐看,學(xué)生學(xué)習指針的興趣的培養(yǎng),并不是一朝一夕,一蹴而就的,這需要我們教師不斷地摸索,努力地更新傳統(tǒng)的教學(xué)觀念,適時地抓住課堂教學(xué)的點滴契機,啟發(fā)引導(dǎo),讓學(xué)生在學(xué)習中不斷創(chuàng)造,在創(chuàng)造中不斷學(xué)習。
【C語言指針教學(xué)】相關(guān)文章:
C語言指針的概念08-20
C語言的指針類型詳解05-21
如何理解C語言指針05-19
C語言中的指針是什么08-08
如何使用C語言數(shù)組指針09-14
C語言復(fù)雜指針是什么08-15
C語言中指針的概念03-16
C語言指針知識點10-10