亚洲成色777777女色窝,777亚洲妇女,色吧亚洲日本,亚洲少妇视频

c語言程序設(shè)計(jì)

時(shí)間:2022-04-14 19:23:03

導(dǎo)語:在c語言程序設(shè)計(jì)的撰寫旅程中,學(xué)習(xí)并吸收他人佳作的精髓是一條寶貴的路徑,好期刊匯集了九篇優(yōu)秀范文,愿這些內(nèi)容能夠啟發(fā)您的創(chuàng)作靈感,引領(lǐng)您探索更多的創(chuàng)作可能。

第1篇

關(guān)鍵詞:C語言;程序設(shè)計(jì);學(xué)習(xí)方法;學(xué)習(xí)興趣

中圖分類號(hào):TP312.1-4

《C語言程序設(shè)計(jì)》是計(jì)算機(jī)專業(yè)的一門核心專業(yè)基礎(chǔ)課程,是專升本、考研和等級(jí)水平考試的必考科目,也是學(xué)生學(xué)習(xí)中感到比較吃力的一門課。那么,如何學(xué)習(xí)《C語言程序設(shè)計(jì)》這門課程呢?現(xiàn)根據(jù)自己多年在教學(xué)中的體會(huì),談一些粗淺的認(rèn)識(shí)。

1 為什么要學(xué)習(xí)《C語言程序設(shè)計(jì)》

《C語言程序設(shè)計(jì)》是用C語言來編寫程序的,每個(gè)程序員在他們的編程生涯中都應(yīng)該學(xué)習(xí)C語言,因?yàn)樗刑嚯y以忽視的好處了。除了它會(huì)給你提供更多的工作機(jī)會(huì)之外,C語言還會(huì)教給你更多的關(guān)于計(jì)算機(jī)的知識(shí)。它的好處如下:

1.1 C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言

它既具有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn),既可以用來編寫系統(tǒng)軟件,又可以用來編寫應(yīng)用軟件。它不僅具有繪圖能力強(qiáng),還具備很強(qiáng)的數(shù)據(jù)處理能力,因此也適于編寫三維,二維圖形和動(dòng)畫。

1.2 C語言具有功能強(qiáng)大、使用靈活、豐富的數(shù)據(jù)類型和運(yùn)算符、結(jié)構(gòu)化的控制語句、目標(biāo)代碼運(yùn)行效率高、適用范圍大、可移植性好等優(yōu)點(diǎn)。

1.3 C語言是各大操作系統(tǒng)的基礎(chǔ),Unix、Linux、Windows其內(nèi)核都清一色是C語言開發(fā)的,(某些地方是和匯編語言混合開發(fā)的),還有各種語言的編譯器,包括java虛擬機(jī),各種嵌入式設(shè)備,如手機(jī)、PDA等都是C語言開發(fā)的。

1.4 C語言是基礎(chǔ),如果你學(xué)習(xí)過C語言,你就能學(xué)習(xí)現(xiàn)在任何的高級(jí)編程語言

因?yàn)樗械母呒?jí)語言都是以C語言為基礎(chǔ)的(像JAVA,C++,C#等等)。C語言學(xué)好了,將來想學(xué)其他的語言,就比較好入門了。

2 如何學(xué)習(xí)《C語言程序設(shè)計(jì)》

2.1 克服畏難心理,充滿自信的學(xué)習(xí)《C語言程序設(shè)計(jì)》

大多數(shù)學(xué)生一看到《C語言程序設(shè)計(jì)》課程的教材,就有畏難的情緒,覺得C語言難學(xué),學(xué)不會(huì),因?yàn)樗麄儗?duì)計(jì)算機(jī)語言不了解,另外有些英語差的同學(xué),看到計(jì)算機(jī)編程是用英語編寫的,就未學(xué)先棄了。其實(shí)學(xué)習(xí)語言并沒有他們想象的那么難,英語差也對(duì)學(xué)習(xí)計(jì)算機(jī)語言影響不大,比如學(xué)C語言,真正要記的關(guān)鍵字不多,語法也不復(fù)雜,只要大家不帶著畏難的心理,充滿自信,一定能學(xué)好的。

2.2 要明確《C語言程序設(shè)計(jì)》的學(xué)習(xí)目的

通過《C語言程序設(shè)計(jì)》課程的學(xué)習(xí),掌握C語言基本知識(shí),掌握程序設(shè)計(jì)的基本方法并逐步形成正確的程序設(shè)計(jì)思想,能夠熟練運(yùn)用基本程序結(jié)構(gòu)解決簡單問題,理解模塊化程序設(shè)計(jì)原則并能熟練使用C語言進(jìn)行程序設(shè)計(jì),具備調(diào)試程序的能力,為后繼課程及其他程序設(shè)計(jì)課程的學(xué)習(xí)和應(yīng)用打下基礎(chǔ)。

2.3 要明白《C語言程序設(shè)計(jì)》與一般的計(jì)算機(jī)操作課程有所不同

《C語言程序設(shè)計(jì)》是計(jì)算機(jī)的一門軟件編程課程,是用C語言來編寫程序的,它具有難度性、抽象性、連續(xù)性和邏輯嚴(yán)密性。如果你第一次課來聽了,第二次課沒來,第三次課很可能就聽不懂了。比如,第一次課講的是數(shù)字1,2,3,4……,第二次課講的是運(yùn)算符號(hào)+,-,*,/,第三次課老師讓你算1+2=?,如果你前兩次課都來聽了,那么你就能算出它的結(jié)果,否則你就算不出它的結(jié)果。因此,如果要想學(xué)好《C語言程序設(shè)計(jì)》,必須堅(jiān)持每次課都來,如果那天確實(shí)不能來,就應(yīng)在家自學(xué),不懂的地方應(yīng)及時(shí)向老師請(qǐng)教,一定不能落課。

2.4 要整體把握《C語言程序設(shè)計(jì)》

C語言是一種通用的程序設(shè)計(jì)語言,在開發(fā)系統(tǒng)軟件和應(yīng)用軟件中得到廣泛的應(yīng)用,已成為當(dāng)今計(jì)算機(jī)世界最流行的語言之一。C語言是一個(gè)整體,各個(gè)方面是有機(jī)聯(lián)系的,要從總體上把握它,不要把它割裂成互不關(guān)聯(lián)的部件。它包括C語言概述、數(shù)據(jù)類型(整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等)、運(yùn)算符和表達(dá)式、流程控制語句、函數(shù)、數(shù)組、字符與字符串、指針、結(jié)構(gòu)體、文件等。通過《C語言程序設(shè)計(jì)》的學(xué)習(xí),掌握程序設(shè)計(jì)的基本概念、基本思想、基本方法和基本技能,進(jìn)而學(xué)會(huì)利用C語言解決實(shí)際問題,培養(yǎng)計(jì)算機(jī)程序設(shè)計(jì)的能力和素質(zhì),以及思維方法,為以后學(xué)習(xí)其它計(jì)算機(jī)程序語言和后續(xù)的專業(yè)課程打下基礎(chǔ)。

簡單的C程序是由主函數(shù)和函數(shù)體兩大部分組成。它的基本框架如下:

main()

{

}

其中main表示“主函數(shù)”。每一個(gè)C程序都必須有一個(gè)main函數(shù),而且只能有一個(gè)main函數(shù),它表示程序從這里開始執(zhí)行。由花括號(hào)“{ }”括起的部分是函數(shù)體。其中函數(shù)體又包括定義變量、變量賦值、函數(shù)調(diào)用、輸出打印等。

例:一個(gè)簡單的求和程序

main() /*主函數(shù)*/

{

int a,b,sum; /*定義變量*/

a=123;b=456; /*變量賦值*/

sum=a+b; /*求兩數(shù)之和*/

printf(“sum is %d\n”,sum); /*輸出和值*/

}

這是一個(gè)簡單的求和程序。/*...*/表示注釋部分,只給人看的,對(duì)編譯和運(yùn)行不起作用。第3行是聲明部分,定義變量a、b、sum,指定a、b、sum為整型(int)變量。第4行是兩個(gè)賦值語句,使a和b的值分別為123和456。第5行使sum的值為a+b,第6行中“%d”是輸入輸出的“格式字符串”,用來指定輸入輸出時(shí)的數(shù)據(jù)類型和格式,“%d”表示“以十進(jìn)制整數(shù)形式輸出”。Printf函數(shù)中括弧內(nèi)最右端sum是要輸出的變量,現(xiàn)在它的值為579(即123+456之值)。因此輸出一行信息為:

sum is 579

從這個(gè)例子可以看出,想要把《C語言程序設(shè)計(jì)》這門課學(xué)好,不僅要知道《C語言程序設(shè)計(jì)》的基本框架,還要學(xué)好函數(shù)體中的內(nèi)容(變量類型、定義變量、變量賦值、輸入輸出格式字符串、輸入輸出函數(shù)格式、調(diào)用函數(shù)等)。另外還要學(xué)好C語言的運(yùn)算符、運(yùn)算順序 、四種程序結(jié)構(gòu)(順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、模塊化程序結(jié)構(gòu) )、掌握一些簡單的算法等。

2.5 熟練C程序的上機(jī)步驟

在編好一個(gè)C源程序后,如何上機(jī)運(yùn)行呢?要經(jīng)過編輯、編譯、連接和運(yùn)行四個(gè)步驟。

(1)編輯源文件。在編輯(Edit)狀態(tài)下輸入或修改源程序。

(2)編譯源程序。選擇“C編譯”菜單并選擇“編譯到OBJ”,進(jìn)行編譯,得到一個(gè)后綴為.obj的目標(biāo)程序。

(3)然后再選擇菜單“L連接EXE文件”,進(jìn)行連接操作,可得到一個(gè)后綴為.exe的可執(zhí)行文件。

(4) 運(yùn)行程序。在“RUN”菜單中選擇“R運(yùn)行程序”項(xiàng),或直接按Ctr+F9鍵,系統(tǒng)就會(huì)運(yùn)行已編譯好的可執(zhí)行目標(biāo)文件。此時(shí),TC集成環(huán)境窗口消失,屏幕上顯示出程序運(yùn)行的結(jié)果。如果程序需要輸入數(shù)據(jù),則應(yīng)在此時(shí),從鍵盤輸入所需數(shù)據(jù),然后程序會(huì)接著執(zhí)行,輸出結(jié)果。

2.6 要加強(qiáng)編程訓(xùn)練

《C語言程序設(shè)計(jì)》是實(shí)踐性非常強(qiáng)的課程,要求學(xué)員要理論聯(lián)系實(shí)際,在掌握C語言的基本語法和基本知識(shí)后,重點(diǎn)應(yīng)放在提高編程能力的訓(xùn)練上。根據(jù)學(xué)生學(xué)習(xí)的認(rèn)知特點(diǎn),我認(rèn)為主要應(yīng)從以下幾個(gè)方面進(jìn)行強(qiáng)化訓(xùn)練:

(1)吃透課本例子。每學(xué)完一次新課,讓學(xué)生對(duì)課本例子先分析任務(wù)、再仔細(xì)閱讀程序,然后按書上的源代碼敲出來,編譯執(zhí)行輸出結(jié)果,如果結(jié)果跟書上一致就算完成,如果不一致,就要仔細(xì)找原因。再后不看書自己編寫代碼與課本對(duì)照,找出自己的不足,然后改進(jìn)。最后在此例的基礎(chǔ)上自己加以改造,舉一反三,變?yōu)槠渌睦樱绱朔磸?fù)練習(xí),不僅培養(yǎng)了學(xué)生動(dòng)腦思考的習(xí)慣,而且養(yǎng)成了遇事三思、認(rèn)真、周密的作風(fēng)。

