999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

以開源軟件為平臺(tái)改進(jìn)C語(yǔ)言教學(xué)

2009-12-31 00:00:00廖文江董南萍郭文榮
計(jì)算機(jī)時(shí)代 2009年10期

摘要:為使學(xué)生深入地了解C語(yǔ)言的本質(zhì),提出了基于開源軟件教授c語(yǔ)言程序設(shè)計(jì)的方法。教學(xué)實(shí)踐表明,使用這種教學(xué)方法可以培養(yǎng)學(xué)生的動(dòng)手能力、思維能力以及創(chuàng)新能力,能有效地改善教學(xué)效果,提高教學(xué)質(zhì)量。

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

引言

現(xiàn)今國(guó)內(nèi)高校在教授c語(yǔ)言時(shí),多數(shù)教師基于Windows開發(fā)環(huán)境來講述c語(yǔ)言編程技術(shù)。由于Windows平臺(tái)的局限性,教師在教授計(jì)算機(jī)編程語(yǔ)言時(shí),無法深入講解相關(guān)的一些知識(shí)和技術(shù),使得學(xué)生對(duì)于編程語(yǔ)言的理解僅僅停留在表面,不能理解計(jì)算機(jī)編程語(yǔ)言c的本質(zhì),很多相關(guān)專業(yè)的畢業(yè)生所能從事的開發(fā)工作基本上還都是一些技術(shù)含量比較低的應(yīng)用層開發(fā)工作。究其原因是我們?cè)谑谡n的過程中過分依賴集成度很高的IDE開發(fā)工具,讓學(xué)生一鍵式完成開發(fā)全過程,而卻對(duì)整個(gè)過程一無所知,對(duì)細(xì)節(jié)基本上不清楚。高校作為承載和傳承技術(shù)的機(jī)構(gòu),理當(dāng)在平常的教學(xué)過程中竭盡所能把每一技術(shù)細(xì)節(jié)都講透、講到位,這樣才能培養(yǎng)出合格、有用、適合社會(huì)需求的高級(jí)技術(shù)開發(fā)人才。

國(guó)內(nèi)有很多優(yōu)秀的企業(yè)在基于開源軟件開發(fā)自己企業(yè)的產(chǎn)品,很多的產(chǎn)品都是用很簡(jiǎn)陋的工具而不是在諸如Vc這么強(qiáng)大的IDE開發(fā)環(huán)境下開發(fā)完成的。這些開源工具盡管集成度不是很高,但是每個(gè)工具各具功能,在產(chǎn)品開發(fā)的各個(gè)階段起著不同的作用,簡(jiǎn)單且實(shí)用。如果學(xué)生能理解這些工具的作用,實(shí)際上也就真正理解了開發(fā)一項(xiàng)產(chǎn)品的全過程,把握住了細(xì)節(jié)、核心。

鑒于以上所述并結(jié)合我校的特點(diǎn)和學(xué)以致用的辦學(xué)宗旨,我們?cè)谛!⒃侯I(lǐng)導(dǎo)的鼓勵(lì)和大力支持下,大膽嘗試基于開源軟件去講授c語(yǔ)言編程技術(shù),多角度去展現(xiàn)c的魅力和本質(zhì),放棄了在集成度很高的Windows下單純講述c語(yǔ)言知識(shí)點(diǎn)的傳統(tǒng)方式,教學(xué)取得了較好效果。

1 講授Gcc編譯器深入理解C語(yǔ)言開發(fā)過程

任何用高級(jí)語(yǔ)言編寫的程序都要經(jīng)歷由源代碼到預(yù)處理代碼、匯編代碼、計(jì)算機(jī)可識(shí)別的目標(biāo)代碼到最后的可執(zhí)行代碼的轉(zhuǎn)換才能運(yùn)行。但在Windows平臺(tái)下的IDE開發(fā)環(huán)境里僅僅需要點(diǎn)擊某個(gè)按鈕就一步生成可執(zhí)行文件,這表面上看很便捷,但學(xué)生很難在其中體驗(yàn)到高級(jí)語(yǔ)言程序運(yùn)行原理的一些相關(guān)細(xì)節(jié)。IDE幫我們做了太多的事情而隱含了過程細(xì)節(jié),使得學(xué)生很難將學(xué)習(xí)到理論和實(shí)際聯(lián)系起來。我們?cè)诮虒W(xué)實(shí)踐中嘗試使用最簡(jiǎn)單的Gee編譯器,講述Gee的各項(xiàng)參數(shù),可以使學(xué)生比較直觀的體驗(yàn)到一個(gè)高級(jí)語(yǔ)言編寫的程序是如何從源代碼逐步變成計(jì)算機(jī)可執(zhí)行文件的過程。在授課過程中講述編譯器的各項(xiàng)參數(shù),例如-E參數(shù)產(chǎn)生的結(jié)果是預(yù)處理文件,通過分析這個(gè)文件學(xué)生真正理解了預(yù)處理到底在做些什么工作,也就很容易理解include和關(guān)鍵字define的作用;而在講解Gee的_o參數(shù)時(shí),通過示例分析學(xué)生自然可以明白為什么要在源程序的開頭要調(diào)用#include和為什么我們不需要自己編寫prinff函數(shù)而直接調(diào)用也沒有錯(cuò)的原因。這樣在c語(yǔ)言教學(xué)過程中通過附帶講解這簡(jiǎn)單而又實(shí)用的Gee開源編譯器工具可以使學(xué)生深入理解開發(fā)的每一個(gè)環(huán)節(jié)。把握住了開發(fā)過程中的每一步每一細(xì)節(jié)才是真正把握了住了c語(yǔ)言程序的本質(zhì)和精髓。

