• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      C語言實驗教學(xué)平臺的設(shè)計

      2017-07-05 09:14:46譚小蘭鄧作杰
      關(guān)鍵詞:編譯器程序設(shè)計程序

      譚小蘭, 鄧作杰

      (湖南工程學(xué)院 計算機與通信學(xué)院,湘潭 411101)

      ?

      C語言實驗教學(xué)平臺的設(shè)計

      譚小蘭, 鄧作杰

      (湖南工程學(xué)院 計算機與通信學(xué)院,湘潭 411101)

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

      平臺設(shè)計;C語言;實驗教學(xué)

      0 引言

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

      1 實驗平臺的系統(tǒng)結(jié)構(gòu)

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

      圖1 C語言實驗教學(xué)平臺的系統(tǒng)結(jié)構(gòu)圖

      2 基于管道的調(diào)用方法

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

      圖2 基于管道技術(shù)的調(diào)用模型圖

      3 平臺主要模塊的功能實現(xiàn)和運行

      為了實現(xiàn)這個C語言實驗教學(xué)平臺,我們采用模塊化的設(shè)計方法把圖1中的每一個模塊用一個窗體和相應(yīng)的控制過程來實現(xiàn)它.主控程序調(diào)用已定義好的各模塊組合成一個C語言實驗教學(xué)平臺.下面重點介紹主控模塊、程序編輯和程序編譯與運行等模塊

      3.1 主控模塊

      C語言實驗教學(xué)平臺主控模塊主要是向用戶提供系統(tǒng)界面,把系統(tǒng)的主要功能以菜單和工具欄的方式展示在電腦屏幕上,用戶通過鼠標和鍵盤來選擇相應(yīng)的功能和操作.我們把平臺的常用功能以圖標的方式放在常用工具欄上,這樣可以提高實驗人員的工作效率.C語言實驗教學(xué)平臺主控模塊的運行界面如圖3所示.

      圖3 平臺主控模塊的運行界面

      3.2 程序編輯模塊

      程序編輯模塊主要是把用戶所要編輯的C語言程序讀入到內(nèi)存中供用戶編輯操作,用戶的編輯包括插入、刪除、修改等常規(guī)操作,也包括復(fù)制、粘貼、剪切等特殊操作,同時用戶在編輯時還可以通過選擇常用工具欄上的一些按鈕操作來改變程序的一些字體,如加粗、傾斜和劃線,其流程圖如圖4所示.

      圖4 程序編輯模塊的流程圖

      在我們的具體實現(xiàn)中,我們是把C語言程序文件讀入到一個VB的多文本編輯控件中,然后再對多文本控件中的文本進行操作的.程序編輯模塊的運行界面如圖5所示.

      4 程序編譯與運行模塊

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

      圖5 程序編輯模塊的運行結(jié)果

      圖6 程序編譯與運行模塊的運行結(jié)果

      5 結(jié)束語

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

      [1] Chen, Y., Zhikao, R., and Chunping, C. Research and Development of C Language Programming Experiment Assistant Management Platform Based on Hybrid Architecture[J]. Procedia Engineering, 2011, 15:2932-2936.

      [2] 陳 婷.C語言程序設(shè)計實驗教學(xué)改革探究[J].實驗技術(shù)與管理,2010,27(10):182-184.

      [3] The Eclipse Foundation. Eclipse[EB/OL]. http://www.eclipse.org/, 2016/5/17.

      [4] 廖雪花,厲蘭潔,唐思娩.基于Online Judge的C語言程序設(shè)計實驗課教學(xué)改革研究[J].計算機教育,2016(6):130-132.

      [5] 容振邦,趙鐵柱,徐 沛.基于J2EE的銳捷網(wǎng)絡(luò)工程遠程實驗室設(shè)計[J].實驗科學(xué)與技術(shù),2016,14(1):58-62.

      [6] Yuan-pan, Z., Xiao-ke, S., and Zhao, J. Collaborative Application of Multiple Integrated Development Environments to Programming Language Experiment[J]. Journal of Zhengzhou University of Light Industry (Natural Science), 2011.

      [7] 高 偉,張國印,黃宏濤.C語言程序設(shè)計課程建設(shè)研究與實踐[J].計算機教育,2010(8):79-82.

      [8] 盧 瑾,張 健,陳晉音.C語言程序設(shè)計階段式分層實驗教學(xué)研究[J].計算機教育,2014(14):74-76.

      [9] 楊 毅,雷興剛,饒志堅,等.通用網(wǎng)絡(luò)教學(xué)平臺的研發(fā)及應(yīng)用[J].中國大學(xué)教學(xué),2009(7):19-21.

      Design of C Language Experiment Teaching Platform

      TAN Xiao-lan,DENG Zuo-jie

      (School of Computer and Communication, Hunan Institute of Engineering, Xiangtan 411104, China)

      To assist students with C language program experiment, a C language experiment teaching platform is designed based on modularized methods. This platform consists of program edit, program compile&run, program debug, testing bank management and examination evaluation. By using C language experiment teaching platform, a student can independently complete C language test, computer programming and debugging operations. To control the results of the underlying compiler in the platform, a kind of calling method based on the pipeline is put forward. This method has the advantages of fast speed and high efficiency.

      platform design; experiment teaching; C language

      2016-11-20

      譚小蘭(1973-),女,實驗師,研究方向:網(wǎng)絡(luò)安全與仿真實驗.

      TP311.5

      A

      1671-119X(2017)02-0039-03

      猜你喜歡
      編譯器程序設(shè)計程序
      基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
      計算機教育(2020年5期)2020-07-24 08:52:56
      基于相異編譯器的安全計算機平臺交叉編譯環(huán)境設(shè)計
      從細節(jié)入手,談PLC程序設(shè)計技巧
      電子制作(2019年9期)2019-05-30 09:42:04
      試論我國未決羈押程序的立法完善
      “程序猿”的生活什么樣
      英國與歐盟正式啟動“離婚”程序程序
      高職高專院校C語言程序設(shè)計教學(xué)改革探索
      創(chuàng)衛(wèi)暗訪程序有待改進
      PLC梯形圖程序設(shè)計技巧及應(yīng)用
      通用NC代碼編譯器的設(shè)計與實現(xiàn)
      塘沽区| 九台市| 紫云| 特克斯县| 将乐县| 枣庄市| 留坝县| 绥芬河市| 邓州市| 政和县| 清远市| 绥宁县| 青神县| 毕节市| 同心县| 芷江| 剑河县| 本溪| 新源县| 和田县| 台中市| 陆川县| 衡山县| 上杭县| 怀远县| 乐亭县| 时尚| 弥勒县| 凤山县| 永新县| 巨鹿县| 大荔县| 沁阳市| 红安县| 保德县| 镇康县| 正阳县| 井陉县| 和平县| 根河市| 焦作市|