(2)精選上機(jī)題目,要求調(diào)試通過。每章找出一個(gè)或兩個(gè)綜合性的具有代表性的應(yīng)用題目,如編寫一個(gè)程序,計(jì)算一個(gè)整數(shù)的名位數(shù)字之和;用選擇法對(duì)數(shù)組中10個(gè)整數(shù),按由小到大的順序進(jìn)行排序等,要求用C語言編寫可執(zhí)行的源程序,上機(jī)調(diào)試。這樣不僅鍛煉了學(xué)生解決實(shí)際問題的能力,更重要的是激發(fā)了學(xué)生學(xué)習(xí)課程的興趣,抽象變具體 ,理論變實(shí)踐,對(duì)這門課有了更深的認(rèn)識(shí)。

(3)閱讀填空法。找一些經(jīng)典程序,配上必要的說明,適當(dāng)去掉語句或表達(dá)式,讓學(xué)生通過閱讀填補(bǔ)空白,訓(xùn)練學(xué)生的程序設(shè)計(jì)能力。例編寫一個(gè)程序,輸入月份號(hào),輸出月的英文月名,還有求和、排序、報(bào)號(hào)等。

(4)準(zhǔn)備一個(gè)經(jīng)驗(yàn)本,記下C語言重要的語法和知識(shí)點(diǎn),還有自己出錯(cuò)的解決方法及老師講解的其他同學(xué)出現(xiàn)的常見錯(cuò)誤,抽空常翻看,逐步積累經(jīng)驗(yàn),加深印象,使以后避免。

(5)帶著作業(yè)去上機(jī)。每次理論課結(jié)束后,老師都會(huì)給學(xué)生布置一些作業(yè)(如習(xí)題)讓學(xué)生做,那么學(xué)生一定要認(rèn)認(rèn)真真的把作業(yè)完成好,先把程序編寫在作業(yè)本上,上機(jī)時(shí)再把這些程序敲到計(jì)算機(jī)上,進(jìn)行修改、調(diào)試、運(yùn)行,最后輸出結(jié)果。如果學(xué)生不帶作業(yè)去上機(jī),第一次老師警告下次一定帶作業(yè)上機(jī),如果第二次還沒帶作業(yè),不準(zhǔn)學(xué)生進(jìn)機(jī)房,讓學(xué)生到教室把作業(yè)做完后再到機(jī)房上機(jī)調(diào)試。有人說學(xué)生可以直接在機(jī)器上編寫程序,固然沒錯(cuò),但對(duì)于初學(xué)者來說,如果在機(jī)器上邊思考邊編寫,也就是說想一句編一句,再想一句再編一句,這樣太浪費(fèi)時(shí)間,一節(jié)課說不定連一個(gè)程序都編不好,所以老師一定要求學(xué)生在課下把程序編好,上機(jī)只需把程序敲出來進(jìn)行修改、調(diào)試、運(yùn)行,這樣能節(jié)約大量的時(shí)間,學(xué)生上機(jī)時(shí)間本身都是有限的。

上述方法在教學(xué)實(shí)踐中證明是行之有效的,學(xué)生對(duì)問題分析、程序設(shè)計(jì)的自覺性和能動(dòng)性得到提高,動(dòng)手能力加強(qiáng),對(duì)后繼課如《C++》、《面向?qū)ο蟪绦蛟O(shè)計(jì)》等,學(xué)習(xí)起來倍感輕松,較好地完成了該門課程的學(xué)習(xí)目標(biāo)??傊瑢?shí)踐出真知,多學(xué)、多練、多思、多交流,勤奮好學(xué)才能學(xué)成。

參考文獻(xiàn):

[1]嚴(yán)桂蘭.C語言程序設(shè)計(jì)與應(yīng)用教程[M].福建:廈門大學(xué)出版社,2001.

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

[3]陳東.計(jì)算機(jī)多媒體教學(xué)改革的一些嘗試[J].福建師范大學(xué)學(xué)報(bào)(自然版),2004,20(3):98.

[4]王蘭.學(xué)好《C程序設(shè)計(jì)》的幾點(diǎn)建議[J].科技信息,2007(9).

第2篇

關(guān)鍵詞:C語言;理論教學(xué);實(shí)踐教學(xué)

中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-9324(2012)07-0079-02

隨著計(jì)算機(jī)學(xué)科和其他學(xué)科交叉應(yīng)用的不斷深入,高校都開設(shè)了程序設(shè)計(jì)課程,培養(yǎng)學(xué)生掌握和利用計(jì)算機(jī)分析解決問題的能力,同時(shí)提高學(xué)生的邏輯思維能力。要進(jìn)行程序設(shè)計(jì),必須掌握一門計(jì)算機(jī)語言作為編程工具,由于C語言功能豐富,表達(dá)能力強(qiáng),使用靈活方便,應(yīng)用面廣,目標(biāo)程序效率高,可移植性好,它既有高級(jí)語言的優(yōu)點(diǎn),又有低級(jí)語言的許多特點(diǎn),通過該課程可以很好地提高學(xué)生的編程能力,進(jìn)一步為學(xué)習(xí)其他涉及到計(jì)算機(jī)知識(shí)的專業(yè)課程或者從事編程開發(fā)工作打下良好的基礎(chǔ),因此很多高校都把C語言程序設(shè)計(jì)作為一門基礎(chǔ)的必修課進(jìn)行開設(shè)[1]。然而通過調(diào)查發(fā)現(xiàn),在教學(xué)過程學(xué)生普遍反應(yīng)C語言難學(xué)而老師感覺難教,課程結(jié)束后很多學(xué)生對(duì)程序設(shè)計(jì)沒有清醒的認(rèn)識(shí),更談不上進(jìn)行實(shí)際的應(yīng)用開發(fā)[2]。如何解決C語言程序設(shè)計(jì)課程教學(xué)中普遍存在的問題,讓學(xué)生對(duì)程序設(shè)計(jì)有一個(gè)完整的認(rèn)識(shí),進(jìn)而培養(yǎng)和提高學(xué)生的綜合素質(zhì),是值得每一位從事程序設(shè)計(jì)語言教學(xué)的教師去認(rèn)真研究的課題。

一、存在的問題

高校C語言課程大都在一年級(jí)開設(shè),由于大多數(shù)學(xué)生在高中時(shí)接觸計(jì)算機(jī)編程較少,這就導(dǎo)致了學(xué)生在學(xué)習(xí)C語言的過程中,感覺其枯燥、抽象、難以掌握;對(duì)基本概念尚能理解,但當(dāng)實(shí)際編程時(shí),又感覺無從下手。這些問題跟教師講課過程中過多注重語法等理論知識(shí),對(duì)學(xué)生學(xué)習(xí)興趣和解決實(shí)際問題的能力培養(yǎng)不夠有很大關(guān)系,主要原因體現(xiàn)在以下幾個(gè)方面。

(1)學(xué)習(xí)目的不明確。一些學(xué)生不清楚程序課程的學(xué)習(xí)目的和意義,認(rèn)為就是學(xué)習(xí)語法規(guī)則,學(xué)習(xí)內(nèi)容抽象并且晦澀難懂,沒有實(shí)用價(jià)值,學(xué)習(xí)只是為了考試及格,認(rèn)為大一開設(shè)的課程是基礎(chǔ)課,和專業(yè)課聯(lián)系不大,對(duì)自己的就業(yè)沒有影響。一些非計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)該課程目的甚至只是為能通過計(jì)算機(jī)等級(jí)考試拿到證書。

(2)學(xué)習(xí)內(nèi)容不合理。許多老師在講授課程內(nèi)容時(shí)往往都是先給出一般的語法格式,然后介紹語句的語法規(guī)則,最后講解語法要點(diǎn)和例題,沒有易于理解和能夠提高學(xué)習(xí)的案例,由于書本內(nèi)容死板枯燥且和實(shí)際問題脫節(jié),無法滿足學(xué)生的認(rèn)識(shí)水平,也不能調(diào)動(dòng)學(xué)生學(xué)習(xí)的興趣。在進(jìn)行上機(jī)實(shí)驗(yàn)時(shí),試驗(yàn)內(nèi)容往往是書本上的或是老師上課時(shí)所講的案例,由于內(nèi)容的選擇不恰當(dāng),上機(jī)實(shí)踐很大一部分情況下都變成了打字練習(xí),或者只會(huì)驗(yàn)證性地做一些修改對(duì)錯(cuò)、得出程序運(yùn)行結(jié)果的實(shí)驗(yàn),一旦要求功能改進(jìn),不能進(jìn)行算法和語法結(jié)構(gòu)的調(diào)整,最后學(xué)生總會(huì)覺得出C語言難學(xué)的結(jié)論[3]。

(3)教學(xué)方式不完善。部分老師的教學(xué)仍然采用理論講授在先、上機(jī)實(shí)驗(yàn)驗(yàn)證、最后布置作業(yè)鞏固的傳統(tǒng)教學(xué)模式,在教學(xué)過程中過多強(qiáng)調(diào)學(xué)習(xí)語法格式等理論知識(shí),重點(diǎn)分析程序和算法的運(yùn)行過程,而不是講解根據(jù)問題如何分析和設(shè)計(jì)算法和程序,從而致使學(xué)生的程序設(shè)計(jì)能力不強(qiáng)。這種教學(xué)模式培養(yǎng)出的學(xué)生雖然理論知識(shí)學(xué)得很好,考試的時(shí)候也可以拿到高分,但在真正要求解決實(shí)際問題的時(shí)候,往往沒有編寫程序的思路,不知如何下手。由于經(jīng)常解決不了問題,不能體會(huì)到計(jì)算機(jī)編程在解決實(shí)際問題時(shí)帶來的便捷以及沒有編程的成就感,久而久之,學(xué)生也就失去了學(xué)習(xí)計(jì)算機(jī)編程的動(dòng)力。

二、解決方法

(1)激發(fā)學(xué)生學(xué)習(xí)興趣。興趣是最好的老師,能夠使人產(chǎn)生愉快的心理狀態(tài),并對(duì)學(xué)習(xí)過程產(chǎn)生積極的影響。研究證明學(xué)習(xí)者只要對(duì)學(xué)習(xí)有興趣,就可使人腦處于開放狀態(tài),學(xué)習(xí)者對(duì)于學(xué)習(xí)的興趣越濃,信息在傳輸過程中受到的干擾就越小,信息接受量就越大。從教育心理學(xué)的角度來說,興趣是一個(gè)人傾向于認(rèn)識(shí)研究獲得某種知識(shí)的心理特征,是推動(dòng)人們求知的一種內(nèi)在力量。人的注意力、觀察力、思維能力、記憶力乃至想象力都和興趣緊密相連,興趣能使人的認(rèn)識(shí)理解記憶處于最佳狀態(tài),思維能力最為主動(dòng)和活躍[4]。有了學(xué)習(xí)興趣,學(xué)生才有可能有意識(shí)地去思考和解決問題,因此在C語言教學(xué)的過程中要注重激發(fā)學(xué)生的學(xué)習(xí)興趣。

第3篇

關(guān)鍵詞:中職;C語言;設(shè)計(jì);教學(xué);有效性

中圖分類號(hào):TP312.1-4

