c語(yǔ)言程序設(shè)計(jì)范文

時(shí)間:2023-04-03 18:40:58

導(dǎo)語(yǔ):如何才能寫(xiě)好一篇c語(yǔ)言程序設(shè)計(jì),這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。

篇1

關(guān)鍵詞:考試系統(tǒng);多媒體技術(shù);數(shù)據(jù)源;連接數(shù)據(jù)庫(kù)

中圖分類(lèi)號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2007)03-10854-03

1 課題研究的意義和目的

1.1研究意義

現(xiàn)在,多媒體技術(shù)日趨成熟,多媒體系統(tǒng)以其能輸出精彩的圖形和圖像、美妙的聲音、動(dòng)感的畫(huà)面贏得了用戶(hù)和社會(huì)各界廣泛的關(guān)注和應(yīng)用。如果把按傳統(tǒng)考試方式同現(xiàn)代化的多媒體技術(shù)相結(jié)合,并且用多媒體著作工具及其它多媒體技術(shù),編制一套符合高校考試需求的系統(tǒng)及其配套的多媒體教學(xué)軟件,利用多媒體技術(shù)生動(dòng)、直觀(guān)、形象展示信息的特點(diǎn),輔助教師授課和學(xué)生進(jìn)行考試,尤其對(duì)部分有限制性的實(shí)驗(yàn)環(huán)節(jié),可利用活動(dòng)視頻技術(shù)進(jìn)行展示,這將會(huì)解決一系列目前存在的問(wèn)題。總之,該課題是在計(jì)算機(jī)輔助教學(xué)及考試上進(jìn)行的一次積極有意義的嘗試,為其他實(shí)踐性較強(qiáng)的課程進(jìn)行多媒體輔助教學(xué)開(kāi)辟一條新的路子,具有一定的理論和現(xiàn)實(shí)意義。

1.2目的

傳統(tǒng)的考試手段主要依靠有紙?jiān)嚲?,幾乎沒(méi)有可重用性。本課題將實(shí)現(xiàn):用計(jì)算機(jī)輔助考試系統(tǒng),把多媒體生動(dòng)、直觀(guān)的顯示出來(lái),使學(xué)生不再將考試視為一種枯燥無(wú)味的東西,提高了考試效果,使學(xué)生在一種愉悅的心情中進(jìn)行考試,把枯燥的重復(fù)變?yōu)槌錆M(mǎn)樂(lè)趣、具有啟發(fā)性的考試過(guò)程,使學(xué)生能比較全面的學(xué)習(xí)知識(shí),掌握技能,達(dá)到素質(zhì)教育的要求。

2 系統(tǒng)流程圖設(shè)計(jì)

2.1初始化流程設(shè)計(jì)

在使用Authorware創(chuàng)建任何多媒體項(xiàng)目的時(shí)候,都應(yīng)該先設(shè)置當(dāng)前項(xiàng)目文件的窗口大小,將其設(shè)置為“800×600”,然后選擇“演示居中屏幕”,同時(shí)取消對(duì)“顯示標(biāo)題欄”和“顯示菜單欄”復(fù)選框的選擇。

2.2主界面的設(shè)計(jì)

本界面采用了Photoshop7.0圖形圖像處理軟件來(lái)繪制。為了避免界面的單調(diào)和呆板,用蒙版和濾鏡技術(shù)加以美化。該界面把Photoshop中的圖層技術(shù)、圖層蒙版技術(shù)、文字效果及濾鏡等功能完美的結(jié)合了起來(lái)。并且在底部設(shè)置了一個(gè)Flas,增加視覺(jué)效果。

2.3背景音樂(lè)的交互控制

該多媒體教學(xué)以MIDI作為背景音樂(lè),背景音樂(lè)的交互控制包括背景音樂(lè)的隨機(jī)選曲播放、停止等功能,另外當(dāng)該教學(xué)程序處于活動(dòng)狀態(tài)時(shí),能夠隨時(shí)調(diào)整背景音樂(lè)和講解聲音的大小及比例,讓使用者在一種輕松悅耳的環(huán)境中考試(調(diào)出WINDOWS的音量控制實(shí)現(xiàn)),還能夠暫停背景音樂(lè),當(dāng)再次進(jìn)入活動(dòng)狀態(tài)時(shí)則能重新播放背景音樂(lè)。

為了充分考慮用戶(hù)計(jì)算機(jī)的不同配置情況,首先利用BUDAPI.U32的BASOUNDCARD函數(shù)判斷用戶(hù)機(jī)器是否已經(jīng)安裝了聲卡,如果已經(jīng)安裝則執(zhí)行背景音樂(lè)播放,否則不允許播放任何背景音樂(lè)操作.程序如下:

IF BASOUNDCARD() THEN

MIDI:=1

TEST(MIDI,MIDILOOP (FILELOCATION^”MUSIC\\MUSIC-”^RANDOM(1,5,1)^”.MID”),STOPMIDI())

END IF

軟件中的背景音樂(lè)交互控制是通過(guò)交互響應(yīng)來(lái)實(shí)現(xiàn)的。在程序執(zhí)行過(guò)程中,用戶(hù)始終可以通過(guò)按鈕控制背景音樂(lè)的播放與暫停。在計(jì)算圖標(biāo)“播放音樂(lè)”后添加一交互圖標(biāo)并命名為“音樂(lè)控制”,并在交互圖標(biāo)右邊添加三個(gè)計(jì)算分支。設(shè)置“STOP/PLAY”分支為按鈕響應(yīng)交互,其功能是實(shí)現(xiàn)對(duì)背景音樂(lè)的控制。由于在整個(gè)程序執(zhí)行過(guò)程中它都是有效的,因此須設(shè)置其為永久按鈕,即選擇“PERPETUAL”屬性選項(xiàng),同時(shí)設(shè)置“ACTIVE IF”條件為:BASOUNDCARD(),即檢測(cè)到用戶(hù)沒(méi)有安裝聲卡的情況下該按鈕及響應(yīng)分支無(wú)效。

2.4內(nèi)容的導(dǎo)航設(shè)計(jì)

該多媒體教學(xué)涉及內(nèi)容繁多,不僅包括文本、圖片、聲音和動(dòng)畫(huà),而且還有其它多媒體工具與Authorware 配合,同時(shí),還把視頻文件導(dǎo)入,以增加實(shí)用性。為使用戶(hù)操作簡(jiǎn)單方便,設(shè)計(jì)了合理的教學(xué)內(nèi)容導(dǎo)航。主文件與各章節(jié)之間的導(dǎo)航設(shè)計(jì)根據(jù)結(jié)構(gòu)規(guī)劃中的該章節(jié)內(nèi)容的欄目劃分,在流程設(shè)計(jì)中為這些欄目設(shè)計(jì)了導(dǎo)航,如圖1為主程序內(nèi)容導(dǎo)航的設(shè)計(jì)流程圖。

這樣的流程設(shè)計(jì)使整個(gè)主程序結(jié)構(gòu)清晰,可讀性強(qiáng)。由于該文件結(jié)構(gòu)是主-分結(jié)構(gòu),即主文件調(diào)用各章節(jié)模塊文件的方式,因此在主文件的章節(jié)內(nèi)容中實(shí)際存放的是一個(gè)起鏈接橋梁作用的調(diào)用腳本,而具體的考試試題題型內(nèi)容則放在各章節(jié)的模塊文件內(nèi)。

2.5各模塊的內(nèi)容流程設(shè)計(jì)

圖中的考試模式、練習(xí)模式、教學(xué)模式及退出系統(tǒng)這四部分主要程序流程圖如下圖2、圖3、圖4、圖5所示。

第五部分的原理演示則是通過(guò)熱區(qū)交互以及調(diào)入用VC6.0制作的演示內(nèi)容的庫(kù)文件,抽象的工作原理形象化,具體化。在打包的過(guò)程中采用了分步打包,首先對(duì)每部分進(jìn)行打包。通過(guò)主文件調(diào)用其它各部分,這樣避免了主文件過(guò)大,影響運(yùn)行速度。

3 以完成單選題為例來(lái)看具體實(shí)現(xiàn)過(guò)程

從單選題的數(shù)據(jù)庫(kù)題庫(kù)中隨機(jī)抽取相應(yīng)題數(shù)的問(wèn)題;每一題只能選擇一個(gè)答案;用戶(hù)可以按次序做答,可跳過(guò)不答,在回答過(guò)程中,可以隨時(shí)返回已做過(guò)的題目進(jìn)行修改;交卷后會(huì)給出完成情況可以查看每題的回答情況.最后回到選題主界面,并把學(xué)生所做的答案成績(jī)保存到數(shù)據(jù)庫(kù)中。

當(dāng)用戶(hù)在主界面中,選擇了“考試模式”后,系統(tǒng)就會(huì)進(jìn)入到登錄界面系統(tǒng)會(huì)提示輸入用戶(hù)名和密碼,當(dāng)輸入后,點(diǎn)擊“確定”后,系統(tǒng)將會(huì)進(jìn)入到題型選擇界面。在提示框中輸入用戶(hù)名和密碼,我們點(diǎn)擊“確定”后,就會(huì)進(jìn)入到正式的單選題型界面中,選擇“單選題”單擊。

C語(yǔ)言程序設(shè)計(jì)考試系統(tǒng)的選擇題從數(shù)據(jù)庫(kù)中取出選擇題,在一個(gè)界面上顯示。利用三個(gè)熱區(qū)域交互按鈕“上一題”“下一題,”“完成”,按鈕和四個(gè)熱區(qū)域設(shè)置計(jì)算圖標(biāo)用來(lái)記錄學(xué)生所選擇的答案。在學(xué)生選擇“完成”后,彈出學(xué)生做題的情況界面,然后回到選題主界面,并把學(xué)生所做的答案成績(jī)保存到數(shù)據(jù)庫(kù)中。

3.1“未命名”用來(lái)擦除以前的圖像

(1) 打開(kāi)“未命名”的屬性,進(jìn)入“未命名”的屬性窗口。

(2)在“屬性窗口”中單擊擦除標(biāo)簽在設(shè)置過(guò)渡效果進(jìn)行設(shè)置。

(3)單擊“確定”按鈕

3.2 設(shè)置“單選界面”插入一個(gè)圖像

(1)雙擊“單選界面”圖標(biāo)進(jìn)入顯示圖標(biāo)窗口

(2)單擊繪圖工具箱 圖標(biāo)進(jìn)行繪制一個(gè)和窗口矩形一樣大的矩形

(3)設(shè)置矩形的顏色為“綠色”

(4)單擊顯示圖標(biāo)窗口的關(guān)閉按鈕,關(guān)閉保存對(duì)“單選界面”的設(shè)置。

3.3 設(shè)置交互“進(jìn)入”

(1)在交互圖標(biāo)的右邊拖放一個(gè)群組“單選”。

(2)設(shè)置單選的熱區(qū)為“按鈕”。

(3)單擊確定后,雙擊“選擇”。

3.3.1“未命名”用來(lái)擦除上次運(yùn)行的圖形

3.3.2 在“打開(kāi)數(shù)據(jù)庫(kù)”的輸入如下源程序:

hint0:="您的數(shù)據(jù)庫(kù)沒(méi)有連接上......"

--顯示連接數(shù)據(jù)庫(kù)的信息

title:="數(shù)據(jù)庫(kù)連接...."

ODBChandle:=ODBCOpen(WindowHandle,"","database","","")

--得到數(shù)據(jù)源

getrecord:="select count(sequence) from erigister"

--得到記錄的個(gè)數(shù)

record:=ODBCExecute(ODBChandle,getrecord)

if ODBChandle=0 then--測(cè)試連接數(shù)據(jù)庫(kù)是否連接成功

MessageBox(WindowHandle,hint0,title,17)

end if

ODBCClose(ODBChandle)

ODBChandle:=ODBCOpen(WindowHandle,"","database","","")

if ODBChandle=0 then

MessageBox(WindowHandle,hint0,title,17)

end if

sqlstring1:="select ssdb from erigister where sequence="^record^"" -從表中選擇單選庫(kù)表題

ssdatabase:=ODBCExecute(ODBChandle,sqlstring1)

getrecord:="select count(sequence) from "^ssdatabase^""

record:=ODBCExecute(ODBChandle,getrecord)

--ssdb數(shù)據(jù)庫(kù)的記錄個(gè)數(shù),以便產(chǎn)生隨機(jī)數(shù)

sssum:=0

number1:=1

sui:=[]

sui[1]:=Random(1,record,1)

--下面程序用來(lái)產(chǎn)生一個(gè)隨機(jī)數(shù)不能出現(xiàn)相同的題目

i:=2

repeat while i

flag:=0

repeat while flag=0

sui[i]:=Random(1,record,1)

flag1:=0

repeat with p:=1 to i-1

if sui[i]=sui[p] then flag1:=1

end repeat

if flag1=0 then flag:=1

end repeat

i:=i+1

end repeat

3.3.3 在“做選擇的背景”顯示圖標(biāo)中設(shè)計(jì)單選題的界面如上圖5.4

3.3.4 在“數(shù)據(jù)庫(kù)的操作”中輸入如下代碼:在這里,我們就要實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的隨機(jī)讀取和跟蹤答案的長(zhǎng)短來(lái)選擇界面

x:=0

ran:=sui[number1]

result:=""

record1:=Number(record)

record:=record1--得到記錄的個(gè)數(shù)

sqlstring1:="select topic from "^ssdatabase^" where sequence="^ran^""分別得到選擇題各項(xiàng)

sqlstring2:="select a from "^ssdatabase^" where sequence="^ran^""

sqlstring3:="select b from "^ssdatabase^" where sequence="^ran^""

sqlstring4:="select c from "^ssdatabase^" where sequence="^ran^""

sqlstring5:="select d from "^ssdatabase^" where sequence="^ran^""

sqlstring6:="select result from "^ssdatabase^" where sequence="^ran^""

get1:=ODBCExecute(ODBChandle,sqlstring1)

--get1得到選擇題目?jī)?nèi)容

get2:=ODBCExecute(ODBChandle,sqlstring2)

--get2得到選擇項(xiàng)A內(nèi)容

get3:=ODBCExecute(ODBChandle,sqlstring3)

--get3得到選擇項(xiàng)B內(nèi)容

get4:=ODBCExecute(ODBChandle,sqlstring4)

--get4得到選擇項(xiàng)C內(nèi)容

get5:=ODBCExecute(ODBChandle,sqlstring5)

--get5得到選擇項(xiàng)D內(nèi)容

get6:=ODBCExecute(ODBChandle,sqlstring6)

--get6得到選擇題的答案

inputa:=1 --用來(lái)設(shè)置熱區(qū)域的激活條件

3.3.5空“操作”用來(lái)設(shè)置跳轉(zhuǎn)標(biāo)志

3.3.6在交互圖標(biāo)右邊拖入四個(gè)熱區(qū)域

在計(jì)算圖標(biāo)中從左到右的四個(gè)計(jì)算圖標(biāo)中輸入: result:="A" result:="b" result:="c" result:="d"在交互屬性中設(shè)置激活條件為inputa=1: ,鼠標(biāo)指針設(shè)置為標(biāo)準(zhǔn)鼠標(biāo)指針,其它的為默認(rèn)設(shè)置.其中result變量用來(lái)記錄用戶(hù)所選的答案.

3.3.7拖一個(gè)交互圖標(biāo)“未命名”在它的右邊拖兩個(gè)計(jì)算圖標(biāo)為“上一題”和“下一題”,再拖一個(gè)群組“完成”放在“下一題”右邊 ,設(shè)置熱區(qū)為按鈕。在“上一題”的激活條件中輸入number1>1,鼠標(biāo)指針設(shè)置為:標(biāo)準(zhǔn)的鼠標(biāo)指針。在“下一題”的激活條件中輸入:number1

4 結(jié)束語(yǔ)

根據(jù)對(duì)教師上課時(shí)課堂練習(xí)的分析,開(kāi)發(fā)出該考試系統(tǒng),主要是能夠方便課堂練習(xí),同時(shí)還可用于期中期末測(cè)試,該系統(tǒng)主要是針對(duì)《C語(yǔ)言程序設(shè)計(jì)》課程來(lái)設(shè)計(jì)的。對(duì)該系統(tǒng)做簡(jiǎn)單修改,即可用于其它課程。

