- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
20lO年11月 内蒙古大学学报(自然科学版) NOV. 2010
ofInner V01.41NO.6
第41卷第6期 Journal MongoliaUniversity
文章编号:1000—1638(2010)06—0712-05
c/c++编程风格批注系统的设计与实现+
韩君泽1,张良德2”,刘东升3
(1.南开大学信息技术科学学院,天津300071;
2.内蒙古警察职业学院,呼和浩特010051;
3.内蒙古师范大学计算机与信息工程学院,呼和浩特010022)
摘要:程序设计实践中常见的编程风格问题包括缩进、对齐、一行书写多条语句、空行和注释,
将上述问题分类并形式化为括号匹配问题,基于改进的匹配算法,设计并实现了一个C/C+q-
编程风格批注系统.该系统能够自动对C/C++程序代码中存在的编程风格问题进行检测,并
通过友好的用户界面给出对应的批注信息和规范后的代码文本.
关键词:c/c++;编程风格;自动批注;匹配算法
中图分类号:TP311.11文献标志码:A
程序设计基础是高等学校计算机科学与技术相关专业的基础课程,在计算机专业课程体系中占
有十分重要的地位,学生对该课程的掌握情况将直接影响到后续专业课程的学习“’.该课程虽以讲授
C/C++语言为主,但并非单纯讲授一门语言,而是强调对程序设计方法的掌握和良好编程风格的养
成.但实际教学中,无论教师还是学生均把主要精力放在程序的算法设计和执行正确性方面,很少关
注编程风格的问题心3.在大型软件开发中,程序员未能养成良好的编程风格,将会导致程序可读性差,
进而增加维护成本和工作量等问题.因此大学生应该在科学方法的指导下,在学习程序设计初期就接
受规范编程的教育∞。43.
常见的编程风格问题包括缩进、对齐、一行书写多条语句、空行和注释等.本文将上述问题分类并
形式化为括号匹配问题,基于改进的匹配算法,设计并实现了一个c/cq-+编程风格批注系统.该系
统能够自动对学生程序代码中存在的编程风格问题添加相关批注信息,通过批注来督促学生养成良
好的编程习惯;同时也有助于教师针对学生作业中存在的较集中的编程风格问题分析和总结,实施教
学.
1 问题形式化
本文实现的批注系统的输人文件为学生提交的已经编译通过的C/Cq-q-程序代码.而c/cq-q-
程序代码结构具有显著的特点,比如:程序基本单位是函数,其中必包含一个主函数main(),且程序
的执行一定从main()函数开始,不论其在整个程序中的位置如何;函数由函数首部和函数体两部分
组成,其中,函数体由一对“{”和“}”括起来的若干语句构成;C/Cq-q-程序的每个语句、说明及变量定
义之后都必须以分号结尾,分号是语句的必要组成部分,即使是程序最后一条语句也应包含分号.通
过分析,我们发现,除了“{),,、“()”本身,“;”也可以起到类似于括号的界定作用,可以在编程风格问
-收稿日期:2010—07一10
基金项目:国家自然科学基金资助项目
作者简介:韩君泽(1988一),男,河北省尚义人。2007级本科生.
通信作者:刘东升(1
edu.ca.
万方数据
第6期 韩君泽等C/C++编程风格批注系统的设计与实现 713
题的识别中起到积极作用,在实际的处理中,可以当作抽象的括号对待.
本文设计的C/C++编程风格批注系统主要针对以下五种常见情况生成批注:缩进、一行之内书
写多条语句、注释、对齐和空行.由于篇幅有限,本文主要介绍缩进批注的生成和一行内书写多条语句
批注的生成.添加编程风格批注的伪码算法描述如下:
void
adding—annotation()
{
读入c/c++程序;
do{
逐行读取每个字符;
文档评论(0)