1 存在的問題和困惑

《C語言程序設(shè)計(jì)》課程共72個(gè)學(xué)時(shí),其中36課時(shí)安排在教室進(jìn)行理論課教學(xué),另外36課時(shí)安排上機(jī)練習(xí)。教學(xué)效果并不理想。經(jīng)過一段時(shí)間的觀察與分析,總結(jié)了原因有以下幾點(diǎn):

首先在教學(xué)環(huán)境上存在著一定的問題。我校的微機(jī)房和教室是分開的,也就是說理論教室和機(jī)房并不在一起。這就導(dǎo)致了在授課過程中需要把理論知識(shí)內(nèi)容和上機(jī)操作的內(nèi)容完全割裂開來進(jìn)行講解。但作為課程來說,大多數(shù)知識(shí)點(diǎn)并沒有明確的歸類,而是理論和實(shí)踐穿插在一起,理論知識(shí)給實(shí)踐環(huán)節(jié)提供支撐,實(shí)踐環(huán)節(jié)又能通過感官加深對(duì)理論知識(shí)的認(rèn)識(shí)。因此將理論和實(shí)踐上機(jī)割裂開來的后果是,每次在教室講到某一知識(shí)點(diǎn)時(shí),不能及時(shí)通過上機(jī)練習(xí)加深學(xué)生的認(rèn)識(shí),使得學(xué)生在課后很短時(shí)間內(nèi)便將課堂所授知識(shí)慢慢淡化并遺忘。其次,我校招收到的學(xué)生整體素質(zhì)不太理想,學(xué)生的學(xué)習(xí)習(xí)慣僅僅停留在課堂教學(xué)過程中,學(xué)習(xí)熱情也不高,因此基本上也就是當(dāng)下課后,除了完成老師布置的作業(yè)外,很少有同學(xué)能自覺、主動(dòng)完成課程的預(yù)習(xí)和復(fù)習(xí)。因此知識(shí)在學(xué)生頭腦中的存在感很弱。

第三,由于《C語言程序設(shè)計(jì)》這門課程的邏輯性較強(qiáng),需要學(xué)生發(fā)揮更多的想象空間去思考、去理解。當(dāng)同學(xué)們遇到某個(gè)難題,無法跨越,不能立刻理解的時(shí)候,就會(huì)造成學(xué)習(xí)信心不足,導(dǎo)致對(duì)課程產(chǎn)生一種恐懼心理,而把這種心理帶到課堂中,造成了后面知識(shí)點(diǎn)的學(xué)習(xí)不暢,進(jìn)而進(jìn)入了一種學(xué)習(xí)的惡性循環(huán)。

2 解決問題的方法和措施

按照以往傳統(tǒng)的教學(xué)策略,老師們常常是通過對(duì)后進(jìn)同學(xué)進(jìn)行補(bǔ)課、輔導(dǎo),且在平時(shí)教學(xué)過程中適當(dāng)增加課時(shí)量或大量增加作業(yè)量,期望學(xué)生能通過這種不斷、反復(fù)的灌輸與練習(xí)來加深記憶,達(dá)到理解知識(shí)的目的。但作為一門具有較強(qiáng)邏輯性和對(duì)學(xué)生動(dòng)手能力要求較高,并且需要通過理解才能達(dá)到靈活應(yīng)用的計(jì)算機(jī)語言類課程,這一做法顯然已經(jīng)不適用于本課程的教學(xué)。增加課時(shí)量或作業(yè)量,學(xué)生或許能暫時(shí)加深對(duì)知識(shí)的記憶,但對(duì)于幫助學(xué)生達(dá)到理解知識(shí)并靈活應(yīng)用這一目的,卻并不能起到很好的推動(dòng)作用。因此,通過我在教學(xué)實(shí)踐中的反復(fù)摸索,嘗試結(jié)合以下幾種措施來進(jìn)行改變:

2.1 深入鉆研,用好教材

首先,教材是教學(xué)之根本,教師必須圍繞教材進(jìn)行知識(shí)點(diǎn)的講解。脫離教材進(jìn)行講解,很容易讓學(xué)生在課后的學(xué)習(xí)過程中無從下手。教材用的合適可以大大減輕學(xué)生完成課后作業(yè)的壓力。

做到這一點(diǎn),首先教師應(yīng)通過深入地研讀教材,準(zhǔn)確把握教學(xué)內(nèi)容,提煉教學(xué)重點(diǎn)難點(diǎn);其次,通過了解學(xué)生,準(zhǔn)確把握學(xué)生學(xué)習(xí)起點(diǎn)及需要,結(jié)合教材內(nèi)容精心設(shè)計(jì)教學(xué)活動(dòng)。

(1)深度透視教材,把握教材脈絡(luò)。教材是知識(shí)的載體,是教師教學(xué)的依據(jù),是學(xué)生學(xué)習(xí)的平臺(tái)。但大多數(shù)教材并沒有提供完整的教學(xué)過程,也沒有提供詳盡的教學(xué)設(shè)計(jì)理念。面多種學(xué)生個(gè)體差異,教材也并不會(huì)羅列出有針對(duì)性的教學(xué)方法。因此作為教師在備課過程中就應(yīng)樹立整體概念,高屋建瓴,從教材的整體入手通盤考慮教材的編排意圖,弄清每部分知識(shí)點(diǎn)在教材體系中的地位和作用,多問幾個(gè)為什么。如:這例題為什么這樣設(shè)計(jì)?習(xí)題為什么這樣編排?結(jié)論為什么這樣引出?經(jīng)過一系列思考后,教師駕馭教材的能力肯定可以有所提高。通過教材脈絡(luò)的把握,教師可以更合理的進(jìn)行課后習(xí)題的設(shè)計(jì)與編排。有利于學(xué)生參照課堂教學(xué)環(huán)節(jié)進(jìn)行課后的作業(yè)及課后的自主學(xué)習(xí)與探究。

(2)合理地確立教學(xué)內(nèi)容。作為中等職業(yè)學(xué)校的學(xué)生,學(xué)習(xí)基礎(chǔ)相對(duì)比較薄弱,缺乏良好的學(xué)習(xí)習(xí)慣。而對(duì)于中等職業(yè)學(xué)校而言,需要培養(yǎng)的是具有高素質(zhì)的職業(yè)技能人才,較強(qiáng)的實(shí)踐動(dòng)手能力尤為重要,而對(duì)理論知識(shí)的深度并沒有太多的要求。此外,由于C語言程序設(shè)計(jì),對(duì)于學(xué)生來說,邏輯性較強(qiáng)。太深的教學(xué)難度不容易激發(fā)學(xué)生的學(xué)習(xí)興趣,容易挫傷學(xué)生的學(xué)習(xí)積極性,而增加教學(xué)難度。

因此在教學(xué)過程中,我在保證知識(shí)、技能目標(biāo)前提下,對(duì)教材內(nèi)容進(jìn)行了拓展開發(fā),刪除了一部分學(xué)生不容易理解和掌握的內(nèi)容,比如文件、類的章節(jié),而在條件、循環(huán)等基礎(chǔ)性環(huán)節(jié)上增加了課時(shí)量。這樣使教學(xué)過程充實(shí)、豐富。

2.2 分層教學(xué),各個(gè)擊破

從思想上來開,中等職業(yè)學(xué)校學(xué)生正處于青春叛逆期,如果過于強(qiáng)調(diào)課程的重要性,作業(yè)布置太多,容易引起學(xué)生的抵觸心理。因此在授課過程中,我強(qiáng)調(diào)理論聯(lián)系實(shí)際。盡可能多的引入一些計(jì)算機(jī)方面的新技術(shù),新應(yīng)用,通過PPT、圖片、視頻、游戲等方式展現(xiàn)給學(xué)生看(如圖1)。一方面提高學(xué)生對(duì)于計(jì)算機(jī)學(xué)習(xí)的興趣,另一方面,通過新技術(shù)的應(yīng)用,幫助同學(xué)們樹立學(xué)習(xí)的信心,減少學(xué)生的畏難情緒。促使學(xué)生積極主動(dòng)的掌握所學(xué)知識(shí),激發(fā)他們不斷深入研究學(xué)習(xí)的興趣和激情。

同時(shí),在課程教學(xué)過程中所用的示例也盡可能的貼近學(xué)生的實(shí)際,例如,求學(xué)生多門課程的總分、平均分或根據(jù)成績進(jìn)行登記劃定等等。

此外,在教學(xué)過程中,我根據(jù)學(xué)生的基礎(chǔ),把學(xué)生分成紅、藍(lán)兩個(gè)戰(zhàn)隊(duì),在這兩個(gè)戰(zhàn)隊(duì)中,有基礎(chǔ)比較好的同學(xué),也有基礎(chǔ)比較薄弱的同學(xué)。在上課過程中,基本上都是由這兩個(gè)戰(zhàn)隊(duì)的同學(xué)形成競爭。例如,在做題過程中,由兩個(gè)戰(zhàn)隊(duì)分別派出一名同學(xué)完成題目,進(jìn)行分?jǐn)?shù)計(jì)算,最后的分?jǐn)?shù),計(jì)入兩個(gè)戰(zhàn)隊(duì)同學(xué)們的最終平時(shí)成績中。這樣,一方面可以通過競爭,激發(fā)同學(xué)們的學(xué)習(xí)興趣;另一方面,加強(qiáng)同學(xué)們的學(xué)習(xí)凝聚力,基礎(chǔ)比較好的同學(xué)會(huì)自覺幫助比較薄弱的同學(xué),自動(dòng)激發(fā)學(xué)習(xí)的主動(dòng)性。

2.3 保證基礎(chǔ),不斷拓展

任何事物都有一個(gè)由量變到質(zhì)變的過程,學(xué)習(xí)也一樣。逐步深入,對(duì)于C語言課程來說,這點(diǎn)尤其重要。因此在課程中,針對(duì)同學(xué)們的基礎(chǔ)參差不齊,我給她們布置的題目也分為容易、較難、難三個(gè)層次。在課堂上,我也時(shí)刻提醒自己:要堅(jiān)持做到以學(xué)生為主體,老師只是起到一個(gè)主導(dǎo)的作用。

對(duì)于基礎(chǔ)比較薄弱的同學(xué),保證會(huì)做“容易”層次的題目,盡量學(xué)會(huì)做“較難”層次的題目。這樣做既能確保她們的成績不會(huì)落下,同時(shí)還能通過不斷的進(jìn)步來提高她們學(xué)習(xí)的信心。同時(shí)在不知不覺中我已經(jīng)一步步的將難度加大,同學(xué)們的知識(shí)也在不斷地升華、擴(kuò)展。對(duì)于一些基礎(chǔ)較好的學(xué)生,簡單容易的題型已不能滿足她們求知的欲望,我的原則是:在她們能夠獨(dú)立完成簡單題目的基礎(chǔ)上,另外增加難度較大的任務(wù)給她們完成。這樣做既能安撫她們驕燥的情緒,同時(shí)通過不斷的挑戰(zhàn)難題也充分的激發(fā)了她們的學(xué)習(xí)激情。

通過思考與總結(jié),我發(fā)現(xiàn)在我校其他計(jì)算機(jī)語言類課程的教學(xué)過程中同樣也存在著類似的情況,因此我覺得對(duì)C語言課程的改革同樣也應(yīng)該適用于其他相類似的課程中。

參考文獻(xiàn):