參考文獻(xiàn):

[1]王嘉寧,朱雋.Photoshop7.0中文版新概念百例[M].中國(guó)水利水電出版社,2004,4.

[2]龔祥國(guó).主編.Photoshop圖像處理實(shí)用教程[M].科學(xué)出版社,2002,2.

[3]王龍,金海.主編.Flash MX實(shí)戰(zhàn)入門(mén)新概念[M].中國(guó)水利水電出版社,2005,5.

[4]李恒.Authorware 6.0多媒體實(shí)例大制作》[M] 冶金工業(yè)出版社,2002,4.

[5]袁海東.Authorware 7.0教程[M].電子工業(yè)出版社,2004,9.

篇2

【關(guān)鍵詞】C語(yǔ)言程序設(shè)計(jì);教學(xué)內(nèi)容;教學(xué)手段;教學(xué)方法;教學(xué)改革

C語(yǔ)言是一種廣泛使用的程序設(shè)計(jì)語(yǔ)言,它具有高級(jí)語(yǔ)言的特性與直接操縱計(jì)算機(jī)硬件的能力。因而,在當(dāng)前許多高校中,C語(yǔ)言被列為程序設(shè)計(jì)課程的首選語(yǔ)言,成為了計(jì)算機(jī)專(zhuān)業(yè)的必修課程,也越來(lái)越多地被非計(jì)算機(jī)專(zhuān)業(yè)所采用[3]。然而在《C語(yǔ)言程序設(shè)計(jì)》課程的教學(xué)中,由于C語(yǔ)言概念比較復(fù)雜,規(guī)則繁多,同時(shí)在實(shí)踐中又具有靈活多變運(yùn)用,所以教師對(duì)于課程教學(xué)難易度的把握有困難,學(xué)生對(duì)于課程的學(xué)習(xí)與實(shí)踐亦感到迷惑,甚至產(chǎn)生一些畏難心理[2]。作為實(shí)踐性很強(qiáng)的C語(yǔ)言程序設(shè)計(jì)課程,它的學(xué)習(xí)有自身特點(diǎn):光聽(tīng)只看是不夠的,還必須加以練習(xí),通過(guò)大量的編程訓(xùn)練,反復(fù)夯實(shí)語(yǔ)言的概念基礎(chǔ),并在實(shí)踐中培養(yǎng)程序設(shè)計(jì)的基本能力,逐步理解和掌握程序設(shè)計(jì)的思維與方法。所以,C語(yǔ)言程序設(shè)計(jì)課程的教學(xué)重點(diǎn)是培養(yǎng)學(xué)生的實(shí)踐編程能力,以程序設(shè)計(jì)為中心來(lái)組織課程內(nèi)容。在筆者多年的教學(xué)實(shí)踐中,針對(duì)《C語(yǔ)言程序設(shè)計(jì)》課程的難點(diǎn)與特點(diǎn),在教學(xué)內(nèi)容、教學(xué)手段、教學(xué)方法等方面做出了一些改革與嘗試,收到了較好的教學(xué)效果。

1、教學(xué)內(nèi)容的改革[1][3]

1.1課堂教學(xué)內(nèi)容的改革

目前關(guān)于C語(yǔ)言的教材很多,內(nèi)容主要包括數(shù)據(jù)類(lèi)型、表達(dá)式、分支、循環(huán)、函數(shù)、數(shù)組、指針、結(jié)構(gòu)體、文件的概念和應(yīng)用以及指針和各種構(gòu)造類(lèi)型的混合運(yùn)用、基本算法等。很多教材側(cè)重于語(yǔ)言本身的理論體系介紹,而對(duì)于編程方面的介紹卻相對(duì)較少,這樣的安排雖然突出了知識(shí)結(jié)構(gòu)的認(rèn)識(shí),但是也弱化了學(xué)生的程序設(shè)計(jì)能力和語(yǔ)言應(yīng)用能力,而這些能力對(duì)于學(xué)生學(xué)好這門(mén)課程又恰恰是至關(guān)重要的。筆者在教學(xué)中,嘗試以程序設(shè)計(jì)為向?qū)Вo以編程應(yīng)用,將案例和問(wèn)題引入課堂,使學(xué)生盡快建立起程序設(shè)計(jì)的思想和方法,然后在這些框架上穿插講解相關(guān)的語(yǔ)言知識(shí)。在前幾次課中,簡(jiǎn)單介紹相關(guān)的背景知識(shí)和利用編程求解問(wèn)題的過(guò)程,然后引入實(shí)例,在對(duì)問(wèn)題的解決過(guò)程中介紹順序、分支和循環(huán)3種控制結(jié)構(gòu)以及函數(shù)的使用,使學(xué)生對(duì)C語(yǔ)言有一個(gè)大概的了解。然后深入講解程序設(shè)計(jì)的思想和方法,并演示應(yīng)用C語(yǔ)言解決問(wèn)題。通過(guò)實(shí)例程序的引入來(lái)介紹語(yǔ)言知識(shí),在每節(jié)課中介紹一些程序設(shè)計(jì)的方法、技巧以及編程中的常見(jiàn)錯(cuò)誤,并設(shè)置練習(xí)題,鼓勵(lì)學(xué)生多思考、多練習(xí),提高綜合能力,每章課程結(jié)束后, 設(shè)置綜合性的習(xí)題,包括本章的綜合以及從第一章到本章的綜合,主要是程序設(shè)計(jì)題。學(xué)生要想學(xué)會(huì)并應(yīng)用C語(yǔ)言進(jìn)行程序設(shè)計(jì),除了對(duì)程序設(shè)計(jì)語(yǔ)言了解外,更重要的是在實(shí)踐中領(lǐng)會(huì)并掌握程序設(shè)計(jì)的基本思想和方法,要求學(xué)生從開(kāi)始學(xué)習(xí)C語(yǔ)言起就試著編寫(xiě)程序,先模仿例題中的程序,然后嘗試加以改寫(xiě),循序漸進(jìn),最后能獨(dú)立地編寫(xiě)程序來(lái)解決比較復(fù)雜的問(wèn)題。

1.2實(shí)驗(yàn)教學(xué)內(nèi)容的改革

C語(yǔ)言的教學(xué)特別需要重視實(shí)踐環(huán)節(jié),包括編程和上機(jī)實(shí)驗(yàn)。針對(duì)不同水平的學(xué)生,筆者在教學(xué)班中抓兩頭,學(xué)得好的學(xué)生鼓勵(lì)給大程序,難一點(diǎn)的實(shí)驗(yàn),學(xué)得一般的學(xué)生做基礎(chǔ)性的題目。在保留基礎(chǔ)性實(shí)驗(yàn)的同時(shí),增加一些實(shí)用性強(qiáng)的、難度略大的實(shí)驗(yàn),并組織學(xué)生討論得出算法流程,然后上機(jī)編程調(diào)試。

按照實(shí)驗(yàn)指導(dǎo)書(shū)上的內(nèi)容,每個(gè)實(shí)驗(yàn)內(nèi)容以編程題為主,學(xué)生可以先模仿課堂案例操作,然后再做實(shí)驗(yàn)題,通過(guò)“模仿-改寫(xiě)-編寫(xiě)”三步曲的上機(jī)實(shí)踐過(guò)程,在循序漸進(jìn)的引導(dǎo)中逐步熟悉編程環(huán)境,理解和掌握程序設(shè)計(jì)的思想、方法和技巧,以及程序調(diào)試方法[4]。

實(shí)驗(yàn)題分為必做題和選做題,在實(shí)驗(yàn)過(guò)程中針對(duì)學(xué)生有問(wèn)題的程序統(tǒng)一講解,然后再選一個(gè)有錯(cuò)誤的程序讓學(xué)生自己找錯(cuò)誤(開(kāi)始一個(gè)月內(nèi)的時(shí)間,讓學(xué)生學(xué)會(huì)找到語(yǔ)法錯(cuò)誤)。這樣學(xué)生能力會(huì)提高很快,在后期發(fā)現(xiàn)邏輯錯(cuò)誤,也會(huì)自己先找出,然后再求助老師。實(shí)驗(yàn)題量一次課(2節(jié)課)至少留6-8題實(shí)驗(yàn)。

2、教學(xué)手段的改革

運(yùn)用多媒體技術(shù)輔助教學(xué),是當(dāng)前課堂上很流行的一種教學(xué)手段,因?yàn)檫@種方式包含的信息量大、豐富,學(xué)生學(xué)習(xí)起來(lái)感覺(jué)生動(dòng),提高了學(xué)習(xí)的興趣,同時(shí)也能夠優(yōu)化教學(xué)過(guò)程。但是多媒體輔助教學(xué)的弊端也越來(lái)越被了解,比如不恰當(dāng)?shù)氖褂脮?huì)分散學(xué)生注意力,甚至影響學(xué)生對(duì)主要問(wèn)題的理解。所以將多媒體教學(xué)引入C語(yǔ)言程序設(shè)計(jì)課程教學(xué)過(guò)程中,必須要考慮到兩者的特點(diǎn)與優(yōu)勢(shì),取長(zhǎng)補(bǔ)短,將傳統(tǒng)教學(xué)與多媒體教學(xué)進(jìn)行有機(jī)的結(jié)合。比如:對(duì)于C語(yǔ)言的概念性知識(shí)點(diǎn)如數(shù)據(jù)類(lèi)型、變量類(lèi)型、運(yùn)算符、程序結(jié)構(gòu)等,可以采用多媒體教學(xué),通過(guò)課件的制作,既滿(mǎn)足了課堂上演示的需要,也簡(jiǎn)化了傳統(tǒng)教學(xué)大量板書(shū)的缺點(diǎn)。而對(duì)于程序的編寫(xiě)或案例的分析,就需要發(fā)揮傳統(tǒng)教學(xué)的優(yōu)勢(shì),更靈活的進(jìn)行板書(shū)講解、課堂討論,使問(wèn)題在師生之間的良性互動(dòng)中得以解決。因此,教學(xué)中將各種手段如PPT、板書(shū)、現(xiàn)場(chǎng)編程并運(yùn)行等多種手段有機(jī)結(jié)合,使得課堂教學(xué)達(dá)到最優(yōu)化,如果條件允許盡量現(xiàn)場(chǎng)編程(或事先準(zhǔn)備好的程序),學(xué)生可以學(xué)習(xí)教師的思路考慮問(wèn)題,收到更好的效果,同時(shí)也能加快教學(xué)進(jìn)度。

另外,利用網(wǎng)絡(luò)資源的便利性,將大綱、電子教案、課件、練習(xí)題等放在網(wǎng)絡(luò)上,方便學(xué)生隨時(shí)查用學(xué)習(xí),同時(shí)通過(guò)飛信、QQ、Email等網(wǎng)絡(luò)交流手段與學(xué)生進(jìn)行答疑、討論等互動(dòng)交流,從而擴(kuò)展了課堂教學(xué)的空間。

賞識(shí)學(xué)生,注重學(xué)習(xí)興趣的培養(yǎng)。在教學(xué)過(guò)程中,教師應(yīng)運(yùn)用多種信息技術(shù)適時(shí)的輔導(dǎo),創(chuàng)設(shè)豐富的情境,發(fā)揮最佳效應(yīng),運(yùn)用多種教學(xué)手段激發(fā)學(xué)生主動(dòng)學(xué)習(xí)獲取知識(shí)的熱情。

篇3

關(guān)鍵詞:教學(xué)創(chuàng)新;教學(xué)法;教學(xué)設(shè)計(jì);教學(xué)過(guò)程

我校是隸屬于“中國(guó)一航沈陽(yáng)黎明航發(fā)(集團(tuán))公司”下的一所高職院校,目前社會(huì)發(fā)展對(duì)高職畢業(yè)生要求越來(lái)越高,為了跟上時(shí)代的步伐,為我國(guó)經(jīng)濟(jì)建設(shè)培養(yǎng)高素質(zhì)的應(yīng)用型人才。通過(guò)《C語(yǔ)言程序設(shè)計(jì)》課程教學(xué)中的教學(xué)創(chuàng)新努力提高教學(xué)質(zhì)量。

一、教學(xué)創(chuàng)新的觀(guān)念

(一)創(chuàng)新全面教學(xué)觀(guān)

創(chuàng)新全面教學(xué)觀(guān)。一是即要注重教書(shū),又要注重育人,二是在教學(xué)中研究各門(mén)課程之間的聯(lián)系,研究同一課程不同章節(jié)之間的聯(lián)系,研究同一章節(jié)不同知識(shí)點(diǎn)之間的聯(lián)系。《C語(yǔ)言程序設(shè)計(jì)》課程具有語(yǔ)言的特點(diǎn),學(xué)習(xí)語(yǔ)言要先會(huì)字、詞、句然后構(gòu)成段落寫(xiě)出文章。C語(yǔ)言也具有C語(yǔ)言的字、詞、句構(gòu)成功能編寫(xiě)程序。各章是對(duì)C語(yǔ)言的字、詞、句的詳細(xì)講解,前一章為后面章節(jié)打基礎(chǔ),后一章應(yīng)用前面章節(jié)的知識(shí)。全面教學(xué)觀(guān)培養(yǎng)出來(lái)的學(xué)生,理論系統(tǒng),實(shí)踐能力強(qiáng),學(xué)的知識(shí)較實(shí)用,且具有應(yīng)變能力。

(二)創(chuàng)新內(nèi)動(dòng)教學(xué)觀(guān)

創(chuàng)新內(nèi)動(dòng)教學(xué)觀(guān)。從高職教學(xué)的對(duì)象看,學(xué)生都是經(jīng)過(guò)普高畢業(yè)或職高畢業(yè)高考后錄取的,這些學(xué)生具有一定的文化基礎(chǔ)知識(shí),學(xué)習(xí)也有一定的自覺(jué)性。內(nèi)動(dòng)教學(xué)觀(guān)要求教師在施教時(shí),要從分析研究學(xué)生心理活動(dòng)入手,采用適合于學(xué)生心理特點(diǎn)和適應(yīng)能力的教學(xué)模式和教學(xué)方法,充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性和創(chuàng)造性?!禖語(yǔ)言程序設(shè)計(jì)》課程是一門(mén)能開(kāi)發(fā)計(jì)算機(jī)軟件的語(yǔ)言,實(shí)踐性較強(qiáng),要有一定的英文基礎(chǔ),一定的邏輯思維的能力。青年人好學(xué)心勝,只要教師由淺入深,循循善進(jìn),一定能提高學(xué)生的學(xué)習(xí)興趣。

(三)教師創(chuàng)新意識(shí)觀(guān)

創(chuàng)新師資是高職教學(xué)創(chuàng)新的基本條件,教師的強(qiáng)烈創(chuàng)新意識(shí),是教學(xué)創(chuàng)新必要保證,創(chuàng)新師資要具有對(duì)教學(xué)進(jìn)行改革創(chuàng)新的欲望。才能進(jìn)行創(chuàng)新教學(xué)。創(chuàng)新師資要具有勇敢的創(chuàng)新精神,不僅意識(shí)到教學(xué)需要?jiǎng)?chuàng)新,而且積極投身于教學(xué)創(chuàng)新活動(dòng),在這一活動(dòng)中,他們勇于排困克難,開(kāi)拓進(jìn)取,不達(dá)目的,誓不罷休。創(chuàng)新師資具有全面的創(chuàng)新能力,這些教師不僅具有扎實(shí)的理論基礎(chǔ)和專(zhuān)業(yè)知識(shí),以及很強(qiáng)的實(shí)踐動(dòng)手能力,而且還具有很強(qiáng)的發(fā)現(xiàn)問(wèn)題和解決問(wèn)題的能力。他們往往是教學(xué)創(chuàng)新的探索者和先行者。

二、教學(xué)創(chuàng)新中應(yīng)用的教學(xué)方法及內(nèi)容

