《C語言程序設計》教學內(nèi)容和方法之探索_第1頁
《C語言程序設計》教學內(nèi)容和方法之探索_第2頁
《C語言程序設計》教學內(nèi)容和方法之探索_第3頁
《C語言程序設計》教學內(nèi)容和方法之探索_第4頁
《C語言程序設計》教學內(nèi)容和方法之探索_第5頁
免費預覽已結(jié)束,剩余4頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、    c語言程序設計教學內(nèi)容和方法之探索    朱瑛摘要:開設c語言程序設計課程的指導思想是:通過掌握一門計算機語言,學會與計算機溝通交流,了解計算機解決問題的方式方法, 就類似我們掌握了自然語言,可以完整的表達自己的思想。關(guān)鍵詞:c語言程序設計;編程;方式方法;要素:g424 :a :1009-3044(2016)18-0097-02近年來c語言作為計算機語言在國內(nèi)外得到迅速推廣應用,在程序語言使用中排名第二,只和排行第一的java語言相差甚微。其功能豐富,表達力強,使用靈活方便,目標代碼運行效率高,兼有高級語言與低級語言的許多特點,幾乎所有操作系統(tǒng)

2、都支持c語言開發(fā)?!癱語言程序設計”在高校相關(guān)專業(yè)往往是編程的入門課,從“門外漢”變成“門內(nèi)漢”的過程不僅需要學習基礎(chǔ)概念、編程知識、編程方法,還需將自己的智慧轉(zhuǎn)換成計算機能夠識別的代碼,這個轉(zhuǎn)換過程需要我們學會用計算機的思維方式方法解決問題。所以,學習c語言、設計算法、編寫程序的教學,就是對學生進行思維方式引導和培養(yǎng)的過程。1 教學現(xiàn)狀c語言程序設計課程一般在大學低年級開設,該階段的學生大多數(shù)沒有編程基礎(chǔ),甚至于一些計算機的基礎(chǔ)知識也似是而非,僅停留在計算機的使用上,對于計算機能夠?qū)崿F(xiàn)各種操作的原因不了解。剛開始許多學生認為學習編程和學習應用軟件的使用一樣,在不長的時間內(nèi)就能夠成為編程“高手

3、”。而c語言程序設計作為編程的入門課,首先必須講授編程的一些基本概念,比如常量、變量、數(shù)據(jù)類型、運算符、表達式等。這些內(nèi)容相對顯得枯燥,部分性急的學生要耐心學習。因為這些內(nèi)容是編程的基礎(chǔ),需要學生深入掌握,由此對學生的心理就要有所把握。隨著教學內(nèi)容的推進,有些學生慢慢跟不上進度,課上聽得懂,但自己編程就不知從何入手,究其原因,其一是對算法沒有掌握,其二是對這門語言了解不夠。算法是編程的思路,有了算法,才可能寫出程序,如果學生對算法不理解或者掌握不夠,則直接影響編程。除此之外,如何將現(xiàn)成的算法用c語言描述出來,許多學生仍然不很熟悉。2 教學內(nèi)容與目的c語言的教學是從常量、變量、運算符、表達式等基

4、本概念開始,逐步引導學生進入與計算機溝通交流的初級階段。這不僅要使學生掌握這些基本概念,還需要讓學生理解這些就是編程的素材。c語言解決的所有問題最終都需要用語句來描述,而語句是由這些語言要素所構(gòu)成,怎樣把常量、變量、運算符、表達式靈活地組合成解決問題的語句,是編程的關(guān)鍵。類似我們把漢語的一個個單詞組合成表達特定含義的語句,c語言的常量、變量、運算符、表達式相當于詞匯,將它們組合成完成特定要求的語句。在結(jié)構(gòu)化編程中,學生只能從總體到具體,逐步細化、逐步分解,只有知道計算機能夠執(zhí)行什么后,才能寫出算法乃至程序。學習編程語言很難像學習漢語一樣,時時都有一個環(huán)境,只在課堂的時間接觸c語言,熟悉的進程必

5、然緩慢。課堂的作用僅在于接觸、理解,而真正掌握則需要自己盡可能多的應用所學知識。也就是我們常說的“c語言的編程能力不是看出來的 ,不是聽出來的,而是自己動手練出來的”。一個人知道很多漢語詞匯,但不能將它們連成通順的句子表達自己的思想,說明這個人表達能力不行。學習編程的過程中,如果只知道基本概念和知識,而不能靈活的用來解決問題,就沒有意義了,因為掌握基礎(chǔ)知識的目的是為了利用它們編寫程序,讓計算機完成我們交付的任務。3 教學方法和策略計算機只執(zhí)行程序,不能告訴我們?nèi)绾谓鉀Q問題。我們編寫程序,就需要考慮解決問題的思路和方法,并且讓這些思路和方法能夠在計算機上實現(xiàn),這就是設計算法、編程。教學過程中可以

6、使學生理解這些思路和方法,逐步接受計算機的思維方式,熟悉編程語言。3.1目標定位根據(jù)c語言的特點,將教學劃分為三個階段:第一階段是基本語言要素,包括常量與變量、數(shù)據(jù)類型與操作符、程序的基本結(jié)構(gòu)、數(shù)組與指針、函數(shù);第二階段是高級程序設計要素,包括結(jié)構(gòu)體、變量的作用域、模塊化程序設計、文件;第三階段是課程設計,要求學生解決一些實用的問題。第一階段的教學可以為每章列出一個提綱,指出重點和難點。例如,講授“操作符與表達式”時,重點強調(diào)c語言的許多語句都是通過表達式來描述,運輸符的優(yōu)先級和結(jié)合律是表達式的核心,如果牢記了運輸符的優(yōu)先級和結(jié)合律,在讀懂程序的過程中就可以做到事半功倍,而數(shù)據(jù)類型、變量、常量