[1]景運(yùn)革,孟朝霞.C語言程序設(shè)計(jì)教學(xué)目標(biāo)描述研究[J].運(yùn)城學(xué)院學(xué)報(bào),2008(05).

[2]郭來德,竇玲.“C語言程序設(shè)計(jì)”雙語教學(xué)改革研究[J].價(jià)值工程,2012(13).

第4篇

[關(guān)鍵詞]C語言 程序設(shè)計(jì) 實(shí)踐教學(xué)

一、前言

上個(gè)世紀(jì)70年代以來,C語言在以其目標(biāo)代碼質(zhì)量高,使用靈活,數(shù)據(jù)類型豐富,可移植性好等特點(diǎn)而得到廣泛的普及和迅速發(fā)展,成為一種在系統(tǒng)軟件開發(fā)、科學(xué)計(jì)算、自動(dòng)控制等各個(gè)領(lǐng)域廣泛應(yīng)用的程序設(shè)計(jì)語言。在眾多高級(jí)程序設(shè)計(jì)語言競顯風(fēng)流的當(dāng)今社會(huì),C語言以其強(qiáng)大的功能仍在高級(jí)程序設(shè)計(jì)領(lǐng)域占據(jù)著重要的地位。

C語言作為計(jì)算機(jī)類專業(yè)的一門專業(yè)課,是學(xué)生學(xué)習(xí)程序設(shè)計(jì)的開端,學(xué)生分析問題、解決問題的能力和程序設(shè)計(jì)過程理念的形成都與C語言有著密切的聯(lián)系。C語言有著其它高級(jí)程序設(shè)計(jì)語言不可比擬的優(yōu)點(diǎn),同時(shí)也有其較難學(xué)習(xí)的一面。由于現(xiàn)行教學(xué)過程中存在著一些弊端和學(xué)生自身因素的原因,所以在學(xué)習(xí)中普遍反映“難學(xué)”、“不懂“,這也是學(xué)生普遍遇到的問題。

二、現(xiàn)行教學(xué)和學(xué)習(xí)中存在的問題

1.現(xiàn)行教學(xué)中理論課與實(shí)踐課完全分離,不能相互促進(jìn)。理論課中往往只注重對(duì)教材知識(shí)的分析和灌輸,在廣度上對(duì)知識(shí)沒有拓展和延伸,必定會(huì)影響對(duì)知識(shí)深度的剖析,也會(huì)造成學(xué)生理解的困難。而實(shí)踐課程通常被放到了次要的地位,很多時(shí)候是在走形式:一方面,學(xué)生對(duì)知識(shí)一知半解、往往用上網(wǎng)來對(duì)付實(shí)踐課;另一方面,老師很難監(jiān)控到每個(gè)學(xué)生,了解他們是否都在認(rèn)真編寫、調(diào)試程序。這就造成理論課沒有起到為實(shí)踐課打基礎(chǔ)的作用,實(shí)踐課也沒有起到鞏固、應(yīng)用理論課的作用。

2.學(xué)生對(duì)計(jì)算機(jī)基礎(chǔ)的學(xué)習(xí)不深入,嚴(yán)重影響了C語言的學(xué)習(xí)。因?yàn)镃語言程序設(shè)計(jì)課程的延續(xù)性和拓展性非常的強(qiáng),包含了算法、數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)基礎(chǔ)等相關(guān)專業(yè)課程和基礎(chǔ)課程的課程的知識(shí)。在C語言教學(xué)中涉及到進(jìn)制轉(zhuǎn)換、取值范圍和順序存儲(chǔ)等基礎(chǔ)知識(shí)時(shí),發(fā)現(xiàn)很多學(xué)生還沒掌握這些基礎(chǔ)知識(shí),甚至根本不理解。在這樣薄弱的基礎(chǔ)上,C語言教學(xué)很難順利進(jìn)行。

3.學(xué)生在學(xué)習(xí)中處于被動(dòng)的接受知識(shí)的地位,沒有機(jī)會(huì)主動(dòng)參與到學(xué)習(xí)中來,導(dǎo)致學(xué)習(xí)興趣不濃、學(xué)習(xí)停留在表面、對(duì)知識(shí)學(xué)的一知半解。由于接受的多是課本知識(shí),所以動(dòng)手能力差、應(yīng)用能力差,導(dǎo)致不能把自己所學(xué)的知識(shí)應(yīng)用到實(shí)踐中去。這樣培養(yǎng)出來的學(xué)生不能滿足社會(huì)的需要,也沒有達(dá)到教學(xué)的目的。

三、探索新的教學(xué)方法

在多年的教學(xué)過程中,嘗試多種教學(xué)方式,不斷總結(jié)教學(xué)經(jīng)驗(yàn),探索新的教學(xué)方法。

1.上好第一堂課,引起學(xué)生的學(xué)習(xí)興趣。第一堂課是最基礎(chǔ)的理論知識(shí)課,如介紹C語言的發(fā)展、特點(diǎn)、優(yōu)點(diǎn)等內(nèi)容,往往不被教師所重視,認(rèn)為應(yīng)該把精力放到程序設(shè)計(jì)部分。其實(shí)恰恰相反,上好第一堂課至關(guān)重要,它關(guān)系著學(xué)生是否會(huì)對(duì)學(xué)習(xí)產(chǎn)生興趣,渴望進(jìn)行后繼內(nèi)容的學(xué)習(xí)問題,所以絕對(duì)不能照本喧科。而對(duì)C語言的發(fā)展追本溯源,將C語言領(lǐng)域的開發(fā)投入、研發(fā)過程、遇到的問題進(jìn)行詳細(xì)的分析,對(duì)C語言在現(xiàn)實(shí)中的應(yīng)用以及C++、VC++進(jìn)行介紹,往往能夠引起學(xué)生學(xué)習(xí)C語言程序設(shè)計(jì)的興趣、推動(dòng)后續(xù)知識(shí)的學(xué)習(xí)。

2.詳細(xì)講解基礎(chǔ)知識(shí),深度剖析與后繼課程相關(guān)的內(nèi)容,激發(fā)學(xué)生學(xué)習(xí)動(dòng)力。C語言程序設(shè)計(jì)教學(xué)中涉及的數(shù)據(jù)類型、取值范圍、運(yùn)算符、優(yōu)先級(jí)、表達(dá)式等內(nèi)容雖是基礎(chǔ)知識(shí),但對(duì)學(xué)生來說卻是邁入程序設(shè)計(jì)大門的第一步。沒有堅(jiān)實(shí)的基礎(chǔ)知識(shí),便無從談及程序設(shè)計(jì),所以對(duì)基礎(chǔ)知識(shí)的講解一定要詳細(xì)。比如遇到整型數(shù)據(jù)的取值范圍問題時(shí),可以適當(dāng)拓展一些原碼和反碼的知識(shí),讓學(xué)生知其然,更知其所以然;鏈表知識(shí)是C語言的難點(diǎn),這部分內(nèi)容和數(shù)據(jù)結(jié)構(gòu)聯(lián)系密切,所以要深度剖析,尤其是對(duì)帶表頭結(jié)點(diǎn)的單、雙鏈表更要講解的清晰、透徹,為數(shù)據(jù)結(jié)構(gòu)、JAVA語言等后繼課程打下堅(jiān)實(shí)基礎(chǔ)。這樣繼往開來,不僅可以鞏固以前的計(jì)算機(jī)基礎(chǔ)知識(shí),更能激發(fā)學(xué)生的學(xué)習(xí)動(dòng)力。

3.重點(diǎn)分析程序設(shè)計(jì)過程,培養(yǎng)學(xué)生良好的編程習(xí)慣,逐步提高學(xué)生編程能力。很多學(xué)生認(rèn)為,進(jìn)行程序設(shè)計(jì)就是用計(jì)算機(jī)語言編寫源代碼,這其實(shí)是學(xué)習(xí)程序設(shè)計(jì)的一個(gè)誤區(qū),編寫源代碼僅僅是完成了程序的編碼,而程序設(shè)計(jì)從問題分析就開始了,它包括分析問題、選擇算法、繪制流程圖、編寫源代碼、調(diào)試并測試程序,直到取得正確結(jié)果這樣一個(gè)完整的過程。其中繪制流程圖能使程序員在編程時(shí)思路清晰,減少編程錯(cuò)誤。利用流程圖來分析、查找、解決程序設(shè)計(jì)中的問題能夠一目了然。例如:下面這一簡單的while循環(huán)結(jié)構(gòu),用流程圖便可以輕易發(fā)現(xiàn)錯(cuò)誤所在。圖1是錯(cuò)誤代碼的流程圖,它使程序陷入了死循環(huán),圖2是正確的流程圖。所以繪制正確的流程圖,是減少代碼錯(cuò)誤的有效手段。

Main(0

{int i,sum;

i=sum=0;

While(i

Sum+=i;

i++;

Printf(“1+2+3+…+100=%d’,sum);

}

在C語言程序設(shè)計(jì)教學(xué)過程中,即使對(duì)簡單的程序設(shè)計(jì)的講解也嚴(yán)格的按照程序設(shè)計(jì)的過程一步步的進(jìn)行分析和引導(dǎo),培養(yǎng)學(xué)生良好的編程習(xí)慣。

4.通過實(shí)踐教學(xué),讓學(xué)生親自體會(huì)程序設(shè)計(jì)全過程,鞏固所學(xué)知識(shí)。學(xué)生通常在C語言的學(xué)習(xí)上投入了很多的精力與時(shí)間,但卻離實(shí)際要求相差很遠(yuǎn)。因?yàn)槿狈α藢?shí)踐經(jīng)驗(yàn)和能力,不能滿足社會(huì)的需求,這也是計(jì)算機(jī)類學(xué)生的通病。為此,在教學(xué)中一定要注重理論與實(shí)踐相結(jié)合。案例實(shí)驗(yàn)可以說是學(xué)習(xí)C程序設(shè)計(jì)最有效的方法之一,在教學(xué)過程中我們故意將賦值符號(hào)“=”和等號(hào)“= =”互換、漏寫分號(hào)“;”和大括號(hào)“{}“,設(shè)置一些待解決的錯(cuò)誤,引導(dǎo)學(xué)生在編程和調(diào)試過程中逐一解決這些問題,不僅能夠鞏固理論知識(shí)、養(yǎng)成編程的好習(xí)慣,更能調(diào)動(dòng)學(xué)生思考問題和解決問題的積極性。同時(shí)在解決問題的過程中使學(xué)生有一種成就感,這對(duì)學(xué)習(xí)能力的提高和積極性的培養(yǎng)有很好的作用。

5.多種教學(xué)手段相結(jié)合,提高教學(xué)效果。理論教學(xué)與實(shí)踐教學(xué)相結(jié)合,適當(dāng)減少理論課、增加實(shí)踐課,將理論教學(xué)融入實(shí)踐教學(xué)中來,逐漸模糊兩者之間的界限;傳統(tǒng)教學(xué)與豐富多彩的多媒體教學(xué)相結(jié)合、教師講解與學(xué)生課堂討論相結(jié)合,以便調(diào)動(dòng)學(xué)習(xí)的主動(dòng)性和積極性。

6.注重對(duì)知識(shí)的歸納和總結(jié),讓學(xué)生溫故而知新。在教學(xué)過程中,按章節(jié)、按階段對(duì)相關(guān)重點(diǎn)知識(shí)進(jìn)行歸納總結(jié),讓學(xué)生把模塊化的知識(shí)連接起來,系統(tǒng)、全面的掌握所學(xué)內(nèi)容。