在教學(xué)創(chuàng)新中應(yīng)用了三步教學(xué)法:課堂教學(xué)―機(jī)房教學(xué)―實(shí)驗(yàn)教學(xué)。以課堂教學(xué)內(nèi)容為主線(xiàn),機(jī)房授課講解實(shí)例歸納總結(jié),機(jī)房實(shí)驗(yàn)加深學(xué)生對(duì)主題的理解和學(xué)生的動(dòng)手能力。每步驟教學(xué)的具體內(nèi)容如下:

(一)課堂教學(xué)

課堂教學(xué):講理論知識(shí)點(diǎn),按照教學(xué)大綱提煉出要講授內(nèi)容的主線(xiàn),通過(guò)分析主要實(shí)例規(guī)納總結(jié)知識(shí)點(diǎn),用問(wèn)題引出法要求學(xué)生獨(dú)立思考,提高學(xué)生的邏輯思維能力、理解問(wèn)題的能力及解決問(wèn)題的能力。

(二)機(jī)房教學(xué)

機(jī)房教學(xué):通過(guò)課件講授,減少寫(xiě)板書(shū)的時(shí)間。進(jìn)入C語(yǔ)言編輯環(huán)境,通過(guò)演示實(shí)例,直觀(guān)、形象地看知識(shí)點(diǎn)的應(yīng)用過(guò)程,每條語(yǔ)句功能的實(shí)現(xiàn),加深對(duì)課堂教學(xué)內(nèi)容的理解。討論講授知識(shí)點(diǎn)的應(yīng)用范圍,提出問(wèn)題進(jìn)行互動(dòng)。根據(jù)不同的層次的學(xué)生提出的多個(gè)問(wèn)題,讓學(xué)生根據(jù)老師提出的問(wèn)題,不同的層次讓學(xué)生做不同理解性的、邏輯性的編程練習(xí)。提高學(xué)生的實(shí)際應(yīng)用能力,學(xué)生可根據(jù)自己能力練習(xí)。

(三)實(shí)驗(yàn)教學(xué)

實(shí)驗(yàn)教學(xué):實(shí)驗(yàn)內(nèi)容分為二部分:分析程序和獨(dú)立編程。要求學(xué)生實(shí)驗(yàn)課前一定要預(yù)習(xí),對(duì)于分析程序部分,學(xué)生寫(xiě)出分析程序的功能、程序執(zhí)行過(guò)程中各變量值的變化,程序的運(yùn)行結(jié)果。對(duì)于獨(dú)立編程部分,學(xué)生根據(jù)問(wèn)題要求給出解決問(wèn)題的方法做編程練習(xí)。

三、教學(xué)創(chuàng)新中教學(xué)過(guò)程的設(shè)計(jì)

(一)講授教學(xué)設(shè)計(jì)

無(wú)論是在教室講課,還是機(jī)房講課,每次上課開(kāi)始,先講本次課重點(diǎn)主線(xiàn),抓學(xué)生的注意力,對(duì)重點(diǎn)內(nèi)容一次講授,多次強(qiáng)調(diào),多次練習(xí),給出學(xué)生一些思考時(shí)間、練習(xí)時(shí)間、理解時(shí)間。對(duì)于難點(diǎn)內(nèi)容的分析講解,根據(jù)學(xué)生理解情況和時(shí)間安排決定深度。對(duì)于非重點(diǎn)內(nèi)容,為了使所傳授的知識(shí)有個(gè)完整性,擴(kuò)大學(xué)生的知識(shí)面,要抓住基本概念講,高職教育按照專(zhuān)業(yè)學(xué)習(xí)的要求,以必須和夠用為度,以實(shí)際應(yīng)用為重點(diǎn)。

機(jī)房授課先講授知識(shí)點(diǎn)的應(yīng)用,每次還要提出一個(gè)問(wèn)題及要求,讓同學(xué)們上機(jī)實(shí)踐,時(shí)間要靈活掌握。有時(shí)課堂教學(xué)講的重點(diǎn)內(nèi)容,同學(xué)難理解的,也應(yīng)在機(jī)房授課時(shí)抽出一定的時(shí)間演示講解。

(二)實(shí)驗(yàn)教學(xué)設(shè)計(jì)

實(shí)驗(yàn)教學(xué)重點(diǎn)驗(yàn)證學(xué)生的分析能力、邏輯思維能力和實(shí)際應(yīng)用能力。對(duì)難理解的實(shí)驗(yàn)內(nèi)容通過(guò)演示相似例子講解,通過(guò)演示和練習(xí),力求學(xué)生掌握實(shí)驗(yàn)的主要內(nèi)容,實(shí)驗(yàn)教學(xué)過(guò)程重點(diǎn)抓輔導(dǎo)到位和檢查監(jiān)督到位。提高學(xué)生的實(shí)際動(dòng)手能力。

(三)輔助教學(xué)設(shè)計(jì)

認(rèn)真制做生動(dòng)活潑、重點(diǎn)突出的教學(xué)課件,對(duì)學(xué)生作業(yè)詳細(xì)批改,重點(diǎn)總結(jié),統(tǒng)一解答與各別輔導(dǎo)相結(jié)合,要求學(xué)生一定要各章的知識(shí)點(diǎn)。

四、教學(xué)創(chuàng)新課堂教學(xué)過(guò)程舉例

(一)講授教學(xué)重點(diǎn)主線(xiàn)

課堂講授教學(xué)重點(diǎn)主線(xiàn),例如:講C語(yǔ)言程序設(shè)計(jì)的第五章:函數(shù)。先講授本次課的主線(xiàn):函數(shù)的定義,函數(shù)的調(diào)用、函數(shù)的聲明。這三點(diǎn)為本次課主線(xiàn),展開(kāi)講函數(shù)的定義格式并做具體說(shuō)明;函數(shù)聲明的作用及位置,通常什么情況下可以省略函數(shù)聲明;函數(shù)的調(diào)用的三種形式,通過(guò)分析例題,分析主函數(shù)中調(diào)用子函數(shù)采用的調(diào)用方式、及傳遞的參數(shù)。講函數(shù)的具體應(yīng)用過(guò)程等內(nèi)容。

(二)根據(jù)主線(xiàn)提出問(wèn)題

給出問(wèn)題:定義一個(gè)比較二個(gè)數(shù)大小的函數(shù),解決輸入多個(gè)數(shù)據(jù),完成輸出最大值的問(wèn)題。用什么樣的調(diào)用方式實(shí)現(xiàn)從輸入的三個(gè)數(shù)或四個(gè)數(shù)中找出其中的最大值并輸出?要求學(xué)生自己去定義一個(gè)函數(shù),自己決定采用什么方式去調(diào)用函數(shù),實(shí)現(xiàn)程序功能。

(三)學(xué)生對(duì)問(wèn)題的求解及驗(yàn)證

根據(jù)不同層次的學(xué)生,給出不同的問(wèn)題,提出不同的要求,讓學(xué)生們自己選擇解決問(wèn)題的方法,練習(xí)編寫(xiě)程序。對(duì)于理解能力強(qiáng)的學(xué)生,完成從輸入的四個(gè)數(shù)中找出其中的最大值并輸出。差一點(diǎn)的完成從輸入的三個(gè)數(shù)中找出其中的最大值并輸出。再差一些學(xué)生的完成從輸入的二個(gè)數(shù)中找出其中的最大值并輸出。并要求上機(jī)實(shí)現(xiàn)。學(xué)生一定要掌握函數(shù)的定義,函數(shù)的調(diào)用的正確形式及使用。

五、總結(jié)

高職學(xué)院的教學(xué)創(chuàng)新不但要有創(chuàng)新觀(guān)念,必須具有創(chuàng)新師資。創(chuàng)新師資是高職教學(xué)創(chuàng)新的必要條件,沒(méi)有創(chuàng)新師資,高職教學(xué)創(chuàng)新將是一句空話(huà)。教學(xué)活動(dòng)是由教師來(lái)完成的,教學(xué)創(chuàng)新理所當(dāng)然地要由教師來(lái)進(jìn)行的。因此,作為高等職業(yè)技術(shù)學(xué)院的教師,我深深的體會(huì)到要進(jìn)行教學(xué)創(chuàng)新,必須從我們每個(gè)教師做起,教師要有強(qiáng)烈的創(chuàng)新意識(shí),勇敢的創(chuàng)新精神,全面的創(chuàng)新能力,還要積極實(shí)踐,才能全面實(shí)現(xiàn)高職院校的教學(xué)創(chuàng)新。才能盡快培養(yǎng)出具備一定專(zhuān)業(yè)基礎(chǔ)理論和專(zhuān)業(yè)知識(shí),具有較強(qiáng)的實(shí)踐技能,面向生產(chǎn)、管理和服務(wù)的高技能應(yīng)用型人才。

參考文獻(xiàn):

篇4

關(guān)鍵詞:C語(yǔ)言程序設(shè)計(jì);以應(yīng)用為本位;啟發(fā)式教學(xué)

中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)10-2412-03

C語(yǔ)言功能豐富,應(yīng)用面廣,當(dāng)下,很多高校依然把C語(yǔ)言作為非計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的一門(mén)通識(shí)平臺(tái)課開(kāi)設(shè)。然而,在C語(yǔ)言課程的開(kāi)設(shè)過(guò)程中,教師和學(xué)生不同程度地存在著缺位和誤區(qū),教與學(xué)的效果不盡如人意。在C語(yǔ)言的教學(xué)過(guò)程中,不少任課教師因循守舊,教學(xué)目標(biāo)不清,教學(xué)方法單一,教學(xué)觀(guān)念陳舊,使C語(yǔ)言的課堂蛻化為單純的語(yǔ)法規(guī)則的灌輸,使C語(yǔ)言的學(xué)習(xí)變?yōu)楹?jiǎn)單的語(yǔ)法知識(shí)的學(xué)習(xí),學(xué)生普遍反映難學(xué)厭學(xué)。C語(yǔ)言程序設(shè)計(jì)課程一般面向的都是大學(xué)一年級(jí)的新生,他們剛剛結(jié)束高中生活步入大學(xué)校園,對(duì)一切充滿(mǎn)了新鮮感和不適應(yīng)感,學(xué)習(xí)觀(guān)念、學(xué)習(xí)目的和學(xué)習(xí)方法有待轉(zhuǎn)變和調(diào)整,學(xué)習(xí)的主體意識(shí)和自覺(jué)性有待增強(qiáng)和提高。針對(duì)這些問(wèn)題和現(xiàn)象,筆者在自己的教學(xué)過(guò)程中進(jìn)行一些了探索和實(shí)踐,取得了一定的效果。

1 教師自覺(jué)轉(zhuǎn)變教學(xué)觀(guān)念,提高自身素質(zhì)

縱觀(guān)C語(yǔ)言程序設(shè)計(jì)課程的教學(xué),現(xiàn)在最典型影響面最大的教學(xué)模式就是由教師和學(xué)生構(gòu)成一個(gè)教學(xué)體,教師在講臺(tái)上自我表演,學(xué)生充當(dāng)看客或聽(tīng)眾【1】。所謂知識(shí)也好、信息也好,都是一個(gè)從教師到學(xué)生的單向流動(dòng)。在這種以教師為主導(dǎo)、以教材為核心、以課堂為中心的教學(xué)模式下,教學(xué)蛻化成為一種單純的知識(shí)傳授,學(xué)生學(xué)習(xí)的積極性和主動(dòng)性的調(diào)動(dòng),學(xué)生創(chuàng)新能力和創(chuàng)新思維的培養(yǎng),都無(wú)從談起。面對(duì)這樣的現(xiàn)狀和背景,教師教學(xué)觀(guān)念的轉(zhuǎn)變和自身素質(zhì)的提高顯得尤為重要。本著對(duì)學(xué)生負(fù)責(zé),對(duì)學(xué)校負(fù)責(zé)的態(tài)度,教師應(yīng)在自身責(zé)任感的驅(qū)使下,主動(dòng)了解先進(jìn)的教育思想和教學(xué)理念,像教學(xué)互動(dòng)性、學(xué)生主體性和知識(shí)建構(gòu)性等等;認(rèn)真思考大學(xué)教育的功能,比如授人以魚(yú)還是授人以漁;結(jié)合教學(xué)實(shí)際,轉(zhuǎn)變教學(xué)觀(guān)念,改變傳統(tǒng)的教與學(xué)的地位,由過(guò)去的“以教師為中心”轉(zhuǎn)變?yōu)椤敖處熤鲗?dǎo),以學(xué)生為主體”,營(yíng)造民主的教學(xué)氛圍;改變課堂老師單向灌輸、學(xué)生被動(dòng)聽(tīng)講的授課模式,引入多元化的教學(xué)方法,比如啟發(fā)式,探究式,引導(dǎo)學(xué)生獨(dú)立思考,鼓勵(lì)學(xué)生主動(dòng)參與學(xué)習(xí)。

2 引導(dǎo)學(xué)生轉(zhuǎn)變學(xué)習(xí)觀(guān)念,培養(yǎng)學(xué)生學(xué)習(xí)的主體意識(shí)

C語(yǔ)言程序設(shè)計(jì)課程的開(kāi)設(shè)面對(duì)的多數(shù)是大學(xué)一年級(jí)的新生,而對(duì)于剛?cè)胄5拇髮W(xué)生來(lái)說(shuō),受中學(xué)養(yǎng)成的學(xué)習(xí)習(xí)慣的影響,學(xué)習(xí)的自主意識(shí)淡薄,學(xué)習(xí)還習(xí)慣性地全部寄托在老師身上,對(duì)老師的依附心理嚴(yán)重。同時(shí),面對(duì)大學(xué)里比中學(xué)多得多的自由學(xué)習(xí)時(shí)間不知如何有效地管理和支配,對(duì)新的學(xué)習(xí)環(huán)境和新的學(xué)習(xí)生活有不同程度的不適應(yīng)和困惑。面對(duì)這樣一個(gè)處在比較特殊階段的學(xué)生群體,承擔(dān)C語(yǔ)言程序設(shè)計(jì)課程的任課教師要有針對(duì)性對(duì)學(xué)生進(jìn)行引導(dǎo)和管理。首先,任課教師從一開(kāi)始就讓學(xué)生明確一個(gè)觀(guān)點(diǎn),即C語(yǔ)言是學(xué)生自己學(xué)會(huì)的,而不是老師教會(huì)的。俗話(huà)說(shuō),“師傅領(lǐng)進(jìn)門(mén),修行在個(gè)人”,盡管教師的教在教學(xué)活動(dòng)中起著主導(dǎo)作用,但更重要的是學(xué)生的學(xué),學(xué)習(xí)的主體是學(xué)生本人,只有學(xué)生充分發(fā)揮自己學(xué)習(xí)的自覺(jué)性和主動(dòng)性,教師的教學(xué)思想才能得到很好地貫徹,教學(xué)效果才能得到很大的提高,整個(gè)學(xué)習(xí)活動(dòng)也才會(huì)成功。其次,強(qiáng)化學(xué)生的責(zé)任意識(shí)。對(duì)絕大多數(shù)學(xué)生來(lái)說(shuō),如果單從年齡判斷,步入大學(xué)校園也往往意味著步入成年人的行列。而成年人也就意味著要對(duì)自己負(fù)完全責(zé)任了。教師在教學(xué)過(guò)程中要不斷強(qiáng)化學(xué)生對(duì)這一點(diǎn)變化的認(rèn)知,讓他們知道要對(duì)自己負(fù)責(zé),對(duì)自己的學(xué)習(xí)負(fù)責(zé),而不應(yīng)再完全依賴(lài)教師或家長(zhǎng)的監(jiān)督。最后,教師的指導(dǎo)和管理。學(xué)習(xí)觀(guān)念的轉(zhuǎn)變,新的學(xué)習(xí)習(xí)慣的養(yǎng)成,不是一蹴而就的事情,需要在實(shí)際的學(xué)習(xí)活動(dòng)中逐步完成。課前的預(yù)習(xí)、課堂的參與、課后的作業(yè)、實(shí)驗(yàn)的完成、期末的考試等是C語(yǔ)言教學(xué)活動(dòng)不可或缺的環(huán)節(jié),每一個(gè)環(huán)節(jié)里需要學(xué)生完成的任務(wù),任課教師從一開(kāi)始都給出一個(gè)明確的要求并嚴(yán)格按照要求去管理,將大大有益于轉(zhuǎn)變學(xué)生的學(xué)習(xí)觀(guān)念,培養(yǎng)學(xué)生學(xué)習(xí)的主體意識(shí)。

