陳瓊

摘 要:《C語言程序設計教程》是理工類及計算機專業的一門重要基礎課程,是《數據結構》、《軟件工程》等課程的前趨課程。為適應計算機技術的應用和發展,以引導學生自主思考和解決問題為目的,培養學生的C語言編程能力對于提高學生的計算機水平具有重要的作用。本文對“通過以具體案例為導向,采用計算思維的方法來解決問題的教學模式”進行了探討,以提高C語言的教學質量。
關鍵詞: 《C語言程序設計》 程序案例 計算思維 流程圖
1.引言
《C語言程序設計》課程的實踐性是很強的,理論聯系實際是這門課的特點,怎樣利用所學理論知識解決實際問題是學習這門課的重點,也是難點。多年的教學實踐表明,在教學過程中使用計算思維的方法解決問題,對培養學生的綜合應用能力是有益的,通過使用流程圖描述算法,學生將更好地理解和掌握結構化程序設計方法。
2.教學中充分調動學生學習的積極性
學生只有對C語言程序有濃厚的興趣,才會積極和創造性地學習。可從以下幾個方面探討:
(1)強調學生學習C語言的重要性。突出教學重點,使學生明確學習任務。在首次課堂教學中,教師一定要向學生講解清楚C語言課程的教學目標(為什么學習編程或程序設計)。對于C語言程序設計課程的教學目標,可有如下三方面的講解,學習基本的編程知識、培養求解問題的能力和具備一定的創新素質。知識的傳授和學習應融入問題求解中;問題求解能力是創新的基礎。
(2)結合《C語言全國計算機等級考試》的試題庫進行教學,學生學習起來更有動力。試題庫包括筆試試題庫和上機試題庫。試題庫按章節分類,題目類型以程序設計為主。筆試題型有單項選擇、程序分析、程序填空、程序改錯和程序設計,上機題型有程序改錯、程序填空和程序設計。
(3)利用Visual c++6.0工具進行C語言程序教學,培養學生的學習興趣。VC是一種基于Windows操作系統的可視化集成開發環境,是廣泛使用的一種開發工具。VC程序的兩種模式是WINAPI方式和MFC方式。應用這兩種模式能夠有效提高教學質量,激發學生的學習興趣。
3.教學內容的設置
上課內容安排不盡合理,對于實踐教學環節重視不夠,難以提高學生的積極性。教師應理論聯系實際,注重編程實現的示范性,讓學生清楚地看到教師編寫代碼和程序調試的過程和運行結果。上課安排內容應包括兩部分:一部分為學習基本知識,對基礎知識的理解和掌握。另一部分是理論聯系實際,對實際案例問題的分析引導學生,并且案例留有思考空間,使學生舉一反三,培養學生創造性思考的能力。比如在第一次課告訴學生C語言的十四種語句,既讓學生對C語言有全面的認識,又消除學生對C語言的畏難情緒。C語言的語句概括起來只有十四種,即定義變量語句、賦值語句、返回語句、函數聲明語句、函數調用語句、分支(選擇)語句(共三種分支語句)、循環語句(共三種循環語句)、break語句、Conitnue語句和復合語句。所有的C程序,都是由其中的某些語句組成的。在具體介紹這些語句的時候,一定要完整清楚地列出各種語句的語法格式。以后講C程序的時候,會提問學生這個程序中包含哪些C語句,學生比較容易看明白C程序的語句組成,幫助學生很快讀懂程序,有利于改正學生編寫程序時的常見語法錯誤。
4.實驗指導書建設
學習C語言的很多學生都認為概念易懂,程序難寫,其實主要是缺乏足夠的實踐和練習。依據主教材結構和實際需要,上機課結合課本《C語言程序設計上機指導》進行相關和有趣的案例的程序運行。學生分析算法、畫出流程圖到寫出程序,并親自運行出結果,會給學生很大的成就感。要將計算思維的方法應用到程序設計,設計各種算法以實現功能,并拓寬思路,掌握C語言的概念和編程方法。
5.案例設計與計算思維相結合
學習C語言,目的不是僅僅懂得一門程序設計語言,更重要的是讓學生的編程思維得到鍛煉和提高。C語言學習分成以下三個循序漸進的部分:第一部分是入門,主要介紹C語言程序的基本結構、數據的表達方式、基本表達式語句、C語言程序的運行方式等。這部分可以設計由簡單表達式語句組成的按順序執行的程序。第二部分是程序的基本結構,主要介紹程序設計的簡單算法表示方法,分支結構和循環結構。這部分能用計算思維的方法,設計簡單的算法,根據算法編寫程序,掌握思考問題和解決問題的方法。第三部分是程序設計方法和手段的提高,主要介紹程序的模塊化實現方法和更多的程序設計方法。這部分能采用計算思維的方式掌握模塊化的程序設計方法,對問題進行分解,靈活地使用指針、結構、文件、位運算等方法編寫程序。
6.案例設計實例
編寫程序計算學生年齡的遞歸函數:已知第一位學生年齡最小為10歲,其余學生一個比一個大2歲,求第5位學生的年齡。分析得到的遞歸公式如下:
age=10(n=1)age(n-1)+2(n>1)
在遞歸公式中,使用數字1為回歸的條件,使用IFELSE語句決定是遞推還是回歸。
根據問題得出流程圖和程序為:
只有寫出遞歸算法的數學公式,才能編寫出遞歸函數,從而很容易根據遞歸問題描述寫出遞歸公式,進而寫出遞歸程序。
7.結語
“基于問題求解的C語言”教學模式,隨著我國計算機技術的應用和發展,為了適應社會的需求,培養學生解決問題的能力,增強學生自主能動性和動手操作能力,讓學生成為社會的技能型人才,都是有益的。實踐證明,借助流程圖表達算法,能讓學生更好地理解結構化程序設計的思想,更好地掌握C程序設計的核心方法。
參考文獻:
[1]李麗娟.C語言程序設計教程實驗指導與習題解答[M].北京:人民郵電出版社,2013.
[2]譚浩強.C程序設計[M].北京:清華大學出版社,1999.
[3]魏書堤,趙輝煌,鄧紅衛.基于計算思維的C語言教學案例設計[J].當代教育理論與實踐,2014(3).
[4]但志平,汪東,王安慧,任小燕.地方高校C語言教學改革的探討與分析[J].教育教學論壇,2014.5.
[5]楊柳,鐘誠.C語言教學新思路[J].大眾科技,2014(5).
[6]秦玉平,馬靖善.“C語言程序設計”課程教材建設與教學方法研究[J].計算機教育,2010(4).