C语言实验教学平台的设计

时间:2022-04-12 03:36:28

C语言实验教学平台的设计

摘要:为了帮助学生完成C语言程序设计实验,采用模块化的方法设计了一个C语言实验教学平台.这个平台是由程序编辑、程序编译&运行、程序调试、题库管理和考试评分5大模块组成.使用C语言实验教学平台,学生可以单独进行C语言学习与考试、上机编程和调试操作.为了在实验平台中控制好底层编译器的返回结果,我们提出了一种基于管道的调用方法,这种方法具有速度快、效率高的优点.

关键词:平台设计;C语言;实验教学

0引言

C语言程序设计是计算机及相关专业的一门专业基础课,是操作系统、编译原理等课程的前期课程[1].由于没有专门针对C语言程序设计的实验平台,许多高等学校是使用VC6.0或者Eclipse作为程序设计的实验平台[2].这些软件开发平台是针对大型软件系统开发的,操作起来较复杂,对于刚刚接触C语言程序设计的学生来说,有点“杀鸡用牛刀”的味道,学生操作起来比较麻烦,实验效果不是很理想.Eclipse是Java程序开发的工具,需要在Java环境中运行,Eclipse的运行效率比较低.我们只有安装和配置CDT插件以后才能够使用Eclipse开发C语言程序[3].同时,近年来越来越多的研究人员开始使用计算机来辅助C语言程序设计实验教学,如建设网络化的精品课程网站或平台[4,5],但是这些实验平台或者网站都是从C语言语法知识方面辅助学生学习,学生编写和调试程序还是只能求助于VC6.0等软件开发平台.为了帮助学生进行C语言程序设计实验,我们设计了一个C语言实验教学平台,它具有程序编写、编译、调试、程序操作考试和评分等功能.使用我们的C语言实验教学平台,学生可以进行C语言知识学习与考试、上机编程和调试操作.

1实验平台的系统结构

C语言实验教学平台是由程序编辑、程序编译运行、程序调试、题库管理、考试和评分5大模块组成,这5大模块由一个主控模块控制,它们的系统结构如图1所示.主控模块是整个实验平台的控制中心,它以菜单方式把整个实验平台的功能显示出来,用户通过操作主控模块而选择不同的功能,如编辑程序、程序调试或计算机操作考试.程序编辑模块负责程序的录入、修改和存盘等功能.程序编译运行模块则主要是通过调用GCC程序的相应命令来完成程序编译操作,并把这些命令的运行结果在实验平台上显示出来.程序调试模块则通过与GDB程序交互来调试程序.题库管理模块则主要完成试题的录入和查询及维护等功能.考试模块主要对学生进行上机考试.评分模块则是对学生考试成绩进行评分.

2基于管道的调用方法

为了使C语言实验教学平台具有很好的扩展性,我们采用了开放式和模块化的设计方法,在C语言实验教学平台中以命令方式调用底层编译器编译与调试实验程序.实验教学平台中使用了国际上流行编译器GCC来编译程序.由于系统是开放的,用户只要稍微配置一下就可换用其它的编译器,如微软或者Borland公司的编译器.然而要在平台中控制好底层编译器的返回结果则比较困难.我们研究发现可以使用两种不同方法来解决这个问题,一种方法是把编译结果输出到一个文本文件中,然后再在平台的一个消息文本框中逐条显示.另一种方法是采管道技术,即在底层编译器与上层调用程序之间建立管道,然后再通过管道来传递消息.我们通过对这两种方法进行实验对比后发现第一种方法速度慢,平台不好控制底层命令,而第二种方法则完全克服了第一种方法的这些缺点.因此,在我们的实验平台中采用了第二种方法,

3平台主要模块的功能实现和运行

为了实现这个C语言实验教学平台,我们采用模块化的设计方法把图1中的每一个模块用一个窗体和相应的控制过程来实现它.主控程序调用已定义好的各模块组合成一个C语言实验教学平台.下面重点介绍主控模块、程序编辑和程序编译与运行等模块3.1主控模块C语言实验教学平台主控模块主要是向用户提供系统界面,把系统的主要功能以菜单和工具栏的方式展示在电脑屏幕上,用户通过鼠标和键盘来选择相应的功能和操作.我们把平台的常用功能以图标的方式放在常用工具栏上,这样可以提高实验人员的工作效率.C语言实验教学平台主控模块的运3.2程序编辑模块程序编辑模块主要是把用户所要编辑的C语言程序读入到内存中供用户编辑操作,用户的编辑包括插入、删除、修改等常规操作,也包括复制、粘贴、剪切等特殊操作,同时用户在编辑时还可以通过选择常用工具栏上的一些按钮操作来改变程序的一些字体,如加粗、倾斜和划线,在我们的具体实现中,我们是把C语言程序文件读入到一个VB的多文本编辑控件中,然后再对多文本控件中的文本进行操作的.

4程序编译与运行模块

程序编译与运行模块主要功能是首先把用户所编辑好的C语言程序存入硬盘,并与底层的GCC建立管道,然后由程序编译与运行模块发送命令给GCC编译程序,最后由程序编译与运行模块读取GCC的编译结果,如果编译成功则运行所编译后的程序.

5结束语

本文介绍了C语言实验教学平台的设计与实现.使用这个平台,学生可以单独进行C语言学习与考试、上机编程和调试操作.通过近二年教学实践,许多科任教师认为C语言实验教学平台可以提高学生的实验效果和考试成绩.当然,C语言实验教学平台还有许多不完善的地方,如不支持网络讨论,不支持网络作业等,我们将在下一个版本中克服这些弱点.

作者:谭小兰 邓作杰 单位:湖南工程学院计算机与通信学院

上一篇:发挥合力作用扩展职教职能探析 下一篇:以能力培养为本位的实践教学研究