3 激發(fā)學(xué)生的學(xué)習(xí)興趣,調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性

在C語(yǔ)言程序設(shè)計(jì)課程的教學(xué)過(guò)程中,往往有學(xué)生反映C語(yǔ)言比較抽象,課堂教學(xué)又枯燥無(wú)味,很容易喪失學(xué)習(xí)的興趣和熱情。如何激發(fā)學(xué)生學(xué)習(xí)C語(yǔ)言的興趣并始終保有這種興趣,也常常是教授C語(yǔ)言課程的老師很頭疼且又不能回避的問(wèn)題?!芭d趣是最好的老師”,每位教師都深知學(xué)生的學(xué)習(xí)興趣對(duì)教學(xué)活動(dòng)成功的重要性,但C語(yǔ)言程序設(shè)計(jì)課程側(cè)重思維訓(xùn)練的特點(diǎn)又決定了在這方面留給任課教師的空間是有限的。筆者在自己的教學(xué)實(shí)踐中做了一些嘗試。

1)演示典型的完整的C語(yǔ)言應(yīng)用,培養(yǎng)學(xué)生的學(xué)習(xí)興趣

學(xué)生在學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)課程之初,對(duì)該門(mén)課程的學(xué)習(xí)目的和學(xué)習(xí)目標(biāo)多數(shù)是模糊的,對(duì)C語(yǔ)言的認(rèn)識(shí)也多半是空白,任課教師適當(dāng)?shù)囊龑?dǎo)很容易引起學(xué)生學(xué)習(xí)的興趣和探究的欲望,因此該門(mén)課程的開(kāi)篇很重要。筆者摒棄了以往通過(guò)文字抽象地介紹C語(yǔ)言的產(chǎn)生、C語(yǔ)言的特點(diǎn)和C語(yǔ)言的應(yīng)用的做法,直接從演示典型的完整的C語(yǔ)言的應(yīng)用開(kāi)始。演示的程序有難有易,涉及的范圍涵蓋實(shí)際生活中的應(yīng)用、有趣的數(shù)學(xué)問(wèn)題、圖形動(dòng)畫(huà)、游戲等。筆者一度選擇了圖書(shū)管理系統(tǒng)、文本編輯器、學(xué)生成績(jī)管理系統(tǒng)、兔子產(chǎn)子問(wèn)題、百錢(qián)百雞問(wèn)題、圖形時(shí)鐘、撲克牌的自動(dòng)發(fā)牌、猜數(shù)游戲、五子棋游戲等應(yīng)用,引起了學(xué)生濃厚的學(xué)習(xí)興趣。

2)營(yíng)造輕松的學(xué)習(xí)氛圍,創(chuàng)造愉快的學(xué)習(xí)體驗(yàn),強(qiáng)化學(xué)生的學(xué)習(xí)興趣

要引起學(xué)生對(duì)C語(yǔ)言一時(shí)的興趣不是一件難事,但要讓學(xué)生在整個(gè)C語(yǔ)言程序設(shè)計(jì)課程的教學(xué)過(guò)程中始終抱有這樣的學(xué)習(xí)興趣就不是一件易事了。哪位任課教師做到了這一點(diǎn),他的教學(xué)活動(dòng)無(wú)疑就是成功的。C語(yǔ)言比較抽象,課堂教學(xué)容易枯燥無(wú)味,是一個(gè)不爭(zhēng)的事實(shí)。為此,在實(shí)際的教學(xué)活動(dòng)中,選擇難易適中貼近生活的問(wèn)題,比如利息的計(jì)算、持有的股票價(jià)值的計(jì)算、學(xué)生成績(jī)的管理、募捐活動(dòng)的模擬等;涉及C語(yǔ)言的語(yǔ)法特性時(shí),盡量使用生活化的直白的語(yǔ)言,少用專(zhuān)業(yè)術(shù)語(yǔ);課堂教學(xué)的開(kāi)展過(guò)程中鼓勵(lì)學(xué)生積極參與,對(duì)學(xué)生提出的任何有意義的問(wèn)題都及時(shí)地給予肯定;面對(duì)問(wèn)題,對(duì)學(xué)生做出的任何有價(jià)值的回答都及時(shí)地給予表?yè)P(yáng),都有助于營(yíng)造輕松的學(xué)習(xí)氛圍,有助于讓學(xué)生體驗(yàn)到成功的歡樂(lè),有一種成就感,有助于強(qiáng)化學(xué)生學(xué)習(xí)的學(xué)習(xí)興趣和熱情。

4 踐行以應(yīng)用為本位的教學(xué)思路,有選擇性地采用以知識(shí)為本位的教學(xué)思路

C語(yǔ)言程序設(shè)計(jì)課堂教學(xué)的組織有兩種思路兩種模式。一種是以知識(shí)為本位的教學(xué)思路下形成的“建筑模式” 【2】,課堂教學(xué)以講授語(yǔ)法為主,先是提出語(yǔ)法概念,然后解釋該語(yǔ)法概念,最后舉例說(shuō)明其應(yīng)用,強(qiáng)調(diào)先系統(tǒng)學(xué)習(xí)理論打下寬厚的理論基礎(chǔ),然后再進(jìn)行應(yīng)用,講究的是理論的系統(tǒng)性與嚴(yán)密性。另一種是以應(yīng)用能力為本位的教學(xué)思路下形成的“生物模式”,課堂教學(xué)以程序設(shè)計(jì)為中心,以編程為目的,從應(yīng)用的角度切入,先是提出問(wèn)題,然后引導(dǎo)學(xué)生分析解決問(wèn)題,最后著重介紹涉及的C語(yǔ)言的語(yǔ)法特性,強(qiáng)調(diào)結(jié)合應(yīng)用學(xué)習(xí)必要的理論知識(shí),隨著應(yīng)用的展開(kāi),編程難度的逐步提高,算法和語(yǔ)法的學(xué)習(xí)同步趨向深入,有利于學(xué)生能力的培養(yǎng)。

C語(yǔ)言系人工設(shè)定的具有確定內(nèi)涵的概念和知識(shí)體系[3],同時(shí)C語(yǔ)言程序設(shè)計(jì)又是一門(mén)實(shí)踐性很強(qiáng)的學(xué)科。為此,在C語(yǔ)言程序設(shè)計(jì)課堂教學(xué)的組織上,筆者始終踐行以應(yīng)用為本位的教學(xué)思路,同時(shí)根據(jù)課程內(nèi)容的特點(diǎn)有選擇性采用以知識(shí)為本位的教學(xué)思路,比如C語(yǔ)言中的基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式、文件等基本概念和語(yǔ)法知識(shí),在教學(xué)中只需把規(guī)定的內(nèi)容闡述清楚,使學(xué)生理解并接受,同時(shí)又不破壞這些理論知識(shí)的系統(tǒng)性,就適宜采用以知識(shí)為本位的教學(xué)思路。

5 根據(jù)課程內(nèi)容特征,選擇靈活多樣的教學(xué)方法

教學(xué)方法是在教學(xué)過(guò)程中,教師為了實(shí)現(xiàn)教學(xué)目的、完成教學(xué)任務(wù)而采取的教與學(xué)相互作用的活動(dòng)方式的總稱(chēng)。C語(yǔ)言程序設(shè)計(jì)課程的教學(xué)目的是使學(xué)生掌握用C語(yǔ)言進(jìn)行程序設(shè)計(jì)的基本思想和方法,并具有靈活應(yīng)用這些思想和方法分析解決實(shí)際問(wèn)題的能力。實(shí)現(xiàn)這一教學(xué)目的要完成的教學(xué)任務(wù)包括C語(yǔ)言基本語(yǔ)法的介紹,結(jié)構(gòu)化、模塊化程序設(shè)計(jì)思想和方法的引入,基本程序設(shè)計(jì)訓(xùn)練以及程序調(diào)試方法的演示等。面對(duì)這些多樣的教學(xué)目標(biāo)和任務(wù),靈活多樣的教學(xué)方法的選擇和恰當(dāng)應(yīng)用成為必須。筆者在自己的教學(xué)實(shí)踐中,結(jié)合課程內(nèi)容的特點(diǎn),有選擇性地應(yīng)用了如下的教學(xué)方法。

1)啟發(fā)式教學(xué),引導(dǎo)學(xué)生思考,在應(yīng)用中學(xué)習(xí)。

在C語(yǔ)言程序設(shè)計(jì)的課堂教學(xué)中,根據(jù)課程內(nèi)容的特點(diǎn),精心設(shè)計(jì)任務(wù)或場(chǎng)景,引導(dǎo)學(xué)生發(fā)現(xiàn)問(wèn)題、思考問(wèn)題,使學(xué)生在啟發(fā)誘導(dǎo)下獲取知識(shí),解決學(xué)習(xí)中的疑難問(wèn)題。比如,在引入數(shù)組時(shí),筆者設(shè)計(jì)了這樣一個(gè)任務(wù),即編寫(xiě)一個(gè)C語(yǔ)言成績(jī)管理程序,要求能夠統(tǒng)計(jì)出學(xué)生C語(yǔ)言成績(jī)的平均分、最高分、最低分以及各個(gè)分?jǐn)?shù)段的人數(shù)(為了說(shuō)明問(wèn)題的方便,假設(shè)當(dāng)前要處理的有10個(gè)學(xué)生的成績(jī))。第一步,引導(dǎo)學(xué)生描述出10個(gè)學(xué)生的成績(jī)。根據(jù)之前的學(xué)習(xí)經(jīng)驗(yàn),學(xué)生很容易想到用10個(gè)float類(lèi)型的簡(jiǎn)單變量表示,比如score1,score2,、、、,score10。第二步,為節(jié)省時(shí)間,直接給出用這10個(gè)相互獨(dú)立的簡(jiǎn)單變量實(shí)現(xiàn)的程序,引導(dǎo)學(xué)生觀(guān)察。在學(xué)生感嘆程序復(fù)雜之余,帶領(lǐng)學(xué)生讀程序,引導(dǎo)學(xué)生發(fā)現(xiàn),當(dāng)前的程序無(wú)論是成績(jī)的錄入、求學(xué)生成績(jī)的最高分、最低分,還是統(tǒng)計(jì)各個(gè)分?jǐn)?shù)段的人數(shù),對(duì)每位學(xué)生成績(jī)的處理方法都是一樣的,存在大量的相似的操作。同時(shí)提出問(wèn)題,這些相似的操作能不能用循環(huán)結(jié)構(gòu)描述和實(shí)現(xiàn),讓學(xué)生思考。誘導(dǎo)學(xué)生分析發(fā)現(xiàn),要想用循環(huán)結(jié)構(gòu)描述這些相似的操作,學(xué)生成績(jī)的描述必須有一個(gè)統(tǒng)一的表示方法。適時(shí)地給出score[i]這一表示方法,指出讓i從0到9變化表示10個(gè)學(xué)生的成績(jī),和學(xué)生一塊用該表示形式改寫(xiě)之前程序的關(guān)鍵部分。讓學(xué)生比較改寫(xiě)前后的兩個(gè)程序,很容易得出結(jié)論,用score[i]描述批量數(shù)據(jù),方便和循環(huán)結(jié)合起來(lái)使用,數(shù)據(jù)的處理更為有效。最后指出score[i]這一描述形式就是數(shù)組,接下來(lái)介紹數(shù)組的定義完善改寫(xiě)后的程序。

和學(xué)生一塊模擬執(zhí)行該程序,由之前的知識(shí)積累學(xué)生知道,形參m、n和實(shí)參a、b對(duì)應(yīng)的是不同的存儲(chǔ)單元,m、n和temp是自動(dòng)變量,從變量的作用域和生存周期的角度,容易得出一個(gè)讓學(xué)生意外的結(jié)論,該swap函數(shù)中形參m、n值的交換影響不到實(shí)參a、b。在學(xué)生詫異之余,啟發(fā)學(xué)生思考,誘導(dǎo)學(xué)生嘗試給出不同的解決方法。往往有學(xué)生提出定義a、b為全局變量,誠(chéng)然這不失為一種解決方法,在鼓勵(lì)學(xué)生的同時(shí),再次誘導(dǎo)學(xué)生發(fā)現(xiàn)問(wèn)題的關(guān)鍵并在此基礎(chǔ)上找解決方法。和學(xué)生一塊梳理思路,發(fā)現(xiàn)swap函數(shù)中形參m、n值的交換傳遞不到實(shí)參a、b,一方面是因?yàn)楸舜藢?duì)應(yīng)的是不同的存儲(chǔ)單元,另一方面是由于變量的作用域和生存周期的問(wèn)題。學(xué)生提出的定義a、b為全局變量的解決方法顯然是從后者考慮的,現(xiàn)在有意識(shí)地誘導(dǎo)學(xué)生只從前者考慮,讓學(xué)生大膽假設(shè)在什么樣的前提下形參m、n值的交換即是實(shí)參a、b值的交換。毋庸置疑,只有當(dāng)形參m、n和實(shí)參a、b對(duì)應(yīng)的是相同的內(nèi)存單元時(shí)。在學(xué)生給出了這一假設(shè)之后,啟發(fā)學(xué)生思考該假設(shè)能不能成立以及如何成立。和學(xué)生一塊分析,要使形參m、n和實(shí)參a、b對(duì)應(yīng)的是相同的內(nèi)存單元,表面上看它們不能是相同的類(lèi)型,但實(shí)現(xiàn)又要求形參m、n操作的對(duì)象是實(shí)參a、b,顯然形參m、n操作的對(duì)象和實(shí)參a、b應(yīng)該是相同類(lèi)型,同時(shí)形參m、n指向的是和實(shí)參a、b相同的內(nèi)存單元,學(xué)生相對(duì)容易想到形參m、n應(yīng)該是指向?qū)崊、b的指針變量,問(wèn)題由此迎刃而解。最后結(jié)合該任務(wù)的完成引導(dǎo)學(xué)生總結(jié),在主調(diào)函數(shù)和被調(diào)函數(shù)之間雙向傳遞數(shù)據(jù)變化,全局變量和指針變量都是不錯(cuò)的解決方法。

2)注重當(dāng)堂實(shí)踐,現(xiàn)場(chǎng)編程互動(dòng),在學(xué)習(xí)中應(yīng)用。

C語(yǔ)言程序設(shè)計(jì)是一門(mén)實(shí)踐性很強(qiáng)的課程,在踐行以應(yīng)用為本位的教學(xué)思路的過(guò)程中,筆者不僅重視實(shí)驗(yàn)課這一實(shí)踐環(huán)節(jié),更是把實(shí)踐延伸到課堂教學(xué)中。在帶領(lǐng)學(xué)生對(duì)特別設(shè)計(jì)的問(wèn)題做了充分的分析之后,引導(dǎo)學(xué)生當(dāng)堂實(shí)踐,或者師生現(xiàn)場(chǎng)編程互動(dòng),不僅可以調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性,更能培養(yǎng)學(xué)生解決實(shí)際問(wèn)題的能力。

參考文獻(xiàn):

[1] 李克東.教育技術(shù)學(xué)研究方法[M].北京:北京師范大學(xué)出版社,2003:132-137.

篇5

1.1理論教學(xué)