四、結(jié)束語

目前C語言程序設(shè)計(jì)教學(xué)中仍然有很多需要改進(jìn)的地方,如何提高實(shí)踐教學(xué)質(zhì)量,使理論與實(shí)踐相結(jié)合,仍需要在教學(xué)過程中不斷的探索和改革。

參考文獻(xiàn)

[1]楊路明等.C/C++程序設(shè)計(jì)教程.長沙:湖南科學(xué)技術(shù)出版社, 2003.

[2]譚浩強(qiáng). C語言程序設(shè)計(jì)教程.北京:高等教育出版社,1997.

第5篇

【關(guān)鍵詞】C語言程序設(shè)計(jì) 教學(xué)方法 資源整合

C語言是一門結(jié)構(gòu)化程序設(shè)計(jì)語言,對(duì)于學(xué)生來說,C語言程序設(shè)計(jì)的思維方式和概念都是全新的,學(xué)生接受起來很困難。那么,在C語言程序設(shè)計(jì)教學(xué)過程中,怎樣開展這種構(gòu)造性的又具有創(chuàng)造力活動(dòng)的教學(xué)呢?筆者經(jīng)過這幾年的自我學(xué)習(xí)以及實(shí)際教學(xué)中的不斷摸索,對(duì)C語言程序設(shè)計(jì)教學(xué)方法有了一些認(rèn)識(shí),與大家共同探討。

一、注重網(wǎng)絡(luò)環(huán)境下的資源整合

互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展徹底引發(fā)了閱讀、計(jì)算等方式的變革,巨大的信息量、便捷的信息傳

遞、極強(qiáng)的交互性,使得網(wǎng)絡(luò)成為最有效的資源獲取工具。因此,在教學(xué)過程中建立或利用一個(gè)以C語言為專題的編程學(xué)習(xí)網(wǎng)站,整合與C語言編程相關(guān)的豐富的學(xué)習(xí)資源,為學(xué)生提供動(dòng)態(tài)的、協(xié)作性的學(xué)習(xí)環(huán)境和學(xué)習(xí)工具,讓學(xué)習(xí)者自己選擇信息資料,自己收集、分析并應(yīng)用知識(shí),去解決實(shí)際問題。通過網(wǎng)絡(luò)學(xué)習(xí)環(huán)境開展C語言教學(xué),提高了C語言教學(xué)活動(dòng)的有效性。

二、以合作學(xué)習(xí)為導(dǎo)向,改革課堂教學(xué)環(huán)節(jié)

合作學(xué)習(xí)是備受國際教育界推崇的學(xué)習(xí)模式,因?yàn)樗兄谂囵B(yǎng)學(xué)習(xí)者的合作精神和協(xié)同解決問題能力。

教學(xué)中,以幾名學(xué)生為小組組成學(xué)習(xí)的基本單位,學(xué)生在學(xué)習(xí)小組內(nèi)相互協(xié)作、相互幫助、群策群力,共同完成相應(yīng)的教學(xué)任務(wù)。實(shí)際教學(xué)中,教師向各小組布置項(xiàng)目任務(wù),給以必要的說明,提供必要的資料和網(wǎng)絡(luò)資源,然后各學(xué)習(xí)小組研究問題,制定解決方案,最后將結(jié)果展示出來。例如,在C語言中的函數(shù)調(diào)用這一個(gè)問題,將程序分解為數(shù)個(gè)模塊,每個(gè)小組各自承擔(dān)其中一個(gè)模塊的程序編寫,C語言模塊化程序設(shè)計(jì)的思想在這時(shí)得到充分地展現(xiàn),讓學(xué)生深刻理解了模塊化程序設(shè)計(jì)理念,同時(shí)也使學(xué)生感受到了團(tuán)隊(duì)合作的重要性,培養(yǎng)了學(xué)生協(xié)作互助精神。

三、抓住重點(diǎn),分散難點(diǎn),注重循序漸進(jìn)

學(xué)習(xí)程序設(shè)計(jì)是一個(gè)逐步積累的過程。教材在整體設(shè)計(jì)上,要注意分散難點(diǎn)、合理選材,為學(xué)生建立科學(xué)的學(xué)習(xí)順序,并注意適時(shí)、適量,學(xué)以致用地逐步滲透相關(guān)的知識(shí)、思想和方法。對(duì)于有難度的知識(shí)點(diǎn),采用先用一個(gè)簡單的例子讓學(xué)生有所了解,經(jīng)過一段時(shí)間的反復(fù)練習(xí)以及相關(guān)知識(shí)的積累后,再引入一個(gè)復(fù)雜一些的例子,深入理解和掌握,然后再加以概括和總結(jié)。讓學(xué)生對(duì)知識(shí)的認(rèn)識(shí)、理解、運(yùn)用有一個(gè)逐步深入的“螺旋式”上升過程。幫助學(xué)生把已學(xué)到的內(nèi)容不斷納入新的內(nèi)容體系中去,使學(xué)生認(rèn)知結(jié)構(gòu)中原有的概念和新的知識(shí)建立起實(shí)質(zhì)性的聯(lián)系。例如,雙循環(huán)結(jié)構(gòu)知識(shí)點(diǎn)中的打印規(guī)則圖案的程序設(shè)計(jì)方法,就可依據(jù)問題的難易程度,先找出直角三角形圖案形成的規(guī)律,再探究等腰三角形圖案的形成特點(diǎn),最后解決構(gòu)成菱形圖案的程序設(shè)計(jì),讓學(xué)生有一個(gè)全面、系統(tǒng)的理解和掌握解決該問題的思想方法。

四、立足任務(wù)驅(qū)動(dòng),滲透基本概念

概念的形成過程常常是學(xué)生進(jìn)行邏輯思維的過程,如果遵循邏輯思維過程去組織教學(xué),必將使學(xué)生容易掌握概念。因此,要想讓學(xué)生領(lǐng)會(huì)C語言中抽象的概念,教學(xué)中以實(shí)例任務(wù)作為知識(shí)的載體,在每個(gè)實(shí)例中適時(shí)、適量滲透一些相關(guān)的概念和知識(shí),由實(shí)例去驅(qū)動(dòng)學(xué)生主動(dòng)發(fā)現(xiàn)、分析和處理問題,讓學(xué)生在做中學(xué),在學(xué)中做,使學(xué)生在完成任務(wù)的過程中,逐漸地、很自然地去體會(huì)C語言的語法規(guī)則及相關(guān)概念,并且在這一過程中,學(xué)生還能體會(huì)到相似概念之間的差別,以及解決這一問題的不同程序設(shè)計(jì)步驟。比如,當(dāng)型循環(huán)while與直到型循環(huán)do-while語句的區(qū)別,如果只通過教師講述,多數(shù)同學(xué)一般只能在表面上知其然,實(shí)則不知其所以然,但如果給出一個(gè)具體的任務(wù)實(shí)例,讓同學(xué)們?cè)趯?shí)踐后的結(jié)果中自己去體

驗(yàn)兩者之間的不同,留在學(xué)生腦海中的記憶將猶為深刻。

五、引導(dǎo)學(xué)生建構(gòu)自己的知識(shí)體系

基于網(wǎng)絡(luò)環(huán)境下的學(xué)習(xí)過程具有開放性、廣域性和易交流性。因此,網(wǎng)絡(luò)環(huán)境下的創(chuàng)新教育能真正達(dá)到因材施教、發(fā)展個(gè)性的目的,能夠使學(xué)生主動(dòng)參與學(xué)習(xí)過程,并按照自己的認(rèn)知水平有序地進(jìn)行學(xué)習(xí)和提高,并使其創(chuàng)造性學(xué)習(xí)成為一種習(xí)慣。建構(gòu)主義的教學(xué)活動(dòng)中,教師的教學(xué)形式并不固定,學(xué)生則作為一個(gè)主體,積極會(huì)同其他的小組成員一起,通過已經(jīng)整合的學(xué)習(xí)資源在網(wǎng)絡(luò)下討論和學(xué)習(xí),教師給予學(xué)生引導(dǎo)和幫助,解決學(xué)生建立知識(shí)體系過程中所出現(xiàn)的問題。這樣,學(xué)生既掌握了教材上的內(nèi)容,同時(shí)又通過網(wǎng)絡(luò)資源學(xué)習(xí)了相關(guān)的知識(shí)點(diǎn),完成了對(duì)自己知識(shí)體系的建構(gòu),形成了自己的學(xué)習(xí)方式,而教師不但完成了教學(xué)任務(wù),也教會(huì)了學(xué)生學(xué)習(xí)的方法,為學(xué)生以后的自我學(xué)習(xí)打下基礎(chǔ),正所謂“教”與“學(xué)”相得益彰。

六、做好歸納總結(jié),提高學(xué)生學(xué)習(xí)效率

C語言程序設(shè)計(jì)的學(xué)習(xí),很重要的一點(diǎn)在于歸納總結(jié)。一個(gè)章節(jié)的結(jié)束,學(xué)生則難以形成完整、清晰的框架,因此,教師在教學(xué)中要及時(shí)歸納、做好小結(jié)。教學(xué)歸納可以是一個(gè)知識(shí)點(diǎn)的歸納(如if條件語句的歸納),也可以是對(duì)一種知識(shí)結(jié)構(gòu)的歸納(如分支結(jié)構(gòu)中包含if語句、while語句、循環(huán)語句等的歸納)。總結(jié)可以是一個(gè)小節(jié)的總結(jié),也可以是一個(gè)單元內(nèi)容的總結(jié)。歸納總結(jié)的形式也可以多種多樣,可以使用文字概括,也可以使用圖表總結(jié),重點(diǎn)難點(diǎn)要著重強(qiáng)調(diào)。做好歸納總結(jié),有利于學(xué)生對(duì)知識(shí)的理解、做到融會(huì)貫通,順利實(shí)現(xiàn)知識(shí)遷移,提高學(xué)生的學(xué)習(xí)效率。

教學(xué)方法在程序設(shè)計(jì)教學(xué)中的重要性是不言而喻的,它制約著程序設(shè)計(jì)教學(xué)的效率。面對(duì)的教學(xué)對(duì)象不同,教學(xué)方法各異,但使每位學(xué)生都能得到充分的發(fā)展,培養(yǎng)創(chuàng)新人才,是我們的同一目的,教學(xué)絕不能脫離學(xué)生的知識(shí)背景和認(rèn)知規(guī)律。

參考文獻(xiàn):

[1]扈中平.現(xiàn)代教育理論.高等教育出版社,2004.

第6篇

目前,計(jì)算機(jī)專業(yè)其他課程(如數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì))中,也經(jīng)常用c語言程序說明其過程和算法。因此,《c語言程序設(shè)計(jì)》已經(jīng)成了許多高校計(jì)算機(jī)專業(yè)的必修課。中央廣播電視大學(xué)自開設(shè)計(jì)算機(jī)專業(yè)以來,各地電大也把《c語言程序設(shè)計(jì)》作為一門重要的專業(yè)基礎(chǔ)課程,列入教學(xué)計(jì)劃,下面就我?guī)啄陙淼慕虒W(xué)經(jīng)驗(yàn)談幾點(diǎn)自己的看法:

一、實(shí)例為引導(dǎo),激發(fā)學(xué)生學(xué)習(xí)興趣

