公務員期刊網 論文中心 正文

C語言實驗教學平臺的設計

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了C語言實驗教學平臺的設計范文,希望能給你帶來靈感和參考,敬請閱讀。

C語言實驗教學平臺的設計

摘要:為了幫助學生完成C語言程序設計實驗,采用模塊化的方法設計了一個C語言實驗教學平臺.這個平臺是由程序編輯、程序編譯&運行、程序調試、題庫管理和考試評分5大模塊組成.使用C語言實驗教學平臺,學生可以單獨進行C語言學習與考試、上機編程和調試操作.為了在實驗平臺中控制好底層編譯器的返回結果,我們提出了一種基于管道的調用方法,這種方法具有速度快、效率高的優(yōu)點.

關鍵詞:平臺設計;C語言;實驗教學

0引言

C語言程序設計是計算機及相關專業(yè)的一門專業(yè)基礎課,是操作系統、編譯原理等課程的前期課程[1].由于沒有專門針對C語言程序設計的實驗平臺,許多高等學校是使用VC6.0或者Eclipse作為程序設計的實驗平臺[2].這些軟件開發(fā)平臺是針對大型軟件系統開發(fā)的,操作起來較復雜,對于剛剛接觸C語言程序設計的學生來說,有點“殺雞用牛刀”的味道,學生操作起來比較麻煩,實驗效果不是很理想.Eclipse是Java程序開發(fā)的工具,需要在Java環(huán)境中運行,Eclipse的運行效率比較低.我們只有安裝和配置CDT插件以后才能夠使用Eclipse開發(fā)C語言程序[3].同時,近年來越來越多的研究人員開始使用計算機來輔助C語言程序設計實驗教學,如建設網絡化的精品課程網站或平臺[4,5],但是這些實驗平臺或者網站都是從C語言語法知識方面輔助學生學習,學生編寫和調試程序還是只能求助于VC6.0等軟件開發(fā)平臺.為了幫助學生進行C語言程序設計實驗,我們設計了一個C語言實驗教學平臺,它具有程序編寫、編譯、調試、程序操作考試和評分等功能.使用我們的C語言實驗教學平臺,學生可以進行C語言知識學習與考試、上機編程和調試操作.

1實驗平臺的系統結構

C語言實驗教學平臺是由程序編輯、程序編譯運行、程序調試、題庫管理、考試和評分5大模塊組成,這5大模塊由一個主控模塊控制,它們的系統結構如圖1所示.主控模塊是整個實驗平臺的控制中心,它以菜單方式把整個實驗平臺的功能顯示出來,用戶通過操作主控模塊而選擇不同的功能,如編輯程序、程序調試或計算機操作考試.程序編輯模塊負責程序的錄入、修改和存盤等功能.程序編譯運行模塊則主要是通過調用GCC程序的相應命令來完成程序編譯操作,并把這些命令的運行結果在實驗平臺上顯示出來.程序調試模塊則通過與GDB程序交互來調試程序.題庫管理模塊則主要完成試題的錄入和查詢及維護等功能.考試模塊主要對學生進行上機考試.評分模塊則是對學生考試成績進行評分.

2基于管道的調用方法

為了使C語言實驗教學平臺具有很好的擴展性,我們采用了開放式和模塊化的設計方法,在C語言實驗教學平臺中以命令方式調用底層編譯器編譯與調試實驗程序.實驗教學平臺中使用了國際上流行編譯器GCC來編譯程序.由于系統是開放的,用戶只要稍微配置一下就可換用其它的編譯器,如微軟或者Borland公司的編譯器.然而要在平臺中控制好底層編譯器的返回結果則比較困難.我們研究發(fā)現可以使用兩種不同方法來解決這個問題,一種方法是把編譯結果輸出到一個文本文件中,然后再在平臺的一個消息文本框中逐條顯示.另一種方法是采管道技術,即在底層編譯器與上層調用程序之間建立管道,然后再通過管道來傳遞消息.我們通過對這兩種方法進行實驗對比后發(fā)現第一種方法速度慢,平臺不好控制底層命令,而第二種方法則完全克服了第一種方法的這些缺點.因此,在我們的實驗平臺中采用了第二種方法,

3平臺主要模塊的功能實現和運行

為了實現這個C語言實驗教學平臺,我們采用模塊化的設計方法把圖1中的每一個模塊用一個窗體和相應的控制過程來實現它.主控程序調用已定義好的各模塊組合成一個C語言實驗教學平臺.下面重點介紹主控模塊、程序編輯和程序編譯與運行等模塊3.1主控模塊C語言實驗教學平臺主控模塊主要是向用戶提供系統界面,把系統的主要功能以菜單和工具欄的方式展示在電腦屏幕上,用戶通過鼠標和鍵盤來選擇相應的功能和操作.我們把平臺的常用功能以圖標的方式放在常用工具欄上,這樣可以提高實驗人員的工作效率.C語言實驗教學平臺主控模塊的運3.2程序編輯模塊程序編輯模塊主要是把用戶所要編輯的C語言程序讀入到內存中供用戶編輯操作,用戶的編輯包括插入、刪除、修改等常規(guī)操作,也包括復制、粘貼、剪切等特殊操作,同時用戶在編輯時還可以通過選擇常用工具欄上的一些按鈕操作來改變程序的一些字體,如加粗、傾斜和劃線,在我們的具體實現中,我們是把C語言程序文件讀入到一個VB的多文本編輯控件中,然后再對多文本控件中的文本進行操作的.

4程序編譯與運行模塊

程序編譯與運行模塊主要功能是首先把用戶所編輯好的C語言程序存入硬盤,并與底層的GCC建立管道,然后由程序編譯與運行模塊發(fā)送命令給GCC編譯程序,最后由程序編譯與運行模塊讀取GCC的編譯結果,如果編譯成功則運行所編譯后的程序.

5結束語

本文介紹了C語言實驗教學平臺的設計與實現.使用這個平臺,學生可以單獨進行C語言學習與考試、上機編程和調試操作.通過近二年教學實踐,許多科任教師認為C語言實驗教學平臺可以提高學生的實驗效果和考試成績.當然,C語言實驗教學平臺還有許多不完善的地方,如不支持網絡討論,不支持網絡作業(yè)等,我們將在下一個版本中克服這些弱點.

作者:譚小蘭 鄧作杰 單位:湖南工程學院計算機與通信學院