對(duì)于大多數(shù)課程而言,從宏觀(guān)上將課程知識(shí)點(diǎn)及其關(guān)聯(lián)講授給學(xué)生非常必要,這便于學(xué)生更加系統(tǒng)深刻地理解所學(xué)內(nèi)容。作為教材講解C語(yǔ)言程序設(shè)計(jì)的知識(shí)點(diǎn)結(jié)構(gòu)。知識(shí)點(diǎn)之間的關(guān)聯(lián)可以層層細(xì)化,教師首先從宏觀(guān)上給學(xué)生介紹C語(yǔ)言程序的整體組成結(jié)構(gòu)。教師對(duì)涉及的知識(shí)點(diǎn)進(jìn)行歸類(lèi),共包含預(yù)處理命令、數(shù)據(jù)類(lèi)型、運(yùn)算符、語(yǔ)句和函數(shù)等5部分,從宏觀(guān)上梳理C語(yǔ)言與程序設(shè)計(jì)課程的知識(shí)點(diǎn)是非常必要和重要的,這樣可以避免學(xué)生“只見(jiàn)樹(shù)木,不見(jiàn)森林”,最后只學(xué)到一堆零散的知識(shí)點(diǎn),只有從宏觀(guān)上把握各個(gè)知識(shí)點(diǎn)在知識(shí)體系中的位置和作用,才能學(xué)得深、記得牢。對(duì)于程序語(yǔ)言課程,如果僅僅介紹語(yǔ)法的運(yùn)用,學(xué)生往往對(duì)知識(shí)點(diǎn)理解不深刻。我們?cè)诮虒W(xué)實(shí)踐中的體會(huì)是:在講解C語(yǔ)言語(yǔ)法的基礎(chǔ)上,適當(dāng)?shù)仄饰鼍幊陶Z(yǔ)言在計(jì)算機(jī)中的運(yùn)行機(jī)制,會(huì)讓學(xué)生的理解更加透徹。因此,我們的課堂教學(xué)方法分為如下兩部分。

1)課件講解。課件講解包括兩部分,即知識(shí)點(diǎn)要點(diǎn)總結(jié)和知識(shí)點(diǎn)運(yùn)行機(jī)制剖析。知識(shí)點(diǎn)要點(diǎn)總結(jié)就是告訴學(xué)生該知識(shí)點(diǎn)如何使用;而知識(shí)點(diǎn)運(yùn)行機(jī)制剖析則告訴學(xué)生該程序在計(jì)算機(jī)內(nèi)存中的執(zhí)行過(guò)程。由于絕大部分高校在開(kāi)設(shè)C語(yǔ)言程序設(shè)計(jì)之前都會(huì)開(kāi)設(shè)計(jì)算機(jī)文化基礎(chǔ)等課程,因此學(xué)生有足夠的計(jì)算機(jī)基礎(chǔ)知識(shí)來(lái)理解C語(yǔ)言程序的運(yùn)行機(jī)制。

2)實(shí)例演示。作為一門(mén)編程語(yǔ)言,C語(yǔ)言需要在實(shí)踐中理解和掌握,因此,課堂教學(xué)中,在具體的編程環(huán)境(如VC++6.0)下演示十分必要。通過(guò)在具體的軟件環(huán)境下編程,告訴學(xué)生應(yīng)該做什么和不應(yīng)該做什么,并總結(jié)該知識(shí)點(diǎn)的注意事項(xiàng)。相比傳統(tǒng)的脫離編程環(huán)境,只在PPT或黑板上進(jìn)行板書(shū)的教學(xué)模式,該方法的教學(xué)效果要好得多。在課堂教學(xué)中,具體的教學(xué)步驟如下:①使用PPT或者板書(shū)列出該知識(shí)點(diǎn)的注意要點(diǎn);②在編程環(huán)境(如VC++6.0)下演示該知識(shí)點(diǎn)的用法,給出正確的和錯(cuò)誤的使用方法,并進(jìn)行對(duì)比;③通過(guò)幻燈片動(dòng)畫(huà)或Flas等形式演示程序在計(jì)算機(jī)內(nèi)存中的執(zhí)行過(guò)程,讓學(xué)生更加深刻地理解程序的運(yùn)行機(jī)制。

3)教學(xué)難點(diǎn)與重點(diǎn)——“復(fù)合知識(shí)點(diǎn)”。從C語(yǔ)言的教學(xué)內(nèi)容來(lái)講,數(shù)組、函數(shù)和指針是教學(xué)的重點(diǎn)章節(jié),這些章節(jié)之間相互關(guān)聯(lián)的部分又是重點(diǎn)中的難點(diǎn),如數(shù)組和函數(shù)結(jié)合,數(shù)組名做函數(shù)參數(shù),數(shù)組和指針結(jié)合,指向數(shù)組的指針變量,函數(shù)和指針結(jié)合,指向函數(shù)的指針變量等。在教學(xué)過(guò)程中要反復(fù)強(qiáng)調(diào)各個(gè)知識(shí)點(diǎn)的注意事項(xiàng),如果基本知識(shí)點(diǎn)能夠理解透徹,上述難點(diǎn)內(nèi)容也就迎刃而解了。

1.2上機(jī)實(shí)踐教學(xué)

在實(shí)踐教學(xué)中,教師可以通過(guò)實(shí)際教學(xué)案例循序漸進(jìn)地強(qiáng)化學(xué)生對(duì)C語(yǔ)言知識(shí)點(diǎn)的理解。上機(jī)實(shí)踐的教學(xué)內(nèi)容通常分為兩部分:基本知識(shí)點(diǎn)練習(xí)和綜合訓(xùn)練。首先通過(guò)基本知識(shí)點(diǎn)的練習(xí),讓學(xué)生掌握該知識(shí)點(diǎn)的使用,即鞏固課堂所學(xué)內(nèi)容;然后通過(guò)一個(gè)綜合性的大作業(yè),訓(xùn)練學(xué)生綜合應(yīng)用C語(yǔ)言知識(shí)點(diǎn)的能力,例如,通過(guò)編寫(xiě)“學(xué)生課程成績(jī)統(tǒng)計(jì)系統(tǒng)”考查學(xué)生對(duì)數(shù)組、結(jié)構(gòu)體、指針、函數(shù)、文件等知識(shí)的綜合掌握情況。對(duì)于初學(xué)編程語(yǔ)言的學(xué)生,往往沒(méi)有養(yǎng)成良好的編程習(xí)慣,出錯(cuò)的可能性較大,而出錯(cuò)之后進(jìn)行調(diào)試又將耗費(fèi)較長(zhǎng)的時(shí)間,這勢(shì)必對(duì)學(xué)生的學(xué)習(xí)熱情產(chǎn)生負(fù)面影響。因此,一開(kāi)始就給學(xué)生制定科學(xué)的編程步驟和規(guī)范,使學(xué)生養(yǎng)成良好的編程習(xí)慣,將大大減少程序出錯(cuò)的可能。下面是按照上述五步編寫(xiě)的一個(gè)完整的C語(yǔ)言程序,用來(lái)比較兩個(gè)整數(shù)的大小。按照上述五步進(jìn)行編程,經(jīng)過(guò)一段時(shí)間的訓(xùn)練之后,學(xué)生出現(xiàn)語(yǔ)法錯(cuò)誤的可能性大大降低,此時(shí)學(xué)生更多的精力將集中在程序算法的設(shè)計(jì)和實(shí)現(xiàn)上。

1.3考試形式

對(duì)于C語(yǔ)言程序設(shè)計(jì)的考核方式,我們采用知識(shí)點(diǎn)考核和編程實(shí)踐相結(jié)合的方式。知識(shí)點(diǎn)考核偏重于C語(yǔ)言基本語(yǔ)法,用于檢驗(yàn)學(xué)生對(duì)知識(shí)點(diǎn)的掌握是否全面,此項(xiàng)考核約占總成績(jī)的40%;編程實(shí)踐考核用于檢驗(yàn)學(xué)生的實(shí)際動(dòng)手能力,學(xué)生將在規(guī)定的時(shí)間內(nèi)根據(jù)題目在機(jī)器上編程,此項(xiàng)考核約占總成績(jī)的60%。為了實(shí)現(xiàn)知識(shí)點(diǎn)的考核,我們將考試與計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)考試緊密結(jié)合,采用題庫(kù)平臺(tái)進(jìn)行上機(jī)考試,學(xué)生直接在機(jī)器上答題并提交,知識(shí)點(diǎn)考核多采取客觀(guān)題,如填空題、程序修改題以及讀程序題等,編程題在實(shí)戰(zhàn)編程中考核。C語(yǔ)言程序設(shè)計(jì)課程的重要特點(diǎn)就是實(shí)踐性強(qiáng),學(xué)習(xí)該課程的目的就是為了編寫(xiě)程序。因此從考試的角度講,進(jìn)行編程實(shí)踐是最合適的方式,通過(guò)上機(jī)編程來(lái)考核學(xué)生的學(xué)習(xí)情況也是最公正和客觀(guān)的方式。

2C語(yǔ)言程序設(shè)計(jì)教學(xué)實(shí)踐結(jié)果分析

中國(guó)礦業(yè)大學(xué)(北京)每年都有40多個(gè)班級(jí)同時(shí)開(kāi)設(shè)C語(yǔ)言程序設(shè)計(jì)課程,因此該課程教學(xué)質(zhì)量的高低將直接影響全校理工科學(xué)生對(duì)C語(yǔ)言的理解和掌握。中國(guó)礦業(yè)大學(xué)(北京)C語(yǔ)言程序設(shè)計(jì)教學(xué)團(tuán)隊(duì)經(jīng)過(guò)長(zhǎng)期的探索總結(jié)出一套行之有效的C語(yǔ)言教學(xué)方法,我們將上述方法在學(xué)校越崎實(shí)驗(yàn)班中進(jìn)行了試點(diǎn)。如圖2所示,采用上述教學(xué)法的越崎實(shí)驗(yàn)班的C語(yǔ)言程序設(shè)計(jì)課程考試成績(jī)要明顯好于其他班級(jí),其中90分以上的學(xué)生占10.7%,80分以上的學(xué)生占總?cè)藬?shù)的53.6%。另外,學(xué)生的學(xué)習(xí)積極性比采用上述方法前得到明顯提高,很多學(xué)生都對(duì)計(jì)算機(jī)編程產(chǎn)生了濃厚興趣,實(shí)踐證明我們提出的上述方法是行之有效的。

3結(jié)語(yǔ)

篇6

關(guān)鍵詞:C語(yǔ)言;程序設(shè)計(jì);教學(xué)方法

中圖分類(lèi)號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:B

1引言

隨著大學(xué)的擴(kuò)招,越來(lái)越多的普通學(xué)生進(jìn)入大學(xué)學(xué)習(xí),大學(xué)也從精英教育向普通教育過(guò)渡。不論理科還是文科,C語(yǔ)言程序設(shè)計(jì)成為很多大學(xué)生學(xué)習(xí)計(jì)算機(jī)知識(shí)的入門(mén)課程之一。這使我們這些長(zhǎng)期從事程序設(shè)計(jì)教學(xué)的人員,遭遇到了前所未有的挑戰(zhàn)。

如何挑選教材,如何安排教學(xué)內(nèi)容,如何選擇適當(dāng)?shù)陌咐鹊仁俏覀儽仨氁鎸?duì)的問(wèn)題。本文就這些問(wèn)題作一些探討。

2以往的教學(xué)經(jīng)驗(yàn)

多年來(lái),我一直在教學(xué)第一線(xiàn)教授C語(yǔ)言程序設(shè)計(jì),在以往的教學(xué)中,我要求自己做到以下幾點(diǎn):

第一,講課內(nèi)容要符合初學(xué)者的認(rèn)知規(guī)律,從簡(jiǎn)單到復(fù)雜,循序漸進(jìn)。

第二,通過(guò)實(shí)例講解相關(guān)的概念,重點(diǎn)在培養(yǎng)學(xué)生的程序設(shè)計(jì)能力。

第三,算法要盡量簡(jiǎn)單,有利于學(xué)生的理解。

第四,授課涉及的內(nèi)容,要講解透徹、詳盡。

譚浩強(qiáng)老師的《C程序設(shè)計(jì)》是我在教學(xué)中長(zhǎng)期選用的教材,因?yàn)樗軌蚝芎玫貪M(mǎn)足自己的教學(xué)思想和要求。

該教材的編寫(xiě)順序和內(nèi)容,非常符合初學(xué)者的認(rèn)知規(guī)律,難點(diǎn)分散,內(nèi)容的安排較合理,每一章都講解了新的概念,但又注意到不引入太多的新概念;為了避免從概念到概念,從理論到理論,教材中使用了大量通俗易懂的實(shí)例,并使用很多有意義的圖表來(lái)分析和講解概念,方便同學(xué)們對(duì)概念的理解;該書(shū)的內(nèi)容重點(diǎn)突出,對(duì)C語(yǔ)言中最基本和常用的部分進(jìn)行了詳細(xì)的分析和講解,為學(xué)生以后更深層次的學(xué)習(xí)打下了牢固的基礎(chǔ)。

學(xué)生們普遍反映《C程序設(shè)計(jì)》是一本非常好的教材,不但幫助他們掌握了程序設(shè)計(jì)的理念,還能真正動(dòng)手編寫(xiě)一些實(shí)用程序。只不過(guò),我以前的學(xué)生,大部分是錄取分?jǐn)?shù)超過(guò)一本的,《C程序設(shè)計(jì)》的難度和深度對(duì)他們很適合。最近幾年,由于擴(kuò)招和學(xué)校合并等原因,學(xué)生的水平越發(fā)參差不齊,給教學(xué)工作帶來(lái)了不少難度,也使自己更多地思考和嘗試搞好程序設(shè)計(jì)教學(xué)的方法。

3選擇適當(dāng)?shù)慕滩?/p>

有關(guān)C語(yǔ)言程序設(shè)計(jì)的教材,真可謂是百花齊放,百鳥(niǎo)爭(zhēng)鳴了,筆者并不認(rèn)為這是一件壞事情,恰恰相反,如果每個(gè)作者經(jīng)過(guò)自己多年的教學(xué)和科研,都對(duì)程序設(shè)計(jì)課程的教學(xué)方法有自己獨(dú)特的想法,同行們可以互相交流,取人之長(zhǎng)補(bǔ)己之短,何樂(lè)而不為呢?但不論如何,由于教材比較多(也確實(shí)有些教材水平不高),給教師們選擇教材帶來(lái)了難度。為此,譚浩強(qiáng)老師總結(jié)了自己多年的教學(xué)和寫(xiě)作經(jīng)驗(yàn),根據(jù)讀者的不同需求將C語(yǔ)言教材分為三種版本,以適應(yīng)不同的學(xué)生。

第一本就是發(fā)行了1000多萬(wàn)冊(cè)的新世紀(jì)計(jì)算機(jī)基礎(chǔ)教育叢書(shū)之《C程序設(shè)計(jì)》,已經(jīng)發(fā)行第三版了,該教材全面細(xì)致、深入淺出地介紹了使用C語(yǔ)言進(jìn)行程序設(shè)計(jì)的方法,語(yǔ)言生動(dòng)案例豐富,不僅講解了C語(yǔ)言的語(yǔ)法,還通過(guò)大量的例題講解了構(gòu)造程序和設(shè)計(jì)算法的基本要領(lǐng);第二本是普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材,“中國(guó)高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材”之《C程序設(shè)計(jì)教程》,這本書(shū)以《C程序設(shè)計(jì)》為基礎(chǔ),科學(xué)地減少了部分內(nèi)容,更加突出了教學(xué)重點(diǎn),采用了既通俗又精練的寫(xiě)法;第三本也是普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材,高等院校計(jì)算機(jī)應(yīng)用技術(shù)規(guī)劃教材應(yīng)用型教材系列之《C語(yǔ)言程序設(shè)計(jì)(第二版)》,與前兩本相比,內(nèi)容更加精練。三本書(shū)均采用了“提出問(wèn)題―解決問(wèn)題―歸納分析”的寫(xiě)作思想,在講解程序時(shí),包括了提出問(wèn)題、解題思路、編寫(xiě)程序、運(yùn)行結(jié)果、程序說(shuō)明和深入思考等幾部分內(nèi)容。