7、則一帶而過。這樣既可以提高課堂效率,又避免學生因過于繁雜的內(nèi)容失去耐心。又如,講解數(shù)組與指針時,區(qū)分數(shù)組名與指針變量的相同與不同,許多學生還會糾結(jié)引入指針的必要性,但通過解釋類似郵件快遞的具體地址與慣常用名在收件速度上的不同,則增強學生對指針變量的理解??傊?,難易結(jié)合,通過簡單易懂的例子解釋復雜問題,需要死記硬背的基本概念則通過讀程序、改寫程序得以加強,由此為自己編寫程序打下良好的基礎(chǔ)。第二階段的教學是在學生已經(jīng)掌握基本語言要素的基礎(chǔ)上展開。這時可以延續(xù)前面的教學模式,用少量的時間對知識要點大致講述,不過多涉及細節(jié)問題,布置較大的案例程序進行分析和練習,總結(jié)所學知識。本階段要遵循循序漸進的原則

8、,先要求學生讀懂程序,再修改部分程序、觀察程序的運行結(jié)果,然后要求學生對解決類似的問題嘗試著編寫程序,最后擺脫開熟悉的命題,提出完全陌生的問題讓學生解決。第三階段是課程設計,教師提出的選題要能調(diào)動學生的興趣和參與熱情,既實用又不至于讓學生產(chǎn)生畏難情緒。例如,編寫學生學籍管理、輸出企業(yè)的人事管理等。該階段是對前期學習的總結(jié)。3.2設立案例庫案例庫的質(zhì)量將影響教學效果。因此案例必須:1)典型性,能夠覆蓋課程的相關(guān)知識點。2)實用性、趣味性,便于調(diào)動學生的興趣。3)針對性,要考慮到學生的接受能力。 4)系統(tǒng)性,案例間要相互聯(lián)系。例如,講解數(shù)組與指針的時,列舉了一個例子,給出利用下標法編寫的程序,要求

9、學生修改為利用指針編程。另外,提醒學生如何正確使用一維數(shù)組和二維數(shù)組。例題:已知5個學生3門課程的成績。求:(1) 每個學生平均成績;(2) 每門課程的平成績;(3) 總平均成績。思路:1) 定義二維數(shù)組score53存儲成績;2) 定義一維數(shù)組st_aver5存學生平均成績;3) 定義一維數(shù)組cu_aver3存課程平均成績;4) 定義變量aver存儲總平均成績。源程序:#includeint main() float score53;float st_aver5,cu_aver3;float sum,aver;int i,j,t;for(i=0;i<5;i+) printf(“inpu

10、t a shudent score:”);for(j=0;j<3;j+)scanf(“%f”,&scoreij); for(i=0;i<5;i+) sum=0;for(j=0;j<3;j+)sum=sum+scoreij;st_averi=sum/3;for(j=0;j<3;j+) sum=0;for(i=0;i<5;i+)sum=sum+scoreij;cu_averj=sum/5;sum=0;for(i=1;i<3;i+)sum=sum+cu_averi;aver=sum/3;for(i=0;i<5;i+)printf("%6.1

11、f",st_averi);printf("n");for(i=0;i<3;i+)printf("%6.1f",cu_averi);printf("n");printf("aver=%fn",aver);return 0;需要注意的是讓學生自己編程,除了布置課后作業(yè),課堂上的練習也非常必要。因為教師很難控制課后學生到底用了多長時間去編程或思考編程,但是讓他們在課堂上的練習又要占用大量時間,這和緊張的課時有沖突,作者認為比較折中的辦法是編程時教師多用板書,由此在板書過程中帶動學生跟著思考,部分代碼教師可

12、以特意空出來,告知學生這部分代碼要做什么事,然后可以由學生補充完整。3.3項目教學策略“大任務”與“小事件”是教學改革的核心。所謂“大任務”是指能夠結(jié)合大部分知識點,并具有實用性,它是學生在經(jīng)過c語言程序設計第一、二階段的學習后,必須完成的項目。所謂“小事件”是某個具體知識點,可以是語言要素,也可以是一小段典型案例(例如,選擇排序)。在整個教學過程中,“小事件”是“大任務”必要的準備,是實現(xiàn)“大任務”的基礎(chǔ);“大任務”是“小事件”的延伸和拓展,是“小事件”的綜合運用,兩者相輔相成。例如,在完成第一階段語言要素的講授后,就布置課程的綜合設計題目學生成績管理系統(tǒng)。將“大任務”分解成若干“小事件”,

13、并標注出每個“小事件”涉及的知識點、解決問題的思路和著重點,讓學生帶著任務去學習,使學生有目的的吸取知識,提供學習效率,然后通過這個項目,將所學知識整合起來,完成一個實用系統(tǒng)。由此讓學生認識到所學知識的意義,并更加激發(fā)其學習興趣。案例教學的目的就是要調(diào)動學生學習的主觀能動性,讓學生帶著問題去學習、探索,在尋找解決問題方案的過程中掌握知識。4 結(jié)論學生掌握了c語言的基本要素后,通過將“大任務”分解成若干“小事件”,以“小事件”講解為中心,對案例分析分解模擬設計模塊整合等幾個環(huán)節(jié)組織教學的案例驅(qū)動教學方法,有助于提高學生的學習興趣,有利于培養(yǎng)學生發(fā)散思維的能力?!癱語言程序設計”案例驅(qū)動教學模式是一種學生變被動學習為主動學習的有效方法,由于能夠理論聯(lián)系實際,讓學生帶著問題進入課程的學習,讓學生改變以往混學分的思想,對這門

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論