王曉莉 黃燕
摘要:C語言是一種很好的結構化程序設計語言,目前是高校計算機、信息管理等專業(yè)中一門重要的基礎課程,也是一門實踐性很強的課程,但就目前教學過程中,運行環(huán)境的多樣化,造成了不同的運行結果致使學生十分迷惑,因此,在課堂教學與實踐中需要重點強調其結果的運算過程。由此,本文就自加自減不同運行結果的問題加以分析。
關鍵詞:C語言;編譯器;教學問題;教學改革
中圖分類號:G424 文獻標識碼:A 文章編號:1009-3044(2015)06-0143-02
Abstract:C Language is a good structured programming language. At present, it is an important basic and practical course on computer, information management and so on.But now as for the teaching process, the different operating results caused by the diversification of operating environment makes the students very confused. Therefore, we should emphasize the results of the calculation process in classroom teaching and practice. Thus, this paper will analyse from different operating results plus decrement problems.
Key words:C Language; compiler; teaching problem; reform in education
當前,電子信息化的時代,計算機的應用技術飛速發(fā)展,程序設計技術也從結構化程序設計技術不斷地向面向對象程序設計技術過渡,雖然,對于規(guī)模較大的應用程序,總體框架是由面向對象程序設計而搭建,但在局部實現(xiàn)過程還有許多仍需采用結構化程序設計技術。C語言是高級語言中的低級語言,也是一種很好的結構化程序設計語言,因此,在全國各高?!禖語言程序設計》依然占據這重要的地位,也是計算機、信息管理相關專業(yè)必修的一門基礎課程。但其豐富的功能、多樣化的運行環(huán)境,給初學者帶來了很多困惑。本文就C語言教學過程中具體遇到的問題進行分析。
1 C語言的優(yōu)勢與特點
C語言是目前使用最廣泛的一種計算機高級程序設計語言,具有數(shù)據類型豐富,概念簡潔,通用性好,表達能力強等特點,而且用法靈活,可讀性好,有利于讀者培養(yǎng)其良好的編程習慣,是一種既適合系統(tǒng)程序設計,又適合應用程序設計。因此,贏得了廣大編程人員的喜愛,得以廣泛應用。由此,也成為高校中計算機及相關專業(yè)的必修課。
每一種事物得以存在和發(fā)展,都有其自身不可忽略的特點,語言也不例外,當然,C語言的發(fā)展也有著不同于甚至優(yōu)于其他語言的特點。具體特征包括:
1) C語言是一種結構化語言
結構化語言就是將自然語言加上程序設計語言的控制結構就成了結構化語言,它顯著特點就是代碼和數(shù)據的分隔化,換言之,程序各部分除必要信息交流外彼此互不影響。
2) 簡潔、緊湊、靈活
C語言一共有43個關鍵字,包括通用關鍵字32個,擴充關鍵字11個;9種控制語句。程序書寫形式自由,主要用小寫字母表示。
運算符豐富。C的運算符包含的范圍很廣泛,共有34種運算符。C把括號、賦值、強制類型轉換等都作為運算符處理,從而使C的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現(xiàn)在其他高級語言中難以實現(xiàn)的運算。
3) 語法限制不嚴格
C語言語法限制不太嚴格,程序設計自由度比較大,例如對數(shù)組邊界不作檢查,整型、字符型數(shù)據可以通用等等,這些都需要由程序編寫者自行確保程序的正確性。
4) 運算符豐富
C語言共有44種運算符。C語言中把括號、賦值、強制類型轉換等等都作為了運算符處理,即可以實現(xiàn)其他高級語言中難以實現(xiàn)的運算。此外,C語言數(shù)據結構也非常豐富,基本涵蓋了各種數(shù)據類型。主要包括基本類型(字符型、整型、實型、枚舉型)、空類型(void)、構造類型(數(shù)組、結構體、共用體)和指針類型等。從而可以實現(xiàn)各類復雜的數(shù)據結構(如鏈表、樹、棧等)的運算。
5) 功能強大
C語言有著豐富的庫函數(shù),強大的圖形功能及其預處理能力,與其他語言容易接口,可直接對硬件進行操作。比如PASCAL語言、匯編語言、數(shù)據庫語言等。而且,C語言還可以直接調用DOS命令。由此,當前工業(yè)計算機控制系統(tǒng)開發(fā)過程中,C語言成為了越來越多編程人員編寫控制軟件的首選。
由此,有人把C語言稱為“高級語言中的低級語言” ,也有人稱它為“中級語言”。它具有很多只有像匯編語言才具備的功能,比如直接訪問物理地址等。但它又具有高級語言的編寫容易,較高的可讀性特點,這就使程序員不僅減輕負擔,而且效率提高,同時,C語言編寫的程序具有更好的可移植性。
2 C語言教學問題
目前,結合C語言的特點,C語言的教學方法也越來越多樣化,而隨著教學改革,在教學過程中采用的編譯運行環(huán)境也多樣化,方便C程序的實現(xiàn)的同時也給教學過程帶來了相應的問題。
在某些運行問題中不同的運行環(huán)境造成的結果是截然不同的。目前常用的C語言的編譯運行環(huán)境包括Turbo C、Visual C++、Vs2008、Win-TC、C-free等,在教學過程中,運用比較多的就是Turbo C、Visual C++、C-free。但是就在這些編譯運行環(huán)境講解時問題也應然而生,尤其在自加自減運算過程中,所得結果是截然不同的,主要原因是自加自減自身運算規(guī)律和編譯過程中運算順序不同而造成,例如,現(xiàn)有程序:
將教育觀由“以教師為中心”轉化為“以學生為中心”[7],綜合應用各種新型教學方法, 以期最大程度的激發(fā)學生的好奇心和求知欲,引導學生進行自主學習和研究,教師從旁予以指導和鼓勵,培養(yǎng)學生勇于探索、敢于質疑和獨立創(chuàng)新的精神。
3.1.1情景式教學
通過教師創(chuàng)設恰如其分的教學情境,激發(fā)學生情感,吸引學生注意力,產生學習的意愿,同時引發(fā)學生的積極思考和探索,發(fā)展學生的創(chuàng)造性思維。這就要求教師要不斷求新,善于在教學內容中發(fā)現(xiàn)可以切入的點,巧設疑問,引導學生主動參與學習,鼓勵學生勇于提出新的觀點。
3.1.2問題討論教學
在教學中按照學習成績,民族,性別等元素對班級學生進行分組,每組任命一位組長來協(xié)調工作,采取“教師事先引導-小組積極討論-學生總結匯報-小組交叉互評-教師點評升華”的模式。旨在提高學生學習的興趣,引導學生積極主動進行學習,鼓勵學生大膽設想,提出新思想和新觀點,鍛煉其自學能力和語言表達能力,并促進協(xié)作式學習,促進學生之間共同進步。
3.1.3漸進式教學法
鑒于學生對數(shù)據結構課程有畏難情緒,采取漸進式教學法來幫他們逐步樹立信心,由淺入深,一步一個腳印,最終水到渠成。學生在教師的不斷引導下探索怎樣去解決問題,老師和學生一起討論,增強師生互動,鍛煉學生獨立分析解決問題的能力,激發(fā)學生學習的熱情,培養(yǎng)學生的創(chuàng)造性思維[8]。
3.2改革實踐教學環(huán)節(jié)
實踐教學是創(chuàng)新人才培養(yǎng)的重要環(huán)節(jié),通過數(shù)據結構實驗環(huán)節(jié)能夠鞏固和提高理論知識,培養(yǎng)學生的動手能力和創(chuàng)新思維。
3.2.1加強實踐環(huán)節(jié)的訓練
一方面提前一周布置上機任務,給予學生充分的時間去設計算法,要求在實驗前一天提交書面作業(yè),教師批改后在實驗開始前分發(fā)下去;另一方面,將上機時間由每次兩課時增加至三課時,盡量給學生充分的時間去調試程序,實驗過程中加強生生之間和師生之間的互動。
3.2.2項目驅動實驗教學
在實驗設計中,教師可設計多個項目式題目供學生自由選擇,學生自行組成多個項目小組,選擇各自感興趣的項目去完成。在實驗過程中小組成員共同討論解決問題的思路,設計算法,分工合作完成實驗,以此來充分調動學生的學習熱情和主動性,培養(yǎng)和鍛煉學生的系統(tǒng)分析能力和協(xié)作創(chuàng)新能力。
3.3科研融入教學
在教學過程中要充分促進科研與教學互動[2],加強科研與教學之間的緊密結合,鼓勵本科生參與到科研活動中來。
3.3.1將前沿科研成果滲入教學
在教學過程中追源溯流,講解如何將基礎理論知識應用到前沿科學研究中去,并將這類的優(yōu)秀成果介紹給學生,豐富教學內容,拉近理論學習與科研創(chuàng)新的距離,激發(fā)學生的學習興趣。
3.3.2協(xié)作式項目
鼓勵學生參與教師主持的科研項目,將復雜的課題細分成多個小項目,分別交由學生去完成,在此過程中,定期開展師生之間的討論和交流,教師精心指導學生訓練,逐步培養(yǎng)學生科研能力。
3.3.3學生科研項目
為學生提供科研平臺,設立本科生科研項目,鼓勵學生自行組織團隊申報,使學生在學習理論知識的同時,有目的地開展科研活動,激發(fā)學生參與科學研究的積極性,豐富實踐知識,培養(yǎng)科研創(chuàng)新意識,提高獨立研究能力。
3.4改革實踐教學環(huán)節(jié)
在考核過程中,要標準化考核方式,注重學習過程考查和學生能力評價。
3.4.1學習過程考核
在前面提到的問題討論教學和項目驅動實驗教學過程中,當學生完成任務后,請各小組派出一名代表講解算法設計的思路并演示程序,可以由其他小組各派出一名成員與教師組成驗收委員會,進行提問和成績的判定。
3.4.2學生能力評價
根據不同的科研實踐形式給予相應的學分,激發(fā)學生參與科研實踐活動的興趣。在協(xié)作式項目中,根據學生完成任務的情況進行成績評定,并及時進行點評和指導;在學生獨立完成的項目中,根據項目成果的有效性和創(chuàng)新性進行成績評定。
4 結論
在本校信息安全專業(yè)的數(shù)據結構課程教學實踐中,我們對所設計的教學方法已開展驗證工作,取得了較好的教學效果,學生普遍反應良好。在未來的研究中還需進一步探索適合創(chuàng)新人才培養(yǎng)模式的各類教學方法,力求取得教學效果的最大化。
參考文獻:
[1] 中共中央國務院. 國家中長期教育改革和發(fā)展規(guī)劃綱要(2010-2020年) [EB/OL]. http://www.gov.cn/jrzg/2010-07/29/content_1667143.htm, 2010-07-29.
[2] 教育部. 教育部關于全面提高高等教育質量的若干意見[EB/OL]. http://www.gov.cn/zwgk /2012-04/20/content_2118168.htm, 2012-04-20.
[3] 劉曉靜,王曉英,張玉安,黃建強,劉志強. 以創(chuàng)新人才培養(yǎng)為目標的數(shù)據結構實驗教學改革[J]. 實驗技術與管理, 2014, 31(11):184-187.
[4] 汪江樺,韓莉英. 民漢一體化教學中高級語言課程的教法設計與研究[J]. 福建電腦, 2014, 30(1):66-67.
[5] 黎路,薛先貴. 民族地區(qū)《C語言》教學方法探索[J]. 福建電腦, 2010, 26(10): 203-204.
[6] 張銘,趙海燕,王騰蛟,等. 北京大學“數(shù)據結構與算法”教學設計[J]. 計算機教育, 2008(10): 5-11.
[7] 余臘生,石獻. 基于創(chuàng)新理念的數(shù)據結構教學方法探討[J]. 計算機與信息技術, 2006(11):110-114.
[8] 湯建國,汪江樺. 漸進式教學方法在JAVA語言教學中的應用[J]. 福建電腦, 2013,29(6): 1-3.