筆者在教學(xué)工作中接觸了很多學(xué)生,有號(hào)稱(chēng)“小清華”的本科學(xué)生,有普通本科學(xué)生,還有夜大的學(xué)生,實(shí)踐證明,將學(xué)生準(zhǔn)確分類(lèi),選擇適合他們的教學(xué)內(nèi)容和教材是非常重要的。上述第一本教材適合學(xué)生基礎(chǔ)好、學(xué)時(shí)較多(一般應(yīng)超過(guò)56學(xué)時(shí))、對(duì)程序設(shè)計(jì)的應(yīng)用要求比較高的專(zhuān)業(yè)的學(xué)生,例如軟件工程、信息安全等專(zhuān)業(yè);而第二本教材適合學(xué)生基礎(chǔ)一般、學(xué)時(shí)中等(一般為48學(xué)時(shí))、對(duì)程序設(shè)計(jì)的應(yīng)用要求不太高的專(zhuān)業(yè),例如通信工程、計(jì)算機(jī)審計(jì)等專(zhuān)業(yè);第三本教材適合學(xué)生基礎(chǔ)一般、學(xué)時(shí)較少(32學(xué)時(shí)左右)、對(duì)程序設(shè)計(jì)的應(yīng)用要求很低的專(zhuān)業(yè),例如管理科學(xué)等,對(duì)這些專(zhuān)業(yè),只要求學(xué)生能看得懂程序,了解計(jì)算機(jī)是怎么解決問(wèn)題的就達(dá)到教學(xué)目標(biāo)了。

而對(duì)于一些重點(diǎn)院校,尤其是學(xué)生的自學(xué)能力非常強(qiáng)的學(xué)校,如果教師自己的水平也足夠高,有很深的程序設(shè)計(jì)功底,不妨選擇吳文虎老師的《程序設(shè)計(jì)基礎(chǔ)》,這也是一本非常好的教材。

4靈活安排教學(xué)內(nèi)容

教材不是講稿,任課教師需要根據(jù)各自專(zhuān)業(yè)的特點(diǎn),對(duì)教學(xué)內(nèi)容做適當(dāng)?shù)娜∩?不需要面面俱到。盡管譚浩強(qiáng)老師的三種教材已經(jīng)根據(jù)學(xué)生的不同層次,將教學(xué)內(nèi)容做了重新取舍,但是教師的工作就是要因材施教,而不能照本宣科。

例如,對(duì)于位運(yùn)算的內(nèi)容,信息安全專(zhuān)業(yè)的學(xué)生必須掌握,該專(zhuān)業(yè)需要了解計(jì)算機(jī)低層的運(yùn)算,才能理解密碼學(xué)具體的實(shí)現(xiàn)方法以及網(wǎng)絡(luò)安全的實(shí)現(xiàn)細(xì)節(jié),而對(duì)于軟件工程專(zhuān)業(yè),位運(yùn)算可以少講,甚至不講。

又例如,盡管譚老師的《C程序設(shè)計(jì)》中寫(xiě)的最好的內(nèi)容是它對(duì)指針的解釋和描述,想當(dāng)年,我自己就是在閱讀了很多書(shū)都不得要領(lǐng)的情況下,通過(guò)學(xué)習(xí)《C程序設(shè)計(jì)》才理解什么是指針的。譚老師將C語(yǔ)言中的精髓―“指針”的概念描述十分清楚、透徹,尤其是對(duì)指針使用時(shí)一些細(xì)節(jié)問(wèn)題的描述,使我非常受益。但是,并不是所有的專(zhuān)業(yè)都需要將這部分內(nèi)容的全部作為教授的內(nèi)容,有些專(zhuān)業(yè)可以作適當(dāng)?shù)恼{(diào)整,例如那些偏文科的專(zhuān)業(yè):會(huì)計(jì)學(xué)、審計(jì)學(xué)等。對(duì)于這些專(zhuān)業(yè),只要通過(guò)簡(jiǎn)單的案例將指針的概念交代清楚就行了,畢竟這是C語(yǔ)言的精髓。

再比如,不論任何專(zhuān)業(yè),遞歸的概念對(duì)于大多數(shù)低年級(jí)學(xué)生來(lái)說(shuō)是很難掌握的,注意,這里說(shuō)的是掌握,那么,我們只要求他們能看得懂遞歸程序就可以了。也就是說(shuō),要明白遞歸是自己調(diào)用自己,而不是讓他們學(xué)會(huì)編寫(xiě)解決類(lèi)似迷宮、八皇后或者是背包問(wèn)題的程序,這些內(nèi)容可以放到高年級(jí)學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)課程的時(shí)候?qū)W習(xí)。

5精選與學(xué)生專(zhuān)業(yè)相關(guān)的案例

譚老師教材中的案例都是經(jīng)過(guò)精心挑選的,有很多有趣的問(wèn)題,例如國(guó)王的小麥、猴子吃桃、漢諾塔等等,這些對(duì)于學(xué)生們學(xué)習(xí)程序設(shè)計(jì)都是很好的例子。但是一本教材的容量畢竟是有限的,作為教師,應(yīng)該花一些時(shí)間,挑選更多的案例,幫助學(xué)生們舉一反三。程序設(shè)計(jì)思想的形成可以通過(guò)閱讀大量的程序,并經(jīng)過(guò)自己的思考和提練,最后達(dá)到掌握思想的目的。

挑選什么樣的程序作為案例,就是教師需要考慮的問(wèn)題。我認(rèn)為,除了教材上一些基本的案例,教師需要選擇與專(zhuān)業(yè)背景有關(guān)的案例。

例如,針對(duì)信息安全專(zhuān)業(yè)可以選擇凱撒密碼的實(shí)現(xiàn)方法、HILL密碼的實(shí)現(xiàn)方法、異或運(yùn)算實(shí)現(xiàn)加解密、簡(jiǎn)單的暴力破解口令、大整數(shù)的算術(shù)運(yùn)算、素?cái)?shù)的產(chǎn)生和使用、簡(jiǎn)單身份驗(yàn)證系統(tǒng)的實(shí)現(xiàn),等等。這些案例既可以作為教學(xué)的例子,也可以作為實(shí)踐環(huán)節(jié)的實(shí)現(xiàn)內(nèi)容。

使用與專(zhuān)業(yè)相關(guān)的案例進(jìn)行教學(xué)和實(shí)踐,不但可以極大地激發(fā)學(xué)生的學(xué)習(xí)興趣,還使他們學(xué)到了運(yùn)用所學(xué)知識(shí)解決問(wèn)題的方法及動(dòng)手能力。

6結(jié)束語(yǔ)

C語(yǔ)言程序設(shè)計(jì)的教學(xué)不僅僅是教一門(mén)語(yǔ)言,也是教程序設(shè)計(jì)方法,教材的選擇,課程內(nèi)容的安排,乃至案例的選擇不但要符合教學(xué)的要求,更要適合學(xué)生的特點(diǎn),還要兼顧不同的專(zhuān)業(yè)要求。

參考文獻(xiàn):

[1] 譚浩強(qiáng). C程序設(shè)計(jì)[M]. 3版. 北京:清華大學(xué)出版社,2005.

篇7

關(guān)鍵詞:教學(xué)模式;任務(wù)驅(qū)動(dòng);c語(yǔ)言程序設(shè)計(jì);教學(xué)實(shí)踐

0 引言

《C語(yǔ)言程序設(shè)計(jì)》作為計(jì)算機(jī)程序設(shè)計(jì)的基礎(chǔ),是理工類(lèi)本科學(xué)生的一門(mén)必修課,尤其是C語(yǔ)言對(duì)計(jì)算機(jī)硬件具有很好的編程能力,使其在工科教學(xué)中的生命力越來(lái)越強(qiáng)。我們學(xué)院在C語(yǔ)言的教學(xué)上基本上還是采取傳統(tǒng)的教學(xué)模式:按照C語(yǔ)言教材自身的內(nèi)容上課、上機(jī),采取筆試形式考試。這樣的教學(xué)模式使得學(xué)生過(guò)分注重C的語(yǔ)法、語(yǔ)句等規(guī)則,而忽視了對(duì)編程思路的培養(yǎng),學(xué)生獨(dú)立分析問(wèn)題和解決問(wèn)題的能力沒(méi)有很大的提高,給學(xué)生參加全國(guó)等級(jí)考試以至后續(xù)課程的學(xué)習(xí)留下了隱患。下面就作者在C語(yǔ)言教學(xué)過(guò)程中的經(jīng)驗(yàn)談?wù)勏敕ā?/p>

1 傳統(tǒng)教學(xué)模式

傳統(tǒng)教學(xué)模式是以教師作為課堂的中心,以廣大學(xué)生為講授對(duì)象,以課本作為講授的主線(xiàn)。雖然現(xiàn)在教學(xué)環(huán)境大都采用多媒體大屏幕,操作方便,易于控制教學(xué)內(nèi)容和節(jié)奏,能在規(guī)定課時(shí)內(nèi)呈現(xiàn)較多信息量;但是學(xué)生往往處于被動(dòng)學(xué)習(xí)狀態(tài),教學(xué)內(nèi)容難以適應(yīng)學(xué)生的個(gè)體差異,所有學(xué)生被迫按照老師的講授速度進(jìn)行學(xué)習(xí),不利于培養(yǎng)思維能力與創(chuàng)造能力。

上機(jī)實(shí)踐課上通常老師會(huì)事先布置幾道編程題,但是學(xué)生上機(jī)目標(biāo)不是很明確,問(wèn)的問(wèn)題多數(shù)是屬于同一類(lèi)問(wèn)題。老師不停地在機(jī)房各處一一解答,既浪費(fèi)時(shí)間,也沒(méi)取到很好的效果。學(xué)生在機(jī)房沒(méi)有緊迫感,甚至有些學(xué)生覺(jué)得無(wú)事可做,就會(huì)打游戲等。這種上機(jī)方式不利于培養(yǎng)學(xué)生的動(dòng)手能力和自我解決問(wèn)題的能力。

學(xué)生學(xué)不好C語(yǔ)言主要是因?yàn)镃語(yǔ)言教學(xué)的重點(diǎn)不是放在如何解決問(wèn)題上,而是把大部分的時(shí)間放在講解語(yǔ)法規(guī)則和語(yǔ)句格式上,其后果就是學(xué)生一拿到任務(wù)后首先琢磨如何定義變量,用什么語(yǔ)句,而不是對(duì)問(wèn)題進(jìn)行合理的分析,考慮最佳算法,這樣當(dāng)然覺(jué)得很難而且也設(shè)計(jì)不出好的程序。學(xué)生參加全國(guó)等級(jí)考試的通過(guò)率很低也就不足為怪了。

2 “任務(wù)驅(qū)動(dòng)式”教學(xué)模式

采用“任務(wù)驅(qū)動(dòng)式”的教學(xué)方法,知識(shí)及技能的傳授以完成典型“任務(wù)”為主,有利于提高學(xué)生利用計(jì)算機(jī)進(jìn)行自主學(xué)習(xí)與解決問(wèn)題的能力。

2.1 教學(xué)內(nèi)容的改革

我們把通過(guò)全國(guó)計(jì)算機(jī)二級(jí)考試作為學(xué)習(xí)c語(yǔ)言的目標(biāo),針對(duì)等級(jí)考試大綱來(lái)確定教學(xué)計(jì)劃以及教學(xué)內(nèi)容。為此,我們從第一堂課起就強(qiáng)調(diào)并要求學(xué)生通過(guò)全國(guó)二級(jí)考試,既讓學(xué)生明確短期學(xué)習(xí)目標(biāo),又放眼長(zhǎng)遠(yuǎn)的努力方向,以激發(fā)學(xué)生進(jìn)行自主學(xué)習(xí)的主動(dòng)性。我們將教學(xué)內(nèi)容分離為幾個(gè)相對(duì)獨(dú)立的模塊,即結(jié)構(gòu)模塊、數(shù)組模塊、指針模塊、函數(shù)模塊和文件模塊。模塊的內(nèi)容要循序漸進(jìn),把握好由易到難,由簡(jiǎn)單到復(fù)雜的教學(xué)過(guò)程,否則容易使學(xué)生一開(kāi)始就產(chǎn)生一種畏懼情緒,失去學(xué)習(xí)興趣。然后,力求概念準(zhǔn)確,分散難點(diǎn)。各模塊的教學(xué)目標(biāo)要十分明確,教學(xué)量適中,讓學(xué)生很容易把握住教學(xué)要點(diǎn),理解和掌握教學(xué)內(nèi)容。

2.2 設(shè)計(jì)好實(shí)驗(yàn)任務(wù)

實(shí)驗(yàn)任務(wù)的設(shè)計(jì)包括任務(wù)的提出與分解、最終達(dá)到的目標(biāo)、解決問(wèn)題的方法等。目的性要強(qiáng),任務(wù)要明確,這樣才能很好地緩解計(jì)算機(jī)基礎(chǔ)課程實(shí)驗(yàn)教學(xué)中學(xué)生無(wú)事可做,玩游戲、上網(wǎng)聊天等現(xiàn)象。要培養(yǎng)學(xué)生限時(shí)編程的良好習(xí)慣,要求學(xué)生在規(guī)定的時(shí)間內(nèi)編寫(xiě)和調(diào)試好給定的程序。通過(guò)這些基本功的訓(xùn)練,學(xué)生在具備了扎實(shí)的計(jì)算機(jī)程序設(shè)計(jì)能力后,就較容易通過(guò)全國(guó)計(jì)算機(jī)二級(jí)考試。

在程序設(shè)計(jì)語(yǔ)言教學(xué)中,算法是程序設(shè)計(jì)的靈魂,學(xué)生編寫(xiě)不出程序的首要原因是設(shè)計(jì)不出―個(gè)合適的算法。因此,在教學(xué)中應(yīng)對(duì)常用的算法結(jié)合典型實(shí)例進(jìn)行詳細(xì)地講解,強(qiáng)調(diào)算法的步驟,讓學(xué)生對(duì)算法有比較深刻地了解,并鼓勵(lì)學(xué)生從不同角度去思考問(wèn)題,對(duì)于同一個(gè)問(wèn)題的解決用多種方法來(lái)實(shí)現(xiàn)。這樣有助于拓展學(xué)生的思維,增加學(xué)生對(duì)學(xué)習(xí)C語(yǔ)言的興趣。

例如:計(jì)算n!

我們可以采用遞歸法:

2.3 學(xué)習(xí)成績(jī)?cè)u(píng)價(jià)方式的改革

采用“筆試+上機(jī)考試”的評(píng)價(jià)方法可以提前讓學(xué)生體驗(yàn)全國(guó)等級(jí)考試的過(guò)程。同時(shí),兩種形式考試都通過(guò)才算這門(mén)課程通過(guò),也能促使學(xué)生在學(xué)習(xí)c語(yǔ)言的基本知識(shí)之外加強(qiáng)編程實(shí)踐,讓學(xué)生學(xué)到c語(yǔ)言的語(yǔ)法規(guī)則的同時(shí)也掌握了程序設(shè)計(jì)的方法。

篇8

由于時(shí)間的關(guān)系,我們的這次實(shí)習(xí)課程老師并沒(méi)有給我們?cè)敿?xì)的介紹,只是給我們簡(jiǎn)單的介紹了幾個(gè)比較重要的實(shí)際操作。包括了程序模塊處理.簡(jiǎn)單界面程序.高級(jí)界面程序.程序的添加修改.用程序做一元線(xiàn)性回歸處理以及用c語(yǔ)言程序來(lái)畫(huà)粒度分布圖等這幾樣比較重要的時(shí)間操作。

上機(jī)實(shí)驗(yàn)是學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言必不可少的實(shí)習(xí)環(huán)節(jié),特別是c語(yǔ)言靈活、簡(jiǎn)潔,更需要通過(guò)編程的實(shí)習(xí)來(lái)真正掌握它。對(duì)于程序設(shè)計(jì)語(yǔ)言的學(xué)習(xí)目的,可以概括為學(xué)習(xí)語(yǔ)法規(guī)定、掌握程序設(shè)計(jì)方法、提高程序開(kāi)發(fā)能力,這些都必須通過(guò)充分的實(shí)際上機(jī)操作才能完成。