為了激發(fā)學(xué)生對(duì)C語言的學(xué)習(xí)興趣,教師要在教學(xué)方法與手段上多下功夫,加強(qiáng)對(duì)學(xué)生的引導(dǎo),在講清語法規(guī)則的基礎(chǔ)上,可通過許多具體有趣的實(shí)例,如“兔子問題”、“水仙花數(shù)”、“競賽記分”等來培養(yǎng)學(xué)生的學(xué)習(xí)興趣,綜合利用板書、課件、程序演示等手段,做好師生互動(dòng),使學(xué)生加強(qiáng)理解和記憶。整個(gè)教學(xué)過程中把解題思路和算法當(dāng)作授課的重點(diǎn),從而讓學(xué)生明白如何分析并解決實(shí)際問題,逐漸培養(yǎng)學(xué)生進(jìn)行程序設(shè)計(jì)的正確思維模式。

二、注重上機(jī)教學(xué),通過程序調(diào)試加強(qiáng)容易被忽視細(xì)節(jié)的教學(xué)

C語言雖然說與自然語言和教學(xué)語言十分接近,但在實(shí)際中卻存在著許多“細(xì)小”的卻又十分嚴(yán)格的差異。由于它的細(xì)小,常常不能引起注意而被忽略。如表達(dá)式、函數(shù)、變量、分隔符等,學(xué)員在學(xué)習(xí)中,常常因重視不夠不能正確理解或沒有形成較深印象,造成程序設(shè)計(jì)時(shí)不能正確使用或習(xí)慣地用數(shù)學(xué)方法代之。

因此,教師在講授C語言課程時(shí),不能忽視實(shí)踐課的教學(xué),尤其是學(xué)生上機(jī)輔導(dǎo)課的教學(xué)。很多教師認(rèn)為,上機(jī)輔導(dǎo)課就是讓學(xué)生自由練習(xí),及時(shí)為學(xué)生解決問題,實(shí)際上這種教學(xué)輔導(dǎo)方式是不合理的。上機(jī)輔導(dǎo)課中教師一方面應(yīng)反復(fù)強(qiáng)調(diào)C語言的“書寫格式自由但一點(diǎn)不能差”的特點(diǎn),另一方面應(yīng)視具體情況通過演示程序調(diào)試的方法加強(qiáng)容易被忽視細(xì)節(jié)的教學(xué)。

如程序abc.c:

#include<stdio.h>

voidmain()

{

inta=1

printf("a=%d\n",a);

}

編譯時(shí)出現(xiàn)以下問題:abc.c(5):errorC2146:syntaxerror:missing'''';''''beforeidentifier''''printf'''',給學(xué)生講解提示,讓學(xué)生通過提示明白問題所在,即該程序第5行的printf語句前缺少“;”。通過程序調(diào)試的方法不僅可以為學(xué)生解決錯(cuò)誤,使學(xué)生自己通過實(shí)踐證明了問題的所在,使之深受體會(huì)。同時(shí)也增強(qiáng)了學(xué)生調(diào)試程序的能力,從而提高編程的經(jīng)驗(yàn)和技巧。

三、利用多媒體進(jìn)行輔助教學(xué)

對(duì)于一些抽象的、學(xué)生難以接受和理解的語句和算法,如條件語句、循環(huán)語句、指針、排序程序設(shè)計(jì)過程等,利用多媒體教學(xué)的優(yōu)勢(shì),進(jìn)行通俗易懂的講解和演示,模擬計(jì)算機(jī)的內(nèi)部狀態(tài)和執(zhí)行過程。精心制作多媒體課件,增強(qiáng)學(xué)生的直觀感覺,方便理解,起到事半功倍的作用。

例如在講解到三種循環(huán)的結(jié)構(gòu)時(shí),學(xué)生很難理解三種循環(huán)的區(qū)別,通過制作多媒體課件來模擬三種循環(huán)的執(zhí)行過程,使學(xué)生一目了然的看清楚三種循環(huán)的結(jié)構(gòu)及其執(zhí)行過程,清楚了用什么構(gòu)成循環(huán)時(shí),要注意在循環(huán)體內(nèi)對(duì)循環(huán)控制條件的修改,也清楚了三種循環(huán)的區(qū)別。再比如在分析用選擇法和冒泡法排序時(shí)通過用Flash制作一個(gè)若干個(gè)人按大小個(gè)子順序排序的動(dòng)畫演示程序,這樣就起到了將抽象問題形象化、枯燥問題生動(dòng)化的效果。

第7篇

(山東理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 淄博 255049)

【摘 要】C語言程序設(shè)計(jì)是理工科專業(yè)的一門重要公共基礎(chǔ)課,根據(jù)實(shí)際教學(xué)經(jīng)驗(yàn)通過類比法對(duì)函數(shù)定義和函數(shù)調(diào)用中參數(shù)的多樣性進(jìn)行分析,提高學(xué)生對(duì)C語言學(xué)習(xí)的興趣和積極性,加強(qiáng)知識(shí)點(diǎn)的綜合掌握和應(yīng)用。

關(guān)鍵詞 C語言;函數(shù);參數(shù);類比法

基金項(xiàng)目:山東理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院院級(jí)教學(xué)研究課題“網(wǎng)絡(luò)教學(xué)平臺(tái)下C語言分組教學(xué)研究與實(shí)踐”。

作者簡介:陳波(1981—),女,山東淄博人,碩士,山東理工大學(xué)計(jì)算機(jī)學(xué)院基礎(chǔ)教學(xué)部,講師。

巨同升(1965—),男,山東濰坊人,碩士,山東理工大學(xué)計(jì)算機(jī)學(xué)院基礎(chǔ)教學(xué)部,副教授。

0 引言

函數(shù)是構(gòu)成C程序的基本單位,也是實(shí)現(xiàn)模塊化程序設(shè)計(jì)的重要手段[1]。函數(shù)可以和C語言的其它知識(shí)點(diǎn)綜合起來,實(shí)現(xiàn)對(duì)C語言知識(shí)點(diǎn)地綜合理解和應(yīng)用。但是學(xué)生在對(duì)函數(shù)的學(xué)習(xí)過程中存在諸多問題,筆者認(rèn)為首先從宏觀上理解函數(shù),再從微觀上學(xué)習(xí)函數(shù)。

1 函數(shù)的宏觀理解

C函數(shù)有四要素:函數(shù)名、參數(shù)、函數(shù)體、返回值,函數(shù)就像一臺(tái)機(jī)器(函數(shù)名),對(duì)輸入的數(shù)據(jù)(參數(shù))進(jìn)行加工(函數(shù)體)并輸出加工得到結(jié)果(返回值)。如圖所示。具體函數(shù)的輸入、功能及輸出是什么取決于函數(shù)的定義。

2 函數(shù)的定義

函數(shù)的定義是制造一臺(tái)實(shí)現(xiàn)某一功能的機(jī)器,函數(shù)定義的基本格式為[2]:

返回值類型 函數(shù)名(形式參數(shù)列表)

{

聲明語句序列

可執(zhí)行語句序列

}

返回值類型即機(jī)器加工輸出數(shù)據(jù)的類型,函數(shù)的返回值最多有一個(gè)通過return語句實(shí)現(xiàn),若沒有返回值用void來定義。函數(shù)名是這臺(tái)機(jī)器的唯一標(biāo)識(shí),用于說明其功能。形式參數(shù)列表來說明機(jī)器需要的輸入原材料的個(gè)數(shù)及類型,如果不需要輸入需用void代替函數(shù)形參列表中的內(nèi)容,聲明語句序列來說明函數(shù)內(nèi)部的變量,可執(zhí)行語句序列實(shí)現(xiàn)對(duì)原材料的加工處理,實(shí)現(xiàn)函數(shù)的功能。例如:

bigger這臺(tái)機(jī)器需要兩個(gè)整形的輸入,對(duì)其進(jìn)行大小比較并把較大值放在局部整形變量max中返回回來。

3 函數(shù)的調(diào)用

函數(shù)調(diào)用就如用已經(jīng)制造好的機(jī)器生產(chǎn)產(chǎn)品一樣,實(shí)際放入的原材料稱為實(shí)參。函數(shù)調(diào)用的一般形式:

函數(shù)名(實(shí)參列表);

在函數(shù)的調(diào)用過程中就產(chǎn)生了實(shí)參向形參的數(shù)據(jù)傳遞,并且只能由實(shí)參傳遞給形參,而不能有形參傳遞給實(shí)參[3]。函數(shù)的參數(shù)可以有多種形式:簡單變量、指針變量、數(shù)組名。下面通過“借書”為例對(duì)其進(jìn)行分析。

3.1 簡單變量作為函數(shù)的參數(shù)

實(shí)參傳遞給形參的是值,即“單向值傳遞”。例如A來向B借一本書, B復(fù)印了一本給A,他們手中的書雖然相同但是不是同一本,A在拿到的書中作標(biāo)記不會(huì)對(duì)B的書產(chǎn)生影響。

3.2 指針變量作為函數(shù)的參數(shù)

由于指針變量存儲(chǔ)的是一個(gè)地址,所以實(shí)參傳遞給形參是地址,即“地址傳遞”。例如A來向B借一本書, B把放書的位置告訴了A,A通過位置信息找到書并在上面作標(biāo)記,B再來看這本書時(shí)就是A做了標(biāo)記的書了。

但并不是B把放書的位置或一套書的起始位置告訴了A,書的內(nèi)容就會(huì)發(fā)生改變,如下面代碼,A只是看了看書并且改變了放書的位置,書的內(nèi)容沒有發(fā)生改變。

3.3 數(shù)組名作為函數(shù)的參數(shù)

數(shù)組是相同類型數(shù)據(jù)的有序集合,采用連續(xù)順序存取的方式,數(shù)組名標(biāo)識(shí)數(shù)組的首地址,如果要傳遞批量數(shù)據(jù)用普通變量作為函數(shù)的參數(shù)實(shí)現(xiàn)起來非常麻煩,就可以把數(shù)據(jù)先存放在數(shù)組中,把存放的首地址傳遞給函數(shù)即可。如B有一套書(10分冊(cè))按照分冊(cè)號(hào)整齊的擺放在書櫥中,A來向B借這套書,B就把第一分冊(cè)在書櫥中的位置告訴A,A就可以找到這套書了,進(jìn)而可以進(jìn)行標(biāo)記了。B再來看這套書時(shí)就是A做了標(biāo)記的書了。

void Aborrow(int book[10]){ int i;

同樣B把一套書的起始位置告訴了A,書的內(nèi)容就會(huì)發(fā)生改變, 可能A只是看了看書并且改變了放這套書的位置,但是沒有在書中作任何標(biāo)記。

4 結(jié)束語

本文以學(xué)生經(jīng)常進(jìn)行的“借書”活動(dòng)為例,通過類比法對(duì)函數(shù)定義、函數(shù)調(diào)用進(jìn)行分析,可以看出函數(shù)參數(shù)的傳遞只能是實(shí)參的值傳遞給形參。指針變量作為函數(shù)的參數(shù)可以產(chǎn)生雙向的影響,數(shù)組名作為函數(shù)的參數(shù)可以實(shí)現(xiàn)批量數(shù)據(jù)的處理。加強(qiáng)學(xué)生了對(duì)局部變量、指針、數(shù)組的理解及綜合應(yīng)用,提高了學(xué)生的學(xué)習(xí)積極性。

參考文獻(xiàn)

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

[2]蘇小紅,王宇穎,孫志崗,等.C語言程序設(shè)計(jì)[M].北京:高等教育出版社,2011.

第8篇

關(guān)鍵詞:C語言程序設(shè)計(jì);實(shí)例教學(xué);啟發(fā)式教學(xué);正反饋

中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2014)42-0271-02

