當前位置:學者齋 >

計算機 >C語言 >

C語言指針教學

C語言指針教學

導語:學習指針是學習C語言中最重要的一環,能否正確理解和使用指針是學生是否掌握C語言的一個標誌。下面就由小編為大家介紹一下C語言指針教學,歡迎大家閲讀!

C語言指針教學

  一、引言

指針是C語言中廣泛使用的一種數據類型,運用指針編程是C語言最主要的風格之一。正確而靈活地運用它,可以有效地表示覆雜的數據結構;能動態分配內存;能方便地使用字符串;有效而方便地使用數組;在調用函數時能得到多於1個的值;並能像彙編語言一樣處理內存地址,從而變出精練而高效的程序等,這對設計系統軟件是很必要的。掌握指針的應用,可以使程序簡潔、緊湊、高效。指針極大地豐富了C語言的功能。每一個學習和使用C語言的人,都應當深入地學習和掌握指針。可以説,不掌握指針就是沒有掌握C語言的精華。

  二、教學現狀

高職學生的基礎普遍較差,數學與英語基礎較為薄弱,在碰到程序邏輯思維分析,程序代碼編寫及調試的過程中,往往會感到困難,這是高職C語言課程教學中的共性問題。學習指針是學習C語言中最重要的一環,能否正確理解和使用指針是學生是否掌握C語言的一個標誌。同時,指針也是C語言中最為困難的一部分,學生很難正確理解基本概念,就指針的教學談談自己的想法。

  三、教學方法

1、情景創設教學法。課堂教學是獲取知識和技能的主要陣地,應當成為培養學生獨立思考的搖籃。情景創設教學方法把學習設置到簡單的、有意義的問題情境中,學生通過互相合作來解決這些問題,發現隱含於問題背後的科學知識,形成讓學生掌握解決問題的技能和提高自主學習的能力。例如,講解指針的基本概念,計算機中的所有數據都是順序存放在存儲器中的。一般把存儲器中的一個字節稱為一個內存單元,不同數據類型的值所佔用的內存單元數亦不同。為了正確地訪問這些內存單元。內存單元的編號也叫地址,通常也把這個地址稱為指針。內存單元的指針和內存單元的內容是兩個不同的概念。為讓學生掌握並理解內存單元的指針和內存單元的內容,我採用了情景創設的教學方法。我們到銀行去存、取款時,銀行工作人員將根據我們的賬號去查找存款單,找到之後在存單上寫入存款、取款的金額。在這裏,賬號就是存單的指針,存款數就是存單的內容。這樣就能讓學生明白內存單元的指針和內存單元的`內容之間的關係了。

2、主動探索、協作學習教學法。根據已有信息,從不同角度、不同方向思考問題,從多方面尋求多樣性答案的一種思維形式,是主動探索的教學方法。為走出傳統教學中的泥灘,教師應轉變教學觀念,砸碎應試教育的模式和框架,克服單純傳授知識的傾向,注重順向思維、逆向思維、多向思維的訓練,培養學生思維的深刻性、批判性和創新性。具體來講,就是要通過挖掘教材中能一題多解、一法多用、一題多變的教學內容,來引導學生主動探索,使他們的思考朝多種方向擴散,提出各種設想、多種解答。在指針教學中還可以進行協作學習中培養學生們的思維。協作學習是在解題中,儘可能利用自己已有的知識和經驗與同學一起討論,將不同的方法進行比較,從中確定出最佳方案。在教學中,引導學生從不同方向利用其他學科的理論,開闊思路,找出解決問題的多種方法。然後在眾多的解法中,經過歸納、判斷和比較,最終得出一個最優化的結論。比如在教學生如何通過指針引用數組元素,先請學生協作學習開闊思路用不同方法編寫“輸出數組中的全部元素”程序。

方法一:下標法

方法二:通過數組名計算數組元素地址,找出元素的值

方法三:用指針變量指向數組元素

通過該教學方法,這個知識點學生掌握得很好,找出解決問題的多種方法,能深刻地、高水平地掌握知識,並能把這些知識廣泛應用到學習新知識的過程中,舉一反三,提高了對知識的理解能力,使學習活動順利進行。

3、遊戲案例導入教學法

在指針教學中通過遊戲案例導入教學法可以營造學生獨立思考的心理氛圍。在分析指向多維數組的指針和指針變量中的“多維數組的地址”知識點,我先請同學做遊戲,一個當“排長”,三個當“班長”,十二個當“戰士”,遊戲是:有一個排,下設3個班,每個班有4名戰士。規定排長只管理到班,班長管理戰士。在排長眼裏只有第0、1、2班。排長從第0班的起始位置走到第1班的起始位置,看來只走了一步,但實際上他跳過了4名戰士。為了找到某一班內某一個戰士,必須給兩個參數,即第i班第j個戰士,先找到第i班,然後由該班班長在本班範圍內找第j個戰士。這個戰士的位置就是a[i]+i.。開始時班長面對第0個戰士。注意,排長和班長的初始位置是相同的。但他們的“指向”是不同的。排長“指向”班,他走一步就跳過1個班,而班長“指向”戰士,走一步只是指向下一個戰士。可以看到排長是“宏觀管理”,只管班,班長則是“微觀管理”,管理到戰士。如果要找第1班第2個戰士,則先由排長找到第1班的班長,然後,由班長在本班範圍內找到第2個戰士。二維數組a相當於排長,每一行(即一維數組a[0]、a[1]、a[2])相當於班長,每一行中的元素(如a[1][2])相當於戰士。

請同學們打開書,仔細看插圖,邊看邊想:誰是排長?班長在哪兒?管多少個戰士?

這段遊戲導入把貫穿全文的線索用三個問題串起來,讓學生從靜態的圖中找答案,思考、討論結果。這一過程學生的思維也是最活躍的,對問題的思考是深入而全方位的,這些問題激發了學生們的心理驅動力,在討論爭議中,讓學生迸發出創新思維的火花。

  四、總結

指針是C語言的精髓,不能熟練地使用指針,就不算學會了C語言。在教學過程中我採用多種新型教學方法與學習方法的綜合運用,能讓學生掌握指針編程,編寫高質量的程序。從實踐看,學生學習指針的興趣的培養,並不是一朝一夕,一蹴而就的,這需要我們教師不斷地摸索,努力地更新傳統的教學觀念,適時地抓住課堂教學的點滴契機,啟發引導,讓學生在學習中不斷創造,在創造中不斷學習。

標籤: 指針 教學 語言
  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-hk/jsj/cyuyan/2rxll.html