浅谈C语言学习方法和编程风格
- 格式:pdf
- 大小:164.10 KB
- 文档页数:3
第16卷 第3期2009年6月兰州工业高等专科学校学报JournalofLanzhouPolytechnicCollegeVol.16,No.3Jun.,2009
文章编号:1009-2269(2009)03-0001-03
浅谈C语言学习方法和编程风格*
严轶群,刘 涛(安徽工程科技学院计算机科学与工程系,安徽芜湖 241000)摘要:C语言是一门高级程序设计语言,是目前被广泛使用的教学语言.既可以用来编写系统软件,又可以用来编写应用软件.因而学习好C语言程序设计具有很重要的意义.根据C语言教学特点并结合个人实践,对C语言的学习方法和编程风格提出了一些看法.关 键 词:C语言;学习方法;编程风格中图分类号:TP311文献标识码:A
C语言包含丰富的运算符,灵活使用各种运算符可以实现在其他高级语言中难以实现的运算;具有现代语言的各种数据结构,能用来实现各种复杂的数据结构的运算;具有各种结构化的控制语句,用函数作为程序的模块单位,编译实现程序的模块化;允许直接访问物理地址,能进行位操作.因此需要学习的内容非常广泛[1].
1 C语言的学习方法1.1 多看代码,多思考不管使用哪本教材,通常在学习第一章后,就可以编写最简单的程序了.随着学习的深入,可以编写越来越大的程序.但对于初学者来说,还没有很好地建立程序设计思维,所以在有一定基础以后一定要多看别人的代码.在看别人的代码时要多动脑多思考,注意代码中数据结构的运用和算法的总结.1.2 多动手,多实践C语言是一门实践性很强的课程,上机实验是消化C语言语法、加深对基础知识和算法理解、提高编程能力的重要途径.刚开始学的时候可以多练习书上的习题.另外,学习中存在的疑点和难点,自己编个小程序上机调试得到明确的解答,
可以加深对所学内容的掌握.自己动手的过程中要不断纠正自己不好的编程习惯和认识错误.做好上机准备,在上机实验前以书面形式写好算法和源程序,准备好调试报告.调试报告参考格式:序号输入数据预期结果运行结果1,,,,,,2,,,,,,3,,,,,,,,,,,,,,
说明:¹输入数据、预期结果书写要准确,应和屏幕显示一致.º每题应该用多少组数据调试,才能保证程序无错?根据具体问题而定,但通常需要3组或以上.»上表中的第一、第二、第三列数据应在上机前准备好.第二列输入数据的选择有一定的科学性,目的是要用尽可能少的调试次数找出所有错误[2].
¼第四列根据上机的运行结果在相应列打勾(运行结果与预期结果相同)或打叉(运行结果
*收稿日期:2008212229基金项目:安徽省教研项目(2008jyXm291),安徽工程科技学院重点课题及教研项目(2007yjy16,2007yjy49)作者简介:严轶群(19742),女,安徽安庆人,讲师.与预期结果不相同).针对运行结果进行分析,如果运行结果与预期结果不相同,则说明程序一定有错,需修改程序,再按上述数据调试.上机实验后对本次实验进行总结,写出实验心得.1.3 重视编译程序给出的错误信息在调试中,应仔细研究编译程序给出的错误信息和警告信息,弄清楚每条信息的确切根源并予以解决.特别是,不要忽略那些警告信息,许多警告信息源自隐含的严重错误[2].1.4 利用综合性实验将知识融会贯通在学习了一段时间后,就有了编程的基础.可以分阶段做几个综合性实验,例如学习完数组后可以针对简单数据结构的选取和定义,数据的输入与输出,顺序、选择、循环结构程序设计的方法和技巧以及大批同类数据的处理做一个或多个综合性实验.学习完函数、指针、结构体类型、文件以后,可以实现一个动态的学生管理系统,将本门课程的知识融会贯通.在设计与实现学生管理系统时,要从分析问题到最终得出正确结果这个过程一直按照软件工程的思想去实施,养成良好的程序设计风格,也锻炼运用C语言解决实际问题的能力.综合性实验可将自己所学知识和算法综合在一起,从整体上审视整个程序的设计,自顶向下,逐步求精,融会贯通,并通过上机进行综合调试,达到提高编程能力的目的.2 C语言的编程风格 在学习C语言时应遵循一些编程风格,形成良好的编程习惯.2.1 标识符命名标识符包括变量名、常量名、函数名以及类型名等.这些名字的选取应含义鲜明,能正确地提示程序对象所代表的实体.有助于阅读者理解程序.例如,表示总量用total等.名字的长度不应限制,但也不宜过长,太长了容易出错,应选择精炼且意义明确的名字,这样才能简化程序语句,改善对程序功能的理解.如果名字使用缩写,那么缩写规则应该一致,并且应该给每个名字加上注解,以方便阅读[3].
局部变量的命名应该短小精悍.假如有一个随机的整数循环计数器,可以用/i0、/j0或/k0,而不需要定义为/loop_counter0.对于较长的标识符命名可以使用宏定义或类型定义,例如:typedefstruct{,,}MEM;/*结构体变量类型定义*/程序中利用MEM来定义变量,简单方便.2.2 注释程序的注释分为两种:序言性注释和功能性注释.序言性注释通常安排在每个程序模块的起始部分,它是对程序的整体说明,对于理解程序本身具有引导作用.内容主要包括:功能性注释嵌入在源程序体内,用以描述其后的语句或程序段的处理功能.书写功能性注释,要注意以下几点:描述的对象是一段程序,而不是每一个语句;适当使用缩进和空行,使程序与注释容易区别;注释一定要准确.不精确的甚至是错误的注释不仅对理解程序毫无帮助,反而会妨碍对程序的理解.学习C语言时,通常使用的是功能性注释.注释是一件很好的事情,但是不宜有过多的注释.通常情况下,注释是说明你的代码做些什么,而不是怎么做的.2.3 数据说明为了使数据更容易理解和维护,应遵循一些简单的原则:数据说明的次序应当规范化.当多个变量名在一个语句中说明时,应该按字母顺序排列这些变量.另外注意变量的使用范围.当不确定变量的范围的时候尽量选用值域宽的类型.双目运算符两边的变量一般类型要一致,不一致的时候需要使用类型转换.2.4 语句构造语句构造应遵循的原则是:每条语句应该简单而直接,不应为了片面追求效率而使代码变得过于复杂.人们在长期的实践中总结了以下一些规则:不要为了节省空间而把多个语句写在同一行;用空格或可读的符号使语句的内容更加清晰;尽量避免复杂的条件测试;尽量避免使用/非0条
#2# 兰州工业高等专科学校学报 第16卷件的条件语句;避免过多使用循环嵌套和条件嵌套;利用括号使逻辑表达式或算术表达式的运算次序清晰直观;尽可能使用库函数等.注意语句的选择.并不是分支语句就用if,循环就用while、for.在适当的情况下switch和dowhile语句也是要用的.在某些时候,switch语句比if语句更加精练明了,而dowhile比while少一个循环.2.5 函数函数应该短小而精悍,它应只覆盖一到两个屏幕(80*24一屏),只作一件事情,而且将它做好.另外需要考虑一个函数内部的局部变量数量.它们不应该超过5-10个,否则容易出错.如果函数内部的局部变量数量太多,这时需要重新规划这个函数,将它们分割成更小的函数.人的大脑通常可以很容易记住7件不同的事情,超过这个数量会引起混乱.有一个好习惯是,把主函数尽量写简短.通常主函数只有几行,几个函数调用语句,而定义全在主函数外部.这样一是减少了主函数内部的嵌套,二是比较精简,容易读懂.2.6 程序的视觉组织程序中代码的布局对于程序的可读性也有很大影响.适当的利用空格、空行和移行能使程序的逻辑结构更加清晰.空格的合理应用还可以突出运算的优先性,避免发生运算的错误.另外一个C程序视觉组织的问题是对大括号的处理,可以有多种风格,一种推荐的风格,是Kernighan和Rit2chie的经典的那本书带来的,它将开始的大括号放在一行的最后,而将结束大括号放在一行的第一位.然而有一种特殊的情况,命名函数:开始的括号是放在下一行的第一位,如下:intfunction(intx){bodyoffunction}大括号是一个语句段的标志.写大括号时最好一次写一对,然后把光标移到大括号里写,避免遗漏.
3 结语 C语言作为学习计算机知识的一门重要课程,掌握学习方法很重要.良好的编程风格可以提高程序的可读性,便于以后的代码维护.初学者要注意学习编程的风格,便于培养良好的习惯.以上是我们在教学过程中的几点体会供大家参考,希望对大家能有所帮助.
参考文献:[1] 谭浩强.C程序设计(第三版)[M].北京:清华大学出版社,2005.[2] 唐建国.浅谈C语言教学[J].福建电脑,2006(4):213.[3] 周鸣争.C语言程序设计教程[M].成都:电子科大出版社,2006.[4] 齐治昌,谭庆平,宁 洪.软件工程[M].北京:高等教育出版社,2004.[5] 叶俊民.软件工程[M].北京:清华大学出版社,2006.
StudyMethodandProgrammingStyleonCLanguageYANYi-qun,LIUTao(DepartmentofComputerScienceandEngineering,AnhuiCollegeofTechnologyandScience,Wuhu241000,China)
Abstract:Clanguageisahigh-levelprogramminglanguageandusedwidelyinteachingnow.Itcanbeusedtocompilethesystemsoftwareandapplicationsoftware.IthasgreatsignificancetostudyClan2guagewell.AccordingtotheteachingcharacteristicsofClanguageandindividualpractice,somestudymethodsandprogrammingstyleareproposedinthearticle.Keywords:CLanguage;studymethod;programmingstyle
#3#第3期 严轶群等:浅谈C语言学习方法和编程风格