一、背景

隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展和普及,計(jì)算機(jī)在各個(gè)領(lǐng)域中得到了廣泛應(yīng)用。為了適應(yīng)時(shí)代需求,幫助大學(xué)生更好地利用計(jì)算機(jī)編程技術(shù)解決專業(yè)問題,在高校的本科教育中,計(jì)算機(jī)程序設(shè)計(jì)課程已成為大部分理工科專業(yè)的必修課或者選修課。而C語言作為最經(jīng)典的編程語言之一,以其豐富的數(shù)據(jù)類型、清晰的語言結(jié)構(gòu)和結(jié)構(gòu)化編程思想,成為首選的程序設(shè)計(jì)課程。

本文結(jié)合筆者在高校多年從事C語言程序設(shè)計(jì)這門課程的教學(xué)經(jīng)驗(yàn),討論C語言程序設(shè)計(jì)的教學(xué)模式,從而調(diào)動(dòng)學(xué)生學(xué)習(xí)C語言的積極性,幫助學(xué)生更好地掌握C語言編程技能。

二、激發(fā)學(xué)生對(duì)課程的學(xué)習(xí)熱情

大學(xué)生在修一門課程時(shí)通常會(huì)問:為什么要學(xué)這門課?這門課程有什么用處?如果問題得不到答案或者認(rèn)為這門課程學(xué)了也沒有用處,那么學(xué)生就會(huì)缺乏學(xué)習(xí)動(dòng)力和積極性。在修C語言程序設(shè)計(jì)這門課程的時(shí)候,學(xué)生也會(huì)存在同樣的疑問。所謂“磨刀不誤砍柴工”,在開始正式講述C語言理論知識(shí)之前,給學(xué)生闡明C語言的重要性和實(shí)用性是非常有必要的。只有這樣,才能從一開始就激發(fā)學(xué)生學(xué)習(xí)的內(nèi)在動(dòng)力和激情。

那么,如何闡明C語言學(xué)習(xí)的重要性呢?作為老師,應(yīng)該結(jié)合學(xué)生的興趣點(diǎn),讓他們感受到C語言的重要性和學(xué)習(xí)意義。筆者在講授C語言的第一節(jié)課時(shí),通常會(huì)花一點(diǎn)時(shí)間給學(xué)生講述這方面的知識(shí)。例如,Linux和Unix操作系統(tǒng)都是以C語言為主進(jìn)行開發(fā),Windows操作系統(tǒng)是以C++為主開發(fā)。手機(jī)內(nèi)部的應(yīng)用軟件、游戲等很多都是采用C語言進(jìn)行嵌入式開發(fā)的,例如推箱子、貪吃蛇等游戲。學(xué)生所熟知的游戲“仙劍奇?zhèn)b傳”,由WATCOM C/C++寫的。而C語言是C++的基礎(chǔ),通常都是先學(xué)習(xí)C再學(xué)習(xí)C++,可見C語言的重要性。另外,在上課過程中,再穿插講一些著名人士(如比爾?蓋茨、馬克?扎克伯格)的成功故事,則更有益于激勵(lì)和提升學(xué)生對(duì)于計(jì)算機(jī)編程課程的學(xué)習(xí)熱情。

三、實(shí)例教學(xué)滲透基本概念

很多學(xué)生在上C語言程序設(shè)計(jì)課程之前,未上過其他計(jì)算機(jī)語言課程,在剛接觸這門課程時(shí),通常懷著惴惴不安的心情,擔(dān)心自己學(xué)不好。因此,在剛開始上課時(shí),應(yīng)該用簡單的例題吸引學(xué)生,讓學(xué)生感受到學(xué)習(xí)C語言并非想象的那么難。例如,在第一節(jié)課,可以先在屏幕上通過運(yùn)行C程序顯示一行信息:“This is a C program.”然后給學(xué)生顯示該信息的C語言源代碼:

void main()

{print ("This is a C program.\n");}

此時(shí)學(xué)生雖然還未學(xué)C語言編程,但是發(fā)現(xiàn)程序很簡單,就比較容易接受這門課程。隨后可以讓學(xué)生仿照例題寫程序顯示“I am an undergraduate student.”讓學(xué)生動(dòng)手寫自己的第一個(gè)程序,內(nèi)容也與他們自己有關(guān),增強(qiáng)學(xué)生的參與性,無形中也會(huì)增加學(xué)生的學(xué)習(xí)熱情。

最初的幾堂課由于內(nèi)容相對(duì)簡單,學(xué)生感到新奇,因此學(xué)習(xí)積極性比較高。隨著課程內(nèi)容的深入,出現(xiàn)大量的語法規(guī)則時(shí),往往會(huì)覺得枯燥乏味。因此,在講解C語言的一些定義和語法規(guī)則時(shí),最好避免按部就班,直接給出定義和語法規(guī)則再給出例題。相反,我們可先舉若干例題,讓學(xué)生從中發(fā)現(xiàn)規(guī)律和總結(jié)規(guī)則,再給出定義。一方面有利于激發(fā)學(xué)生的上課積極性和活躍思維,另一方面也有利于學(xué)生記住這些規(guī)則。畢竟,通過思考總結(jié)出來的規(guī)則比死記硬背的知識(shí)更讓人印象深刻。在給出定義時(shí),應(yīng)對(duì)照著例題進(jìn)行解釋,這樣有利于幫助學(xué)生記憶和理解。例如,我們?cè)谥v解for循環(huán)語句規(guī)則時(shí),可以先給出以下兩個(gè)簡單的例題(例1和例2),并通過運(yùn)行程序給出對(duì)應(yīng)運(yùn)行結(jié)果。讓學(xué)生思考和猜測程序大致完成什么工作,再結(jié)合例題給出for循環(huán)的語法規(guī)則,并通過例題講解for循環(huán)中各個(gè)表達(dá)式及語句的執(zhí)行順序。其解釋過程如圖1所示。學(xué)生對(duì)應(yīng)示例理解規(guī)則,就能較快地掌握for語法規(guī)則。

在講完語法規(guī)則以后,可趁熱打鐵讓學(xué)生進(jìn)行課堂練習(xí),鞏固剛學(xué)習(xí)的知識(shí)點(diǎn)。例如,在講解完for語句規(guī)則以后,可以讓學(xué)生模仿例2用for語句完成1到20的偶數(shù)之和,加深其對(duì)知識(shí)點(diǎn)的理解。

四、啟發(fā)式教學(xué)提高學(xué)習(xí)積極性

在學(xué)習(xí)過程中,提高學(xué)生主動(dòng)學(xué)習(xí)的積極性非常重要。只有學(xué)生發(fā)自內(nèi)心想學(xué),主動(dòng)思考,學(xué)習(xí)效果才會(huì)更好。因此,在課堂教學(xué)過程中,老師應(yīng)避免直接陳述知識(shí)點(diǎn),而應(yīng)積極引導(dǎo)學(xué)生思考。理工科的學(xué)生,邏輯思維能力較強(qiáng),讓他們通過例題分析去總結(jié)知識(shí)點(diǎn),更利于他們的學(xué)習(xí)和記憶。例如,在講解while和do while語句差異時(shí),可以先給出以下兩個(gè)例題(例3和例4)。在不運(yùn)行程序的前提下讓學(xué)生思考k=1和k=11時(shí)兩個(gè)例題的結(jié)果;然后運(yùn)行程序給出例題運(yùn)行結(jié)果(k=1,例3和4的結(jié)果都為sum=55。k=11,例3的結(jié)果為sum=0;例4的結(jié)果為sum=55)。對(duì)于理解while和do while循環(huán)的同學(xué),在寫出答案的時(shí)已經(jīng)領(lǐng)悟出while和do while兩者的差異;而對(duì)于不理解while和do while差異的同學(xué),則讓他們對(duì)比程序運(yùn)行結(jié)果,思考兩者差異。最后,再由老師解釋兩者差異:“while語句先判斷,后執(zhí)行循環(huán)體;do while先執(zhí)行循環(huán)體再做判斷。當(dāng)while判斷表達(dá)式第一次的值為‘真’時(shí),兩種循環(huán)結(jié)果相同;否則不相同?!蓖ㄟ^例題對(duì)比思考,可加深學(xué)生對(duì)知識(shí)點(diǎn)的理解。

除了通過對(duì)比讓學(xué)生加深思考以外,也可故意在程序中制造一些錯(cuò)誤,使程序編譯報(bào)錯(cuò)或者編譯通過但無法實(shí)現(xiàn)預(yù)期目標(biāo),讓學(xué)生從老師給出的程序中找bug,在程序調(diào)試過程中解決問題并加深對(duì)知識(shí)點(diǎn)的掌握。例如,給出例5,該程序的本意是計(jì)算1到10之和,運(yùn)行程序后屏幕上沒有任何運(yùn)行結(jié)果,再讓學(xué)生思考為什么得不到想要的結(jié)果。學(xué)生通過觀察可以發(fā)現(xiàn),“while(i<=10);”中的分號(hào)代表while循環(huán)體為空,i的值始終為1,導(dǎo)致程序陷入死循環(huán)。要想完成計(jì)算1到10之和,只需將“while(i<=10);”中的分號(hào)刪除。此例題也體現(xiàn)出對(duì)于C語言而言,“失之毫厘,謬以千里”,從而讓學(xué)生在編程過程中關(guān)注細(xì)節(jié)。

五、引導(dǎo)學(xué)生積極參與課堂互動(dòng)

著名的《本科教育實(shí)踐七原則》一書中指出,本科教育的前兩個(gè)原則為:(1)加強(qiáng)師生交流;(2)引導(dǎo)學(xué)生間開展互惠合作??梢姡诮虒W(xué)過程中,加強(qiáng)師生交流以及學(xué)生與學(xué)生之間的交流是非常重要的。一方面,老師應(yīng)該通過課堂提問等方式加強(qiáng)師生互動(dòng)。另一方面,老師也應(yīng)該積極引導(dǎo)學(xué)生與學(xué)生之間開展互動(dòng)。例如,在課堂練習(xí)時(shí),可將學(xué)生分成若干小組,給出題目由學(xué)生在小組內(nèi)通過討論給出答案。受競賽獲勝心理的驅(qū)使,使得學(xué)生通力協(xié)作,積極思考。另外,由于不同學(xué)生的思維模式不一樣,對(duì)于同一題目,不同組往往給出不同的解題方式,實(shí)現(xiàn)了“一題多解”的課堂教學(xué)。

除了在上課期間分組討論以外,在實(shí)驗(yàn)課也應(yīng)鼓勵(lì)學(xué)生之間互相討論。實(shí)驗(yàn)課是學(xué)生真正親自動(dòng)手的階段,在實(shí)踐過程中難免會(huì)遇到各種問題。有些學(xué)生擔(dān)心向老師求助會(huì)被老師認(rèn)為上課沒有認(rèn)真聽講,所以不敢問老師。如果鼓勵(lì)學(xué)生之間討論,學(xué)生可以沒有思想負(fù)擔(dān)地向其他同學(xué)請(qǐng)教,回答問題的學(xué)生則從學(xué)生的角度幫助提問的學(xué)生解答問題,更有利于學(xué)生對(duì)知識(shí)點(diǎn)的理解。另外,在學(xué)生A向老師求助時(shí),老師也可以讓學(xué)生B分析學(xué)生A編程中存在的問題,鼓勵(lì)學(xué)生積極思考。如果學(xué)生B發(fā)現(xiàn)問題所在,則會(huì)有一定的成就感,從而更喜歡這門課程;如果學(xué)生B無法找到學(xué)生A程序中的問題,則可以同時(shí)給學(xué)生A和B講解這一知識(shí)點(diǎn),幫助兩位同學(xué)解決問題,這樣也有利于學(xué)生更好的掌握C語言編程技能。