學(xué)習(xí)c程序設(shè)計(jì)語(yǔ)言除了課堂講授以外,必須保證有不少于課堂講授學(xué)時(shí)的上機(jī)時(shí)間。因?yàn)閷W(xué)時(shí)所限,課程不能安排過(guò)多的統(tǒng)一上機(jī)實(shí)驗(yàn),所以希望學(xué)生有效地利用課程上機(jī)實(shí)驗(yàn)的機(jī)會(huì),盡快掌握用c語(yǔ)言開(kāi)發(fā)程序的能力,為今后的繼續(xù)學(xué)習(xí)打下一個(gè)良好的基礎(chǔ)。為此,我們結(jié)合課堂講授的內(nèi)容和進(jìn)度,安排了12次上機(jī)實(shí)驗(yàn)。課程上機(jī)實(shí)驗(yàn)的目的,不僅僅是驗(yàn)證教材和講課的內(nèi)容、檢查自己所編的程序是否正確,課程安排的上機(jī)實(shí)驗(yàn)的目的可以概括為如下幾個(gè)方面:

1.熟悉程序開(kāi)發(fā)環(huán)境、學(xué)習(xí)計(jì)算機(jī)系統(tǒng)的操作方法

一個(gè)c語(yǔ)言程序從編輯、編譯、連接到運(yùn)行,都要在一定的外部操作環(huán)境下才能進(jìn)行。所謂 環(huán)境 就是所用的計(jì)算機(jī)系統(tǒng)硬件、軟件條件,只有學(xué)會(huì)使用這些環(huán)境,才能進(jìn)行程序開(kāi)發(fā)工作。通過(guò)上機(jī)實(shí)驗(yàn),熟練地掌握c語(yǔ)言開(kāi)發(fā)環(huán)境,為以后真正編寫(xiě)計(jì)算機(jī)程序解決實(shí)際問(wèn)題打下基礎(chǔ)。同時(shí),在今后遇到其它開(kāi)發(fā)環(huán)境時(shí)就會(huì)觸類(lèi)旁通,很快掌握新系統(tǒng)的使用。

2.學(xué)習(xí)上機(jī)調(diào)試程序

完成程序的編寫(xiě),決不意味著萬(wàn)事大吉。你認(rèn)為萬(wàn)無(wú)一失的程序,實(shí)際上機(jī)運(yùn)行時(shí)可能不斷出現(xiàn)麻煩。如編譯程序檢測(cè)出一大堆錯(cuò)誤。有時(shí)程序本身不存在語(yǔ)法錯(cuò)誤,也能夠順利運(yùn)行,但是運(yùn)行結(jié)果顯然是錯(cuò)誤的。開(kāi)發(fā)環(huán)境所提供的編譯系統(tǒng)無(wú)法發(fā)現(xiàn)這種程序邏輯錯(cuò)誤,只能靠自己的上機(jī)經(jīng)驗(yàn)分析判斷錯(cuò)誤所在。程序的調(diào)試是一個(gè)技巧性很強(qiáng)的工作,對(duì)于初學(xué)者來(lái)說(shuō),盡快掌握程序調(diào)試方法是非常重要的。有時(shí)候一個(gè)消耗你幾個(gè)小時(shí)時(shí)間的小小錯(cuò)誤,調(diào)試高手一眼就看出錯(cuò)誤所在。

通過(guò)這次為數(shù)不多的幾天計(jì)算機(jī)實(shí)習(xí)學(xué)習(xí),我們了解了一些關(guān)于c語(yǔ)言的知識(shí),理解鞏固了我們c語(yǔ)言的理論知識(shí),著對(duì)我們將來(lái)到社會(huì)工作將會(huì)有莫大的幫助。同時(shí)它讓我知道,只要你努力,任何東西都不會(huì)太難。

3.加深對(duì)課堂講授內(nèi)容的理解

課堂上要講授許多關(guān)于c語(yǔ)言的語(yǔ)法規(guī)則,聽(tīng)起來(lái)十分枯燥無(wú)味,也不容易記住,死記硬背是不可取的。然而要使用c語(yǔ)言這個(gè)工具解決實(shí)際問(wèn)題,又必須掌握它。通過(guò)多次上機(jī)練習(xí),對(duì)于語(yǔ)法知識(shí)有了感性的認(rèn)識(shí),加深對(duì)它的理解,在理解的基礎(chǔ)上就會(huì)自然而然地掌握c語(yǔ)言的語(yǔ)法規(guī)定。對(duì)于一些內(nèi)容自己認(rèn)為在課堂上聽(tīng)懂了,但上機(jī)實(shí)習(xí)中會(huì)發(fā)現(xiàn)原來(lái)理解的偏差,這是由于大部分學(xué)生是初次接觸程序設(shè)計(jì),缺乏程序設(shè)計(jì)的實(shí)習(xí)所致。C語(yǔ)言程序設(shè)計(jì)實(shí)習(xí)心得體會(huì)(3篇)C語(yǔ)言程序設(shè)計(jì)實(shí)習(xí)心得體會(huì)(3篇)。

篇9

關(guān)鍵詞:《C語(yǔ)言程序設(shè)計(jì)》;教學(xué)改革;案例教學(xué);師生互動(dòng);多媒體

中圖分類(lèi)號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)25-7182-02

Practicing on Teaching of "C Programming"

QIAO Zheng-hong

(Sci. & Tech., Institute of Science, PLA University, Nanjing 211101, China)

Abstract: C Programming is a basic course in public, it is also a practical course with highly experimental demand. Old measure of teaching in C do not adapt the student' s need, the measure of reforming teaching is introducted, such as Case Study, Teacher-student interaction, Rational use of multimedia, which gets rather good response.

Key words: C Programming; reform of teaching; case study; Teacher-student interaction; multimedia

1 引言

我校為非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生設(shè)置了兩門(mén)計(jì)算機(jī)公共基礎(chǔ)課程:一是“大學(xué)計(jì)算機(jī)基礎(chǔ)”,二是“計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)”,要求所有學(xué)生必須選修。其中“計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)”課程選用目前流行的C語(yǔ)言作為教學(xué)語(yǔ)言。

C語(yǔ)言是我校學(xué)生學(xué)習(xí)程序設(shè)計(jì)的入門(mén)語(yǔ)言,學(xué)生分析問(wèn)題、解決問(wèn)題的能力和程序設(shè)計(jì)思想的形成都與C語(yǔ)言有著密切的聯(lián)系。C語(yǔ)言既具有高級(jí)語(yǔ)言的優(yōu)點(diǎn),又具有低級(jí)語(yǔ)言的許多特點(diǎn),既可以用來(lái)編寫(xiě)系統(tǒng)軟件,又可以用來(lái)編寫(xiě)應(yīng)用軟件。C語(yǔ)言語(yǔ)法限制不嚴(yán)格,程序設(shè)計(jì)自由度大,在使用時(shí)會(huì)出現(xiàn)一些“副作用”,再加上現(xiàn)行在教學(xué)過(guò)程中存在的一些弊端,所以在學(xué)習(xí)中學(xué)生普遍反映“難學(xué)”、“不懂”、“沒(méi)興趣”,這也是在C語(yǔ)言教學(xué)中普遍遇到的問(wèn)題。

2 現(xiàn)行教學(xué)過(guò)程中存在的問(wèn)題

2.1 以書(shū)本為中心,忽視學(xué)生能力的培養(yǎng)

以書(shū)本為中心的教學(xué)模式,采用從概念到概念的注入式教學(xué),偏重于C語(yǔ)言語(yǔ)法知識(shí)的詳細(xì)講解,而對(duì)程序設(shè)計(jì)思想、程序設(shè)計(jì)方法和程序設(shè)計(jì)風(fēng)格的介紹很少,對(duì)編程能力的培養(yǎng)不足,導(dǎo)致學(xué)生學(xué)不深、學(xué)不透、學(xué)不精,不會(huì)編寫(xiě)和調(diào)試程序,不會(huì)測(cè)試程序的正確性,編寫(xiě)的程序可讀性很差,遇到稍微復(fù)雜的程序就讀不懂,更不用說(shuō)運(yùn)用學(xué)到的概念去解決實(shí)際問(wèn)題了。

2.2 以教師為主體,忽視學(xué)生的能動(dòng)作用

以教師為主體的教學(xué)方法中,由于片面強(qiáng)調(diào)和突出教師的主導(dǎo)作用,忽視和壓抑了學(xué)生的能動(dòng)作用;片面地強(qiáng)調(diào)知識(shí)的傳授和灌輸,忽視了學(xué)生創(chuàng)新能力的培養(yǎng);注重“知識(shí)型”人才,忽略了“智能型”人才的培養(yǎng)。在教學(xué)的過(guò)程中,教師只注重講解概念、語(yǔ)法和程序,不注意調(diào)動(dòng)學(xué)生的學(xué)習(xí)熱情,學(xué)生被動(dòng)接受灌輸?shù)闹R(shí),學(xué)習(xí)熱情低,即使掌握了這些內(nèi)容,也不能靈活運(yùn)用,達(dá)不到舉一反三的目的。

2.3 多媒體教學(xué)過(guò)分強(qiáng)調(diào)表現(xiàn)形式,忽略了內(nèi)容本身

在現(xiàn)代化的教學(xué)過(guò)程中,利用投影儀、計(jì)算機(jī)、網(wǎng)絡(luò)等現(xiàn)代設(shè)備開(kāi)展多媒體輔助教學(xué),具有較好的教學(xué)效果。但是在課件制作上過(guò)分強(qiáng)調(diào)表現(xiàn)形式,忽略了內(nèi)容本身,往往造成喧賓奪主,達(dá)不到預(yù)期的效果;另外在課堂上,教師過(guò)分依賴(lài)課件演示,忽視與學(xué)生溝通,影響學(xué)生參與教學(xué)活動(dòng)的積極性。

針對(duì)以上存在的不足,我們?cè)趯?duì)C 語(yǔ)言教學(xué)過(guò)程中,開(kāi)展了一系列的教學(xué)改革,在教學(xué)中采用案例教學(xué)法,強(qiáng)化師生互動(dòng),積極培養(yǎng)學(xué)生學(xué)習(xí)興趣,并合理使用現(xiàn)代教育手段,取得了良好的教學(xué)效果。

3 教學(xué)改革方法

3.1 采用實(shí)例教學(xué),突出能力培養(yǎng)

為了改變以書(shū)本為中的注入式教學(xué)方式,我們探索采用了實(shí)例教學(xué)法,以程序設(shè)計(jì)的需要帶動(dòng)語(yǔ)言知識(shí)的學(xué)習(xí),在每個(gè)知識(shí)點(diǎn)上以引例開(kāi)頭,激發(fā)學(xué)生的好奇心和求知欲,從而促進(jìn)學(xué)生成為教學(xué)主體,引導(dǎo)學(xué)生進(jìn)行自主學(xué)習(xí)、合作學(xué)習(xí)、研究性學(xué)習(xí),增強(qiáng)學(xué)生的綜合應(yīng)用能力,從而提高了教學(xué)質(zhì)量,取得了良好的效果。

在實(shí)際教學(xué)實(shí)施過(guò)程中,我們采用了項(xiàng)目遞進(jìn)驅(qū)動(dòng)教學(xué)法,改變滿(mǎn)堂灌的做法,將學(xué)生的眼手腦全部調(diào)動(dòng)起來(lái)。精心設(shè)計(jì)實(shí)例,給學(xué)生一個(gè)比較實(shí)際的切入點(diǎn),通過(guò)教師的演示使學(xué)生感覺(jué)能夠入手,然后再將此實(shí)例不斷修改、擴(kuò)充,引導(dǎo)學(xué)生參與到程序的編寫(xiě)過(guò)程中,并將學(xué)生設(shè)計(jì)的程序展示,讓學(xué)生來(lái)評(píng)判優(yōu)劣、吸收優(yōu)點(diǎn)、修改錯(cuò)誤,引導(dǎo)學(xué)生進(jìn)行程序優(yōu)化。比如在進(jìn)行if語(yǔ)句的教學(xué)時(shí),針對(duì)符號(hào)函數(shù)的求解,我們給出多種可能實(shí)現(xiàn)的程序段,讓學(xué)生分析哪些程序段能夠完成計(jì)算,哪些不能完成計(jì)算,對(duì)不能完成計(jì)算的程序段如何進(jìn)行修正等。通過(guò)這些程序的分析,使他們加深了對(duì)if語(yǔ)句的理解,掌握了if與else的配對(duì)關(guān)系,并靈活運(yùn)用去解決其他問(wèn)題。

3.2 強(qiáng)化師生互動(dòng),激發(fā)學(xué)習(xí)學(xué)習(xí)熱情,發(fā)揮學(xué)生主觀(guān)能動(dòng)性

在C語(yǔ)言教學(xué)中,我們大力強(qiáng)化師生互動(dòng),充分發(fā)揮學(xué)生的主觀(guān)能動(dòng)性,注重培養(yǎng)學(xué)生獨(dú)立學(xué)習(xí)、獨(dú)立思考、勇于創(chuàng)新的能力。師生互動(dòng)教學(xué)我們采用了“問(wèn)答式”、“討論式”等多種形式。每一種方式都有其特點(diǎn)和特定的適用范圍,在實(shí)際教學(xué)中我們根據(jù)具體情況加以靈活運(yùn)用。

“問(wèn)答式”就是教師事先設(shè)計(jì)好問(wèn)題,啟發(fā)學(xué)生思考,引導(dǎo)學(xué)生在問(wèn)題解決中構(gòu)造算法進(jìn)而掌握相關(guān)的概念、語(yǔ)法、功能及應(yīng)用。例如:要求學(xué)生編程實(shí)現(xiàn)輸入三角形的三條邊a,b,c,計(jì)算以這三個(gè)數(shù)為邊長(zhǎng)的三角形面積。我們可以適當(dāng)進(jìn)行提示提問(wèn):①輸入的三條邊能否構(gòu)成三角形?②已知三邊長(zhǎng),三角形面積該如何求呢?這就要結(jié)合中學(xué)時(shí)的數(shù)學(xué)知識(shí),對(duì)于問(wèn)題①用數(shù)學(xué)語(yǔ)言來(lái)描述為:兩邊之和大于第三邊。那么用程序語(yǔ)言該如何描述呢,應(yīng)該采用哪一種程序結(jié)構(gòu)?順序、選擇還是循環(huán)?程序結(jié)構(gòu)知道了,下一步就是根據(jù)數(shù)學(xué)公式計(jì)算面積。這樣,逐步對(duì)學(xué)生進(jìn)行提示和引導(dǎo),可以使學(xué)生的思維一直處于活躍狀態(tài)。

“討論式”就是教師預(yù)先設(shè)定討論題目和要求,由學(xué)生分組討論的一種互動(dòng)教學(xué)方式。它適用于課程中的重點(diǎn)難點(diǎn)問(wèn)題。如在鏈表的教學(xué)中,我們就如何利用鏈表實(shí)現(xiàn)棧、隊(duì)列,用鏈表實(shí)現(xiàn)與用數(shù)組實(shí)現(xiàn)各有什么優(yōu)劣等問(wèn)題時(shí)就采用“討論式”教學(xué)方法。課前教師將問(wèn)題提出來(lái),讓學(xué)生自己去思考。學(xué)生自由組合形成若干各小組,每個(gè)小組應(yīng)有一位秘書(shū),負(fù)責(zé)全程記錄討論過(guò)程,最后每個(gè)小組要出一份討論報(bào)告,然后由每個(gè)小組推選一位學(xué)生上臺(tái)講解本組的實(shí)現(xiàn)方案,其他組的同學(xué)可自由提問(wèn),最后由教師對(duì)方案的可行性、是否有創(chuàng)新、須改進(jìn)之處一一進(jìn)行分析講評(píng)。這種方式有利于培養(yǎng)學(xué)生的思維能力和協(xié)作能力,激發(fā)學(xué)生學(xué)習(xí)熱情。

3.3 合理使用多媒體,提高教學(xué)效率