2 引入Makefile概念理解項(xiàng)目本質(zhì)

企業(yè)需要的是有多年項(xiàng)目開發(fā)經(jīng)驗(yàn)、基本功扎實(shí)的開發(fā)工程師,所以在教授此門課程時(shí),注意到要讓學(xué)生建立項(xiàng)目的基礎(chǔ)概念和培養(yǎng)起扎實(shí)的基本功。一般,在講述c語(yǔ)言程序設(shè)計(jì)時(shí)多數(shù)老師會(huì)教學(xué)生使用諸如Turbo c、Vc++等軟件。這些軟件是好用,集成度高,但是屏蔽掉了很多的技術(shù)細(xì)節(jié)。隨便寫寫就可編成一個(gè)應(yīng)用程序,學(xué)生會(huì)有很多的困惑:我就寫了一個(gè)小程序怎么就生成這么大的一個(gè)應(yīng)用程序呢?而在教學(xué)過程中增補(bǔ)makefile知識(shí),使學(xué)生對(duì)系統(tǒng)和項(xiàng)目的組成關(guān)系有了一定的認(rèn)識(shí)。這較之傳統(tǒng)的一個(gè)c文件講述所有c語(yǔ)言的教學(xué)模式有了很大的變革。這樣在學(xué)生在走出校門進(jìn)入企業(yè)前已在自己的腦海里對(duì)項(xiàng)目、模塊有了一個(gè)基本的概念。磨刀不誤砍柴工,基礎(chǔ)打好了,干起活來才得心應(yīng)手。

3 放棄圖形化調(diào)試手段使用Gdb調(diào)試器

多數(shù)Windows平臺(tái)下的IDE開發(fā)工具所提供的c語(yǔ)言調(diào)試程序,可以很方便地對(duì)c語(yǔ)言代碼中的錯(cuò)誤跟蹤定位。但是越是方便的工具越是阻礙了學(xué)生處理問題的能力的培養(yǎng),過于依賴圖形就會(huì)使學(xué)生在學(xué)習(xí)新知識(shí)的過程中逐步放棄邏輯思維和抽象思維的訓(xùn)練,也不利于學(xué)生對(duì)事物本質(zhì)的挖掘。基于此,我們?cè)赾語(yǔ)言教學(xué)過程中大膽放棄使用IDE開發(fā)工具去調(diào)試c語(yǔ)言程序,而向?qū)W生介紹使用開源軟件Gdb。學(xué)生通過學(xué)習(xí)break命令明白設(shè)置斷點(diǎn)的含義,通過學(xué)習(xí)bt命令了解函數(shù)調(diào)用棧的概念,通過學(xué)習(xí)info local了解棧幀、局部變量的意義,從而既鞏固了前期課程的知識(shí)又能深入理解調(diào)試程序的意義。實(shí)踐表明在c語(yǔ)言學(xué)習(xí)過程中介紹引入Gdb調(diào)試器知識(shí)可以使得學(xué)生養(yǎng)成獨(dú)立思考解決問題的習(xí)慣。

4 開源工具鏈多角度展示C本質(zhì)魅力

c語(yǔ)言程序設(shè)計(jì)是一門實(shí)踐性很強(qiáng)的課程,同時(shí)也是一門很難理解的課程,如果可以把一個(gè)知識(shí)點(diǎn)從多角度地向?qū)W生展現(xiàn),勢(shì)必能夠幫助學(xué)生更好地理解c語(yǔ)言。在開源軟件里有很多的小工具可以很方便地從各個(gè)方面向?qū)W生傳遞c語(yǔ)言的本質(zhì)。例如可以用vim編輯器寫入ab兩個(gè)字符并保存為ab.c,之后我們可以用oat ab.c將文件的內(nèi)容打印到屏幕上,而如果我們用od ab.c則可以以八進(jìn)制的方式把文件打印到屏幕上,而用hexdump ab.c則可以以十六進(jìn)制方式打印。顯然,一個(gè)事物可以多角度去看去辨析,才能更全面地了解事物的本質(zhì)。教學(xué)中我們采用了工程實(shí)際中常用的幾個(gè)開源工具向?qū)W生多角度展示c的本質(zhì)和魅力,例如用objdump-dsSx app>obj.txt這條命令可以很輕松地將一個(gè)應(yīng)用程序反匯編并保存下來。很多學(xué)生都想成為計(jì)算機(jī)高手,這條命令的引入極大地激發(fā)起他們的學(xué)習(xí)興趣,而再引入strings、nm等命令從不同的角度去看同一個(gè)可執(zhí)行應(yīng)用程序時(shí),學(xué)生學(xué)習(xí)c語(yǔ)言程序設(shè)計(jì)的興趣大增。學(xué)生學(xué)習(xí)這門課程的原動(dòng)力一旦得到激發(fā),學(xué)習(xí)過程自然也就由“要我學(xué)”變成“我要學(xué)”。

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