六、形式多樣的正反饋

在上課期間,老師通常鼓勵(lì)學(xué)生不懂就立即提問。但是,不同學(xué)生喜歡和老師溝通的方式不一樣,有的同學(xué)可能因?yàn)楹π卟幌矚g課堂提問,所以應(yīng)該鼓勵(lì)學(xué)生通過其他方式與老師溝通。例如,讓學(xué)生在作業(yè)本上寫出完成作業(yè)時(shí)遇到的問題,或者通過email、qq等方式尋求老師的幫助,老師也應(yīng)及時(shí)給學(xué)生回饋。例如,學(xué)生在編程過程中遇到問題,通過email向老師求助,隔了幾天還沒有收到老師的回復(fù),那么學(xué)生會(huì)認(rèn)為老師讓學(xué)生提問只是流于形式,下次再遇到問題時(shí),也就沒有再與老師溝通的積極性,也影響了學(xué)生的學(xué)習(xí)積極性。相反,老師若能立刻給學(xué)生回饋或在課堂上分析講解,學(xué)生則會(huì)認(rèn)為老師重視自己的問題,學(xué)習(xí)積極性也因此提高。

另外,無論學(xué)生提什么樣的問題,都應(yīng)給予正回饋,而不是對(duì)學(xué)生進(jìn)行批評(píng)教育。事實(shí)上,學(xué)生向老師提問前會(huì)有各種顧慮,通常需要很大的勇氣才敢提問。所以,學(xué)生提問本身勇氣可嘉,這一點(diǎn)就值得表揚(yáng)。如果學(xué)生提問遭到批評(píng),學(xué)生以后再不敢也不愿提問,直接影響其學(xué)習(xí)積極性。

七、結(jié)語

本文從如何激發(fā)學(xué)生學(xué)習(xí)熱情、開展啟發(fā)式教學(xué)、引導(dǎo)學(xué)生參與課堂互動(dòng)、給予學(xué)生正反饋等多個(gè)角度探討C語言課程教學(xué)模式。相信通過以上方法,可以幫助學(xué)生更好地掌握這門課程。同時(shí),筆者認(rèn)為本文所提的教學(xué)模式也可以推廣到理工科其他課程,尤其是偏重實(shí)踐的課程教學(xué)中。

參考文獻(xiàn):

[1]Arthur W.Chickering and Zelda F. Gamson. Seven principles for good practice in undergraduate education[J]. American Association of Higher Education Bulletin,1987,39(7).

[2][美]拉爾夫?泰勒.課程與教學(xué)的基本原理[M].羅康,張閱,譯.北京:中國輕工業(yè)出版社,2008.

第9篇

關(guān)鍵詞:C語言 教學(xué)方法 探討

1 明確學(xué)習(xí)目的,調(diào)動(dòng)學(xué)習(xí)積極性

在講述C語言概述時(shí),著重強(qiáng)調(diào)計(jì)算機(jī)語言學(xué)習(xí)的重要性和必要性。首先,C語言是其它高級(jí)語言的基礎(chǔ)。C++的核心基礎(chǔ)是C,C#的基本語法、基本數(shù)據(jù)結(jié)構(gòu)和基本控制結(jié)構(gòu)都和C語言類似, 學(xué)好C語言的基本語法對(duì)于學(xué)習(xí)其它高級(jí)語言起到非常重要的作用;其次,C語言的適用范圍非常廣,幾乎所有的硬件驅(qū)動(dòng)、網(wǎng)絡(luò)通信、快速數(shù)據(jù)處理等都涉及到C語言;第三,C語言的普及率非常高,而且依然在不斷擴(kuò)大,國內(nèi)幾乎所有大學(xué)都把語言作為程序設(shè)計(jì)相關(guān)專業(yè)的一門必修基礎(chǔ)課,國外也是一樣,很多大學(xué)都將語言作為必修課開設(shè)。第四,語言是各種認(rèn)證考試的上機(jī)操作語言,目前計(jì)算機(jī)水平考試中的二級(jí)、三級(jí)、四級(jí)和程序員等考試中都將語言作為上機(jī)考試的內(nèi)容。

2 抓住學(xué)生的好奇心,用實(shí)例滲透基本概念

為了使學(xué)生能盡快進(jìn)入C程序設(shè)計(jì)課程學(xué)習(xí)的角色,在講課過程中,要特別注意培養(yǎng)學(xué)生的學(xué)習(xí)興趣。初始幾節(jié)課,學(xué)生感到新奇、好玩,但隨著課程的不斷深入,大量的語法規(guī)則、程序代碼的出現(xiàn),很容易使部分學(xué)生感到枯燥無味,甚至望而生畏。為了把學(xué)生的好奇心轉(zhuǎn)化為學(xué)習(xí)興趣,授課時(shí)改變過去先給出定義和語句規(guī)則的講授方法,而是從篩選趣味實(shí)例出發(fā),將“語言”講得生動(dòng)、活潑。

為了激發(fā)學(xué)生的興趣,在C程序設(shè)計(jì)中的第一課,演示一些由學(xué)生自己編寫的、有趣的程序。如加密解密程序等,從而吸引學(xué)生。

由于剛接觸程序設(shè)計(jì)的學(xué)生,對(duì)程序設(shè)計(jì)充滿了好奇,如果這時(shí)把變量、函數(shù)、指針等一大堆的概念放在前面講,一下子引入大量抽象的名詞、概念,就會(huì)打擊學(xué)生的學(xué)習(xí)興趣,同時(shí),在學(xué)生沒有任何知識(shí)背景的情況下,要完全理解這些概念也是比較困難的。因此要想讓學(xué)生領(lǐng)會(huì)這些抽象的概念,教學(xué)中應(yīng)以一個(gè)個(gè)鮮活的具體實(shí)例為切入點(diǎn),在每個(gè)例子中適時(shí)、適量滲透一些相關(guān)的概念和知識(shí),讓學(xué)生在做中學(xué),在學(xué)中做,在完成任務(wù)的過程中,逐漸地、很自然地去體會(huì)變量、函數(shù)、指針等概念。

3 堅(jiān)持循序漸進(jìn),在實(shí)踐中舉一反三

在教學(xué)的整體設(shè)計(jì)上,要堅(jiān)持循序漸進(jìn)的原則,分散難點(diǎn)、合理選材,為學(xué)生建立科學(xué)的學(xué)習(xí)順序。對(duì)于有難度的知識(shí)點(diǎn),先用一個(gè)簡單的例子讓學(xué)生有所了解,經(jīng)過一段時(shí)間的練習(xí)以及相關(guān)知識(shí)的積累后,再引入一個(gè)復(fù)雜一些的例子,使學(xué)生能深入理解和掌握,最后再加以概括總結(jié),使學(xué)生對(duì)知識(shí)的認(rèn)識(shí)、理解、運(yùn)用有一個(gè)逐步深入的“螺旋式”的上升過程。教師要注重把已學(xué)過的內(nèi)容不斷納入新的內(nèi)容中去,將學(xué)生認(rèn)知結(jié)構(gòu)中原有的概念和新的知識(shí)建立起實(shí)質(zhì)性的聯(lián)系。

例如,程序的循環(huán)結(jié)構(gòu)在程序三種基本結(jié)構(gòu)中是比較難掌握的,安排了三次課,從簡單到復(fù)雜,從單重循環(huán)到雙重循環(huán),逐步加深。

第一次課,先設(shè)計(jì)一個(gè)用多條賦值語句重復(fù)累加的程序,引出重復(fù)即是循環(huán)的概念,并列舉生活、工作中的循環(huán)實(shí)例,通過編寫這個(gè)程序,幫助學(xué)生分析語句的含義,讓學(xué)生對(duì)循環(huán)結(jié)構(gòu)有一個(gè)初步的認(rèn)識(shí)。

第二次課,以典型的雙重循環(huán)實(shí)例“打印九九乘法表”,介紹雙重循環(huán)的概念,重點(diǎn)剖析內(nèi)循環(huán)作為外循環(huán)的循環(huán)體和外循環(huán)的關(guān)系,使學(xué)生循序漸進(jìn)地掌握難點(diǎn)。

第三次課,循環(huán)程序應(yīng)用舉例,通過難度適宜和一定量的程序?qū)嵗瑤椭鷮W(xué)生理解和掌握循環(huán)結(jié)構(gòu)。最后對(duì)循環(huán)結(jié)構(gòu)知識(shí)點(diǎn)進(jìn)行總結(jié),使學(xué)生對(duì)循環(huán)結(jié)構(gòu)形成完整、清晰的整體知識(shí)框架,實(shí)現(xiàn)知識(shí)的遷移。循序漸進(jìn)的原則同樣適用于實(shí)踐環(huán)節(jié)。

4 給學(xué)生搭建多種自主學(xué)習(xí)平臺(tái)

(1)發(fā)揮計(jì)算機(jī)專業(yè)的優(yōu)勢(shì),充分利用網(wǎng)絡(luò)資源,創(chuàng)建C語言教學(xué)網(wǎng)站,提供教學(xué)課件,便于學(xué)生課后自主學(xué)習(xí)與復(fù)習(xí)。建立不同層次的題庫與測試內(nèi)容,方便學(xué)生的自我檢查。開辟討論區(qū)與答疑區(qū),隨時(shí)對(duì)學(xué)生的學(xué)習(xí)問題進(jìn)行解答。并開展討論,提高學(xué)生的創(chuàng)新能力。

(2)開放學(xué)校機(jī)房。c語言是一門實(shí)踐性很強(qiáng)的課程。大量的上機(jī)調(diào)試程序,可以幫助學(xué)生發(fā)現(xiàn)問題,理解問題,掌握程序設(shè)計(jì)的方法,鍛煉創(chuàng)新能力,拓展邏輯思維。

5 抓住重點(diǎn)和難點(diǎn),做到有的放矢

只有知道“該學(xué)那些,那些最重要,哪些最難學(xué)”,才能真正做到有的放矢,有備而來。語言中必須要掌握的知識(shí)包括數(shù)據(jù)類型、控制結(jié)構(gòu)、函數(shù)、數(shù)組、指針、結(jié)構(gòu)體和文件操作等幾部分。因?yàn)檫@些知識(shí)都是使用語言進(jìn)行程序設(shè)計(jì)時(shí)使用最廣泛的,所以必須掌握。C語言中最重要的知識(shí)包括流程控制、數(shù)組、函數(shù)等。因?yàn)檫@些知識(shí)是程序設(shè)計(jì)中最實(shí)用的基本技能,所以,不僅要掌握。而且要熟練。C語言中比較難的知識(shí)包括字符串處理、指針、結(jié)構(gòu)體和文件等內(nèi)容。語言中必須掌握的知識(shí)是每個(gè)初學(xué)者學(xué)完之后都必須達(dá)到能夠使用的層次,而重點(diǎn)知識(shí)則必須非常熟練,難點(diǎn)知識(shí)做到基本掌握即可。