在教學(xué)中結(jié)合形象直觀(guān)的事例或圖形講解概念,可以充分發(fā)揮學(xué)生的形象思維能力,不但易于理解和掌握,而且印象深刻,能有效地提高學(xué)習(xí)效率。因此在C語(yǔ)言教學(xué)中我們可利用多媒體代替?zhèn)鹘y(tǒng)的板書(shū),將文本、圖像、聲音、動(dòng)畫(huà)結(jié)合起來(lái),使抽象的內(nèi)容變得形象生動(dòng),學(xué)生通過(guò)多種感官來(lái)獲取知識(shí),形成相關(guān)的概念。但是濫用多媒體教學(xué),不但達(dá)不到預(yù)期的教學(xué)效果,反而會(huì)分散學(xué)生的注意力,削弱教師在教學(xué)過(guò)程中的主導(dǎo)作用,甚至影響學(xué)生的學(xué)習(xí)積極性。在C語(yǔ)言多媒體教學(xué)實(shí)踐中,我們著重解決好以下問(wèn)題。

3.3.1 課件內(nèi)容與形式的關(guān)系

在制作C語(yǔ)言課件時(shí),我們要根據(jù)課程的教學(xué)內(nèi)容的性質(zhì)和特點(diǎn)選擇恰當(dāng)?shù)募夹g(shù)手段和表現(xiàn)形式,充分利用了各種媒體信息為教學(xué)內(nèi)容服務(wù)。在課件制作上,不需要花時(shí)間、花精力對(duì)課件進(jìn)行包裝,刻意追求特技效應(yīng)。在課堂教學(xué)中,過(guò)多的畫(huà)面切換,容易造成學(xué)生在學(xué)習(xí)過(guò)程中應(yīng)接不暇,對(duì)所學(xué)內(nèi)容生吞活剝,能力的培養(yǎng)無(wú)從談起。實(shí)踐證明,附加信息和無(wú)關(guān)信息過(guò)多,雖然從心里上加深刺激了學(xué)生的感知能力,但卻顯得主次部分,容易分散學(xué)生的注意力。因此我們要求課件制作要?jiǎng)?wù)實(shí),不必特別美觀(guān),也不必有很高的技術(shù)含量,涵蓋的知識(shí)點(diǎn)也不必很多,只要能使抽象、難懂的內(nèi)容變得直觀(guān)、易懂,有利于學(xué)生更好地接受所學(xué)的知識(shí)就夠了。

3.3.2 注意發(fā)揮教師的主導(dǎo)作用

雖然教學(xué)課件事先已經(jīng)做好,但不是說(shuō)在課堂上教師只充當(dāng)“解說(shuō)員”、“演示員”就可以了,這樣可能會(huì)出現(xiàn)學(xué)生看了很多,聽(tīng)了很多,卻不知道要學(xué)什么,什么是重點(diǎn)難點(diǎn),而事與愿違。其實(shí),多媒體輔助教學(xué)作為一種現(xiàn)代化的教學(xué)手段,是用來(lái)提高課堂教學(xué)效率、突破重難點(diǎn)、解決一些傳統(tǒng)板書(shū)教學(xué)不容易理解的問(wèn)題。作為教師應(yīng)把握住自己在教學(xué)中的主導(dǎo)地位和作用,通過(guò)教學(xué)過(guò)程的設(shè)計(jì)和靈活多變的操作,使多媒體發(fā)揮最佳教學(xué)功能。

4 結(jié)束語(yǔ)

采用這些教學(xué)方法,有提出問(wèn)題、解決問(wèn)題、擴(kuò)展問(wèn)題、再解決問(wèn)題、對(duì)解決問(wèn)題方法的評(píng)價(jià)、優(yōu)化等幾個(gè)環(huán)節(jié),實(shí)際上是一個(gè)螺旋式滾動(dòng)向前的過(guò)程,在這個(gè)螺旋式不斷向前的過(guò)程中,能夠非常自然地調(diào)動(dòng)學(xué)生參與的積極性,而且通過(guò)問(wèn)題的擴(kuò)展,通過(guò)一個(gè)問(wèn)題的多種解決方法,使學(xué)生在課堂上真正地成為“主體”,教師扮演“主導(dǎo)”角色。當(dāng)然,在改進(jìn)和探索教學(xué)方法的同時(shí),我們還要充分利用機(jī)房、網(wǎng)絡(luò)和課外環(huán)境,啟發(fā)和調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,培養(yǎng)和提高學(xué)生的自學(xué)能力。

參考文獻(xiàn):

[1] 中國(guó)高等院校計(jì)算機(jī)基礎(chǔ)教育改革課題研究組.中國(guó)高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系2006[M]. 北京:清華大學(xué)出版社,2006.

篇10

關(guān)鍵詞:C語(yǔ)言程序;調(diào)試技術(shù);探究與分析

近些年來(lái),筆者在研究C語(yǔ)言程序設(shè)計(jì)過(guò)程中,發(fā)現(xiàn)許多人對(duì)于自身編輯的C語(yǔ)言程序運(yùn)行中出現(xiàn)的錯(cuò)誤的處理方法存在許多問(wèn)題,無(wú)法有效判斷程序錯(cuò)誤的原因以及其對(duì)應(yīng)的調(diào)試方法,文章主要從兩方面分析C語(yǔ)言程序設(shè)計(jì)調(diào)試技術(shù)。

一、運(yùn)行錯(cuò)誤的判斷與調(diào)試

一般情況下,C語(yǔ)言程序運(yùn)行錯(cuò)誤被分為兩種:邏輯錯(cuò)誤與程序設(shè)計(jì)錯(cuò)誤,前者是指編譯時(shí)沒(méi)有錯(cuò)誤提示,可以運(yùn)行,但實(shí)際的運(yùn)行結(jié)果與程序預(yù)期結(jié)果之間有偏差;后者是指程序設(shè)計(jì)中存在的問(wèn)題,在編譯與連接程序時(shí)也沒(méi)有被發(fā)現(xiàn),程序設(shè)計(jì)錯(cuò)誤的主要表現(xiàn)為:計(jì)算機(jī)突然死機(jī)、自行熱啟動(dòng)或輸出信息混亂等[1]。

文章主要介紹兩種常見(jiàn)的運(yùn)行錯(cuò)誤調(diào)試方法:

①程序算法設(shè)計(jì)不合理

有一種邏輯錯(cuò)誤主要是由于C語(yǔ)言程序設(shè)計(jì)時(shí)的算法不合理而引起的,例如對(duì)邊界及特殊情況未作預(yù)先處理,例如下述循環(huán):

While(count)

x

count=count-1;

y

該循環(huán)的設(shè)計(jì)構(gòu)思是進(jìn)行count次循環(huán),但是在該循環(huán)中,while旁邊的判斷條件恒為真,程序就會(huì)進(jìn)入“死循環(huán)”,這顯然是由于算法設(shè)計(jì)錯(cuò)誤而導(dǎo)致的,但是編譯器對(duì)于該類(lèi)錯(cuò)誤的敏感度較低,只有程序運(yùn)行出現(xiàn)異常的時(shí)候才可能被發(fā)現(xiàn)[3]。再舉一個(gè)例子:根據(jù)海倫公式計(jì)算三角面積的時(shí)候,首先需要對(duì)給出的三條邊長(zhǎng)是否符合“三角形任何兩邊的和大于第三邊”的定理,若不符合這一定理則運(yùn)算結(jié)果毫無(wú)意義;而程序員在設(shè)計(jì)一般實(shí)系數(shù)一元二次方程的程序時(shí),必須設(shè)定處理復(fù)數(shù)情況的程序,避免出現(xiàn)運(yùn)行錯(cuò)誤[4]。若采用手算的方法是不需要先考慮到這方面,可以在出現(xiàn)問(wèn)題后再根據(jù)實(shí)際情況提出解決措施。但是C語(yǔ)言程序是為計(jì)算機(jī)設(shè)計(jì)的,計(jì)算機(jī)不具備人腦自行應(yīng)變的能力,因此,在程序設(shè)計(jì)的過(guò)程中必須事先將可能發(fā)生的一切問(wèn)題都考慮到,特別是客戶(hù)委托程序員設(shè)計(jì)的或是作為商品出售的軟件更要注意這一問(wèn)題。

②程序輸入時(shí)的打字錯(cuò)誤

還有一種常見(jiàn)的邏輯錯(cuò)誤是在C語(yǔ)言程序輸入過(guò)程中,由于程序員不小心打錯(cuò)字導(dǎo)致的,例如將判斷條件中的“>=”輸為“>”,將相等判斷“==”輸為“=”等。存在此類(lèi)錯(cuò)誤的程序在運(yùn)行過(guò)程中出現(xiàn)的錯(cuò)誤表現(xiàn)具有多樣化,且很難將該錯(cuò)誤出現(xiàn)的原因與打字錯(cuò)誤聯(lián)系起來(lái)[5]。

數(shù)據(jù)輸入中存在的字符錯(cuò)誤或字符的格式錯(cuò)誤等都會(huì)影響程序的運(yùn)行結(jié)果,尤其是在數(shù)據(jù)量大,且數(shù)據(jù)輸入采用人工輸入的工作中,極其容易發(fā)生這種錯(cuò)誤。筆者以多年工作經(jīng)驗(yàn)建議當(dāng)數(shù)據(jù)輸入量較大時(shí),采用文件記錄的方式,再通過(guò)讀寫(xiě)文件來(lái)進(jìn)行數(shù)據(jù)輸入,這樣就能夠通過(guò)編輯數(shù)據(jù)文件來(lái)檢測(cè)數(shù)據(jù)中存在的錯(cuò)誤,并且在重新計(jì)算或調(diào)試過(guò)程中就不需要反復(fù)輸入[6]。這種方法非常適用于科學(xué)或工程計(jì)算應(yīng)用程序中的數(shù)據(jù)計(jì)算。

還有一種方式就是采用自行編寫(xiě)的、比較完善的數(shù)據(jù)校驗(yàn)輸入模塊來(lái)取代C語(yǔ)言中的scanf()函數(shù)來(lái)輸入數(shù)據(jù)。這種方法多用于數(shù)據(jù)處理、事務(wù)管理等復(fù)雜的應(yīng)用程序開(kāi)發(fā),常常需要將數(shù)據(jù)輸入與用戶(hù)界面等模塊相結(jié)合,對(duì)編程技能有較高的要求。

二、C語(yǔ)言程序設(shè)計(jì)基本調(diào)試方法

文章主要針對(duì)C語(yǔ)言程序設(shè)計(jì)基本調(diào)試方法的四種方法進(jìn)行介紹。

1.標(biāo)準(zhǔn)數(shù)據(jù)校驗(yàn)

在程序編譯、連接完畢之后,下一階段就是運(yùn)行調(diào)試。運(yùn)行調(diào)試階段首先需要使用若干組已知結(jié)果的標(biāo)準(zhǔn)數(shù)據(jù)對(duì)程序進(jìn)行檢驗(yàn)。在此過(guò)程中標(biāo)準(zhǔn)數(shù)據(jù)的選取對(duì)檢驗(yàn)結(jié)果具有重要影響,因此,標(biāo)準(zhǔn)數(shù)據(jù)的選擇需要選取具有代表性且比較簡(jiǎn)潔的數(shù)據(jù),主要是為了簡(jiǎn)化對(duì)檢驗(yàn)結(jié)果正確性分析的不足[7]。此外,對(duì)重要的臨界數(shù)據(jù)也需要進(jìn)行檢驗(yàn)。

2.程序跟蹤

對(duì)于復(fù)雜的大型程序而言,上述檢驗(yàn)一次性通過(guò)是不可能完成的。一般情況下,程序存在各種各樣的問(wèn)題(程序存在問(wèn)題是一個(gè)普遍現(xiàn)象,一個(gè)錯(cuò)誤也沒(méi)有的程序在實(shí)際中較少),因此,需要對(duì)程序進(jìn)行嚴(yán)謹(jǐn)?shù)母櫿{(diào)試。

程序跟蹤是調(diào)試工作中的一種方法。程序跟蹤的方法是通過(guò)讓程序一句一句的執(zhí)行,通過(guò)觀(guān)察程序執(zhí)行過(guò)程中的數(shù)據(jù)以及程序的流程變化來(lái)分析其中存在的錯(cuò)誤。例如在Turbo C中,可以采用兩種程序跟蹤的方法,一種是通過(guò)利用集成環(huán)境中分步執(zhí)行、斷點(diǎn)設(shè)置以及變量?jī)?nèi)容顯示等功能觀(guān)察程序的合理性;還有一種方法是傳統(tǒng)方法,其主要通過(guò)在程序中直接設(shè)置斷點(diǎn)、打印重要變量來(lái)觀(guān)察程序有無(wú)錯(cuò)誤存在。

3.邊界檢查

在數(shù)據(jù)檢查過(guò)程中,要重視邊界可能存在的特殊情況,例如以下循環(huán):

While(count

x

y

需要檢查設(shè)計(jì)數(shù)據(jù)count等于0、負(fù)數(shù)、999及1000等情況。若程序中存在if-else或switch等語(yǔ)言組成的分支時(shí),也需要設(shè)計(jì)相應(yīng)的判斷數(shù)據(jù),且對(duì)分支中的路徑進(jìn)行檢測(cè)。

4.簡(jiǎn)化循環(huán)次數(shù)

在調(diào)試程序的過(guò)程中,可以通過(guò)簡(jiǎn)化程序來(lái)實(shí)現(xiàn)提升調(diào)試速度的目的,例如減少循環(huán)次數(shù)、減小數(shù)組規(guī)模、屏蔽部分次要程序段等方法。但是在簡(jiǎn)化程序的過(guò)程中,要注意不能太過(guò)簡(jiǎn)化,否則無(wú)法代表程序真實(shí)的運(yùn)行狀況。舉個(gè)例子來(lái)說(shuō),對(duì)于一個(gè)求解N元一次方程組的程序來(lái)說(shuō),僅通過(guò)將N設(shè)置為2的檢測(cè)是遠(yuǎn)遠(yuǎn)不夠的,不能確定該程序是否在數(shù)值較大的方程組中也能得出正確的數(shù)據(jù)。若在N=5或6的情況下程序計(jì)算正確,則可以確保程序出錯(cuò)的可能性較小。

結(jié)束語(yǔ)

計(jì)算機(jī)技術(shù)的不斷發(fā)展促使現(xiàn)代人們工作、學(xué)習(xí)以及生活方式發(fā)生巨大改變,且隨著計(jì)算機(jī)軟件功能的不斷強(qiáng)大,使得計(jì)算機(jī)軟件廣泛應(yīng)用于各個(gè)領(lǐng)域中。但是在C語(yǔ)言程序應(yīng)用過(guò)程中,程序錯(cuò)誤的出現(xiàn)威脅著程序軟件的正常運(yùn)行。因此,提高程序安全性成為程序員有待解決的問(wèn)題。文章主要針對(duì)C語(yǔ)言程序設(shè)計(jì)調(diào)試技術(shù)展開(kāi)分析,首先介紹了C語(yǔ)言運(yùn)行錯(cuò)誤的判斷與調(diào)試,分析了2種常見(jiàn)邏輯錯(cuò)誤判斷與調(diào)試方法,然后針對(duì)4種C語(yǔ)言程序設(shè)計(jì)基本調(diào)試方法進(jìn)行闡述,旨在提高C語(yǔ)言程序設(shè)計(jì)調(diào)試技術(shù)水平。

參考文獻(xiàn)

[1]張秀美,趙旭霞.程序調(diào)試技術(shù)在C語(yǔ)言函數(shù)教學(xué)中的應(yīng)用[J].教育教學(xué)論壇,2014,22(11):85-86.

[2]崔光佐,程旭,佟冬等.面向處理器的系統(tǒng)級(jí)模擬、仿真及調(diào)試技術(shù) ――基于軟硬件協(xié)同設(shè)計(jì)的新方法[J].計(jì)算機(jī)研究與發(fā)展,2011,38(3):361-367.

[3]李從宇,王寶光.嵌入式DSP系統(tǒng)C語(yǔ)言硬件編程技術(shù)[J].測(cè)控技術(shù),2013,26(4):68-70.

[4]姚放吾,金鑫.基于Monitor的C語(yǔ)言源代碼調(diào)試器的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,21(6):55-58.

[5]吳興華.基于C語(yǔ)言軟件開(kāi)發(fā)的效率、移植及調(diào)試[J].數(shù)字技術(shù)與應(yīng)用,2013,14(12):172-172.