c語(yǔ)言是一門很完美的程序設(shè)計(jì)語(yǔ)言,教授c語(yǔ)言的教師更是一名優(yōu)秀的演員,需要盡全力把這門語(yǔ)言傳授給學(xué)生。選取Linux下的開源軟件為工具授課不僅可以擴(kuò)展學(xué)生的眼界,而且可以多角度充分展示c語(yǔ)言的每一知識(shí)點(diǎn),從而讓學(xué)生深入理解c語(yǔ)言的精髓和本質(zhì)。只有結(jié)合課堂討論、現(xiàn)場(chǎng)演示講解等多種教學(xué)手段使得學(xué)生喜愛并真正掌握如何編寫c語(yǔ)言程序去解決工程實(shí)際問題,才能充分調(diào)動(dòng)學(xué)生的積極性、主動(dòng)性和創(chuàng)造性,激發(fā)學(xué)生的學(xué)習(xí)興趣。只有引導(dǎo)學(xué)生通過獨(dú)立思考,融會(huì)貫通地掌握系統(tǒng)的c語(yǔ)言知識(shí),讓學(xué)生主動(dòng)、愉快地學(xué)習(xí),滿足他們的求知欲,才能取得較好的教學(xué)效果。

主站蜘蛛池模板: 欧美性猛交一区二区三区| 天天综合网在线| 国产精品99久久久| 国产成人精品一区二区不卡| 国产白丝av| 中国丰满人妻无码束缚啪啪| 亚洲 欧美 偷自乱 图片 | 日韩AV无码免费一二三区| 丁香婷婷综合激情| 午夜成人在线视频| 国产迷奸在线看| 亚洲色无码专线精品观看| 欧美日韩午夜视频在线观看| 狼友视频一区二区三区| 国产美女在线观看| 欧美亚洲国产一区| 免费又黄又爽又猛大片午夜| h网址在线观看| 日韩国产综合精选| 成年免费在线观看| 亚洲人成高清| 广东一级毛片| 国产精品吹潮在线观看中文| 欧美一级视频免费| 国产成人综合在线视频| 色一情一乱一伦一区二区三区小说| 9啪在线视频| 高清欧美性猛交XXXX黑人猛交| 国产91小视频在线观看| 精品黑人一区二区三区| 91成人免费观看| 99久久精品视香蕉蕉| 中日韩一区二区三区中文免费视频 | 欧美精品影院| 日韩在线播放中文字幕| 国产福利一区二区在线观看| 国产一区成人| 国产91无码福利在线| 97视频免费在线观看| 国产欧美日韩精品第二区| 亚洲综合第一页| 午夜高清国产拍精品| 国产成人免费高清AⅤ| 综合网久久| 国产精品原创不卡在线| 精品伊人久久久大香线蕉欧美| 亚洲欧洲一区二区三区| 国产成人三级| 精品国产91爱| 欧美一级高清视频在线播放| 国产成人精品免费av| 免费a级毛片18以上观看精品| 国产精彩视频在线观看| 在线播放国产99re| 日韩欧美中文字幕在线韩免费| 中文国产成人精品久久一| 欧美啪啪视频免码| 九九香蕉视频| 欧美精品成人一区二区视频一| 一区二区在线视频免费观看| 性视频一区| 国产精品亚洲αv天堂无码| 在线观看无码av免费不卡网站 | 国产9191精品免费观看| 一级毛片免费高清视频| 中文国产成人精品久久| 亚洲天堂777| 婷婷五月在线| 小13箩利洗澡无码视频免费网站| 婷婷六月综合网| 亚洲不卡影院| 亚洲福利片无码最新在线播放| 99re66精品视频在线观看| 天堂网亚洲系列亚洲系列| 午夜视频日本| 欧美在线视频不卡| 91年精品国产福利线观看久久| 人人看人人鲁狠狠高清| 一个色综合久久| 国产精品偷伦在线观看| 精品国产免费人成在线观看| 中文字幕佐山爱一区二区免费|