- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++教学中编程习惯的养成
摘要:面向对象程序设计课程在整个计算机理论和实践教学体系中占据非常重要的地位。很多学生在学完C++课程后,能够初步掌握基本语法和面向对象设计思想,但是编出来的程序质量非常低,程序可读性、稳定性和可重用性非常差,离实际软件开发的要求相差甚远,其中部分原因就是没有好的编程习惯。本文着重就好的C++编程习惯要求和养成做一些探讨,希望通过平时课堂教学和课外实验,学生可以掌握一般的编程风格,养成良好的编程习惯。
关键词:面向对象程序设计;C++;编程习惯
C++是一门优秀的面向对象程序设计语言,它在C语言的基础上发展而来,C++以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用[1]。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C++完美地体现了面向对象的各种特性。对于C++这门课程的教学,学生对教学大纲规定知识的掌握应该不是特别难的事情,但是学生学完后,光是掌握这些课本知识还远远不够,真正的软件开发不是学好课本知识就能胜任的[2]。“好的代码”应能工作,应当没有错误,具有鲁棒性、可读性、可维护性和可移植性,如果能在课程的教学过程中糅合良好的编程风格和习惯,那么就有可能使学生能够编出接近上面所说的“好的代码”,达到提高教学质量的目的[3-4]。本文从命名、注释、缩进和空格、空行、常量和宏、声明和定义分开、函数、内存分配和指针用法等方面的编程来要求学生养成良好的编程习惯。
1编程习惯
1.1风格统一
首先要强调的是整个程序的编程风格要统一,避免前后出现若干不同的编程风格。
1.2命名
强化按照一定的规则(例如“匈牙利法则”)进行变量、函数、文件的命名,原则是:含义清晰,不易混淆;不和其他模块、系统API的命名空间相冲突即可。
1) 除了循环变量“i,j”等外,其他变量均要求用有意义的名字(组合)命名,函数根据其功能进行命名。
2) 全局变量以“g_”开头,成员变量以“m_”开头,类名以“C”开头,指针以“p_”开头。
3) 局部变量小写,宏、常量全部大写。
1.3注释
程序要求有必要的注释,对注释的要求有:
1) 每个文件的文件头有注释说明本文件的版权信息、文件名称、标识符、摘要、当前版本号,作者/修改者,完成日期,版本历史信息等。
2) 每个函数都有函数功能、参数、返回值等说明。
3) 在稍微复杂的代码段(行)前添加说明。
1.4缩进和空格、空行
1) 要求程序的缩进为tab键,在{}、if、else等处必须缩进,使得程序不会看起来乱七八糟。
2) 在运算符的两侧添加空格,这样使程序看起来美观。
3) 各个模块之间用一个或者多个空行分开,使得程序的模块分布一目了然。
1.5常量或者宏来代替程序中出现的数值
1) 对于程序中出现的数值,除了0和1以外,都要求定义成常量或者宏,以增加程序的可读性和维护性。
2) 变量和常量进行比较的时候,要求把常量写在左边,避免因为粗心少写一个“=”导致程序运行结果不对,例如:
if(0 == area)
……
1.6声明和定义
类、结构体、全局函数、全局变量的声明和定义应该分开放。
1) 不管类有多么简单,都要求把类的声明放在头文件中(.H),类中成员函数的定义放在CPP文件中,在CPP文件中包含.H文件。
2) 头文件必须要有防止多重包含机制,例如对于my.h:
#ifndef _MY_H_
#define _MY_H_
……//内容放在此处
#endif
1.7函数
1) 函数参数:函数调用的时候,参数的传递方式有3种:传值调用、传引用调用和传指针调用,三者之间的区别和联系如下:
#61548; 传值调用需要复制参数内容,并且对参数值的修改(形参)不会反映到调用函数的代码(实参)。
#61548; 传引用调用和传指针调用不会复制参数内容,对参数值的修改(形参)能反映到调用函数的代码(实参)。
#61548; 传指针调用本质上是复制地址(在32位的操作系统里是4个字节),也称为传地址调用,而引用就是变量的别名。在使用引用的时候需要注意:第一,引用在定义的时候必须被初始化,不能是NULL引用,也就是说不能是不存在对象的引用,因此在函数中不需要对引用对象的有效性进行检查,而指针可以在任何时候被初始化,可以是NULL,在函数中需要对指针指向的对象进行有效性检查,否则可能造成访问非法地址。第二,一旦引用被初始化,就不能改变引用的关系,而指针则可以随时改变所指的对象。
因此,三种方式的使用情况如下:
#6154
您可能关注的文档
- “做中学”模式在计算机教学中的探索.doc
- “做中学”IT高技能人才培养模式探索.doc
- “做中学”让我学会学习.doc
- “做中学”维度下深层次工学结合模式的内涵界定及其途径分析.doc
- 《ASP.NET程序设计》教学方法的探索.doc
- 《ASP网页制作》教学方法探索与实践.doc
- 《C#程序设计》教学改革探索.doc
- 《C++程序设计教程》(第二版)的写作动机与特色.doc
- 《Access程序设计》教学方法探索.doc
- 《C程序设计》教学方法探讨.doc
- 2025年上海市农贸市场冷链设施“气改电”可行性研究报告.docx
- 2025年天津市大数据在文化旅游精准推荐与游客行为分析中的可行性研究.docx
- 湖南省衡阳市2024–2025学年高二数学下学期开学考试试题【含答案】.docx
- 贵州省安顺市2024–2025学年高一数学上学期期末教学质量监测试题【含答案】.docx
- 河北省保定市部分高中2024–2025学年高二数学下学期开学考试【含答案】.docx
- 2025年上海市保险行业在智能家居设备财产险的可行性研究报告.docx
- 2025年上海市合金在航空航天发动机叶片涂层的可行性研究报告.docx
- 2025年天津市人工湖生态停车场规划建设可行性研究报告.docx
- 湖北省2024–2025学年高二数学下学期3月联考试题【含答案】.docx
- 湖北省2024–2025学年高一数学下学期2月月考试卷【含答案】.docx
最近下载
- 公司章程英文版 Company Articles of Association.doc VIP
- 英文版公司章程ARTICLES OF ASSOCIATION OF.docx VIP
- 从《倾城之恋》的白流苏透析张爱玲小说中的女性形象.docx
- 档案搬迁服务 投标方案.doc
- 日本 东要介--透析液纯净化.cn.pdf VIP
- mpr300电机保护器使用使用说明书.doc
- 2025年乡村振兴战略下县域经济产业链优化研究报告.docx VIP
- 胜利仪器VICTOR 240.240S.270.270S双通道系列示波器用户手册.pdf VIP
- 智能浇灌系统的策划书3篇.pdf VIP
- 新HSK3级词汇最新分析和总结.pdf VIP
文档评论(0)