1.学习编程的秘诀是:编程,编程,再编程!
要多上机、进系统练习,不能停留在所谓的复印答案上。不看书是绝对不行的,但光看不练也不行,练习能加深对理论知识的理解。多编几次程序、多几次上机调试,很东西自然而然就懂了、自然而然就记住了。C语言之所以挂科率高,主要的原因还是“平时不学、没有理解和掌握、仅考前1~2周突击死记硬背”——现在考察的是能力,能力的形成需要较长时间的实践磨练,而不是短期的死记硬背或突击。
考前的复习准备肯定有帮助,但基础还在平时,某些同学考试及格了,不能只看到其考前的复习准备而忽略其平时的努力。请平时一定要加强练习,循序渐进,由易到难,不要等到临考前去背所谓的答案——已有的事实和往届学长惨痛的教训一次次证明:死记硬背答案花的时间更多、很痛苦、极难幸运地及格,除了后悔、给后来者提供教训外,对自己的人生没有任何意义。为什么平时不花点时间去掌握知识并收获、体验成功的喜悦、让青春更有价值、让未来充满机遇和希望呢?
即使需要背(理解记忆),也应是程序的主要步骤、主要算法。
2.编程时,建议先用伪代码(注释语句)写出主要步骤(算法),然后再写程序。
先不要考虑用C语言怎么实现,应先考虑人工完成应怎么做、想清楚人工完成的每一个细节,然后结合计算机能按你规定步骤自动执行、高速、高精度的特点,设计出相应的算法(主要步骤)。算法可以用流程图表示,也可以用伪代码(注释语句)表示,应写(画)出每一步骤要完成的工作。设计算法时应自顶向下、逐步求精,先整体再局部,先宏观再细节,这样才思路清析。
C语言难学只是一个表面现象,难不在C语言本身,若是同样的编程要求,换做VB、Fortran、Java也一样的难。在软件设计中,先要做总体设计,再是详细设计(设计算法,与具体语言基本无关),然后才是使用一种语言来编码,真正难的是总体设计和基本与语言种类无关的详细算法;算法做好后,并非一定要使用C语言实现,在社会分工中,编码(可以用C语言)是技术含量、工资较低的活,通常由蓝领工人完成。
如果主要步骤(算法)写不出来,则程序的正确设计注定是不可能的——经常出现的情况是写了一大段程序,但自己都不知道这些程序和变量的作用、是怎样运行的。
3.注意练习系统给出的提示(评分备注)。
评分备注主要分4类,说明了评分的详细情况,应仔细阅读并采取相应的措施。
(1)报告编译链接错误,如下的备注信息指明了程序第27行存在的问题:
.c(27) : error C2220: warning treated as error - no object file generated
.c(27) : warning C4101: 'k' : unreferenced local variable
(2)失分情况,在哪些方面失分:
失分[10],未实现:输出了x的值,格式符合要求,与示例一致
失分[20],未实现:x>0时计算正确
失分[20],未实现:x=0时计算正确
失分[20],未实现:x<0时计算正确
失分[30],未实现:当函数值超过int型数据表示的范围时计算正确
(3)违反编程规范的情况。编程规范与算法、设计是否正确无关,按要求修正即可,其目的是让考生养成相应的习惯和意识,最后上升为一种素质:
第27行: 应当使用Tab缩进,而不是使用空格
第27行: 'if'缩进错误
第27行: 在操作符'!='前后应有空格
第7行: 变量(h)命名太简单
(4)程序修改了禁止修改的部分或不符合编程要求,例如:
本程序已有内容禁止修改但却被考生修改或考生添加代码部分之行数、行长超限,评分终止。建议使用系统提供的专用检查程序(单击此处下载)进行检查。
4.利用在线帮助,不需要、不该背(记忆)的东西坚决不背!
当你对某个关键字、函数的用法不清楚或不知其在哪一个头文件中定义时,可以将光标移至该关键字、函数上,按“F1”键(TC为Ctrl+F1),VC6即可显示出相关的说明(若相关的说明项较多,则应选择与Visual C++ Programmer Guide——VC++程序员指南相关的,如图1所示)。
图1 选择与VC++程序员指南相关的帮助 由此:
(1)每个程序应包含哪些头文件,不需要背。编程时可先不写头文件,则编译时会报警告信息,例如说某函数未定义等,则通过在线帮助查出其所在的头文件再复制即可。
(2)系统库函数的用法、参数的顺序及意义不用背。例如fread和fscanf有多个参数,fread的文件指针参数在最后而fscanf则在最前;再如scanf和printf中的格式控制、数据类型控制、转义符等在在线帮助中均有。特别要说明的是,在VC6的在线帮助中,绝大部分语句、函数都有例子,复制下来改一改就可能完成了新的任务。
(3)当某个函数名或保留关键字记不清楚拼写时,可使用自动完成或在在线帮助中使用索引协助查找。
5.勤用复制、粘贴。
自行逐字输入太慢且容易出错,复制、粘贴又快、又准,何乐而不为呢?
(1)程序提供了编程素材的,一定要复制、粘贴。搞错了可能影响得分甚至得0分,尽管设计正确,但记住是计算机自动阅卷,要按要求做。
(2)调试程序时,若输入数据较多,则应复制、粘贴。注意,题目中给出的测试数据中可能隐藏有全角的空格或多余的空格,直接复制、粘贴可能会有问题,建议此时应先复制到记事本中,进行编辑处理,然后再复制、粘贴。
(3)在线帮助中有例子或参考代码,则应复制、粘贴后再修改,既准确,又能节约不少宝贵的时间。
(4)编写好一个程序后再编写另一程序时,建议将编好程序的框架复制到新程序中再修改,可节约一些时间。
6.计算中心提供全天候的免费开放机房并有助教为您答疑解惑,服务不好可以投诉,详情请单击此处查看。
7.计算中心网站提供有C语言程序设计的教学录像,请在本网站中使用搜索功能查找。
|