C语言程序设计学习技巧

【C语言程序设计上机练习技巧】

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)每个程序应包含哪些头文件,不需要背。编程时可先不写头文件,则编译时会报警告信息,例如说某函数未定义等,则通过在线帮助查出其所在的头文件再复制即可。

(2)系统库函数的用法、参数的顺序及意义不用背。例如fread和fscanf有多个参数,fread的文件指针参数在最后而fscanf则在最前;再如scanf和printf中的格式控制、数据类型控制、转义符等在在线帮助中均有。特别要说明的是,在VC6的在线帮助中,绝大部分语句、函数都有例子,复制下来改一改就可能完成了新的任务。

(3)当某个函数名或保留关键字记不清楚拼写时,可使用自动完成或在在线帮助中使用索引协助查找。

5.勤用复制、粘贴。

自行逐字输入太慢且容易出错,复制、粘贴又快、又准,何乐而不为呢?

(1)程序提供了编程素材的,一定要复制、粘贴。搞错了可能影响得分甚至得0分,尽管设计正确,但记住是计算机自动阅卷,要按要求做。

(2)调试程序时,若输入数据较多,则应复制、粘贴。注意,题目中给出的测试数据中可能隐藏有全角的空格或多余的空格,直接复制、粘贴可能会有问题,建议此时应先复制到记事本中,进行编辑处理,然后再复制、粘贴。

(3)在线帮助中有例子或参考代码,则应复制、粘贴后再修改,既准确,又能节约不少宝贵的时间。

(4)编写好一个程序后再编写另一程序时,建议将编好程序的框架复制到新程序中再修改,可节约一些时间。

6.计算中心提供全天候的免费开放机房并有助教为您答疑解惑,服务不好可以投诉,详情请单击此处查看。

7.计算中心网站提供有C语言程序设计的教学录像,请在本网站中使用搜索功能查找。

【C语言程序设计学习技巧】相关文章:

c语言程序该不该背,C语言程序设计学习技巧相关推荐

  1. 奇数魔方阵c语言程序设计,《C语言程序》课程设计报告书魔方阵程序设计

    <<C语言程序>课程设计报告书魔方阵程序设计>由会员分享,可在线阅读,更多相关<<C语言程序>课程设计报告书魔方阵程序设计(17页珍藏版)>请在人人文库 ...

  2. c语言程序第一章编程,c语言程序的设计第一章 C语言编程入门.ppt

    c语言程序的设计第一章 C语言编程入门 第1章 C语言编程入门 本章是本书的入门篇,专为初学者熟悉编程过程.掌握程序结构而准备的. 本章学习目标 ? 1)? 能够通过模仿与改变来构造带有测试函数的C语 ...

  3. 统计字符 c语言程序,统计字符个数的C语言程序.doc

    统计字符个数的C语言程序.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...

  4. c语言编程建议和技巧,C语言程序设计学习技巧

    C语言程序设计学习技巧 [C语言程序设计上机练习技巧] 1.学习编程的秘诀是:编程,编程,再编程! 要多上机.进系统练习,不能停留在所谓的复印答案上.不看书是绝对不行的,但光看不练也不行,练习能加深对 ...

  5. 花一千多学python值吗_Python爬虫应该怎么学?程序猿花了一周整理的学习技巧,请收下...

    原标题:Python爬虫应该怎么学?程序猿花了一周整理的学习技巧,请收下 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多, ...

  6. c语言程序与设计苏小红,c语言程序设计苏小红

    <实验教学示范中心建设教材·国家精品课程主讲教材:C语言程序设计(第2版)>是一本兼具趣味性和实用性的C语言程序设计教材.全书由13章组成,内容包括:为什么要学C语言,C数据类型,简单的算 ...

  7. 电子时钟单片机c语言程序,51单片机电子时钟C语言程序

    本程序基于ATM89系列单片机的电子时钟C语言程序,能显示月日时分秒,同时还能调节其值!显示方式用六个8段数码管! #include//头文件 #define uchar unsigned char/ ...

  8. c语言程序中的基本功能,c语言程序中的基本功能模块为什么?

    c语言程序中的基本功能模块为"函数".一个C语言程序可以由一个主函数和若干个函数构成:一个大的应用程序一般应该分为多个程序模块,每一个模块用来实现一个功能,而模块的功能是由函数完成 ...

  9. 重庆理工大学c语言程序实验报告,重庆理工大学-C语言程序实验报告.doc

    重庆理工大学-C语言程序实验报告 程序设计基础C实验报告 PAGE 47 <程序设计基础C> 实 验 报 告 教学班级: 学号: 姓名: 课程教师: 实验辅导教师: 重庆理工大学计算机学院 ...

  10. c语言程序中cost的作用,C语言考试题基础版(21页)-原创力文档

    if (x>y)z=x; s=z*z;elsez=y;s=1/(z*z); if (x>y) z=x; s=z*z; else z=y;s=1/(z*z); 7. B. C. PAd, P ...

最新文章

  1. XML序列化以及新增节点XMLHelper
  2. linux to extract contents between patterns
  3. epon matlab仿真,一种新型的EPON保护结构
  4. IntelliTrace 调试、定位异常
  5. vue返回上级并且携带数据_前后端分离之后端返回用户角色信息(vueelementadmin+laravel)...
  6. 现在很多人都做自媒体,谈谈个人的一些想法
  7. notesDocument类的HTTP URL属性 和note URL属性的区别
  8. 4. HTTP Status Code
  9. error: Unable to find vcvarsall.bat
  10. 移动边缘计算——计算卸载
  11. UNIAPP使用MathJax解析数学公式
  12. 马赛克战——利用人工智能和自主系统来实施决策中心作战
  13. Tensorflow-gpu2.0.0安装【显卡型号:GTX1050 TI】
  14. 在dev-c或者cb上建立 Consol Application project\collect2.exe [Error] ld returned 1 exit status
  15. 怎样才算通用人工智能?
  16. 08 获取器 withAttr、多连缀、whereRaw、事务、数据集《ThinkPHP6 入门到电商实战》
  17. PCB各层的用途和含义
  18. 编程基础知识(变简单的进制转换)
  19. BitLocker 秘钥如何获取
  20. 3D动态烟花--HTML

热门文章

  1. Nachos操作系统-文件系统添加多级目录
  2. html打印word文档,HTML文件到WORD文档双面打印三步曲
  3. Word文件怎么快速查找关键词
  4. Python源码剖析 - Python的总体架构
  5. python源码深度剖析_Python源码剖析-深度探索动态语言核心技术 PDF 下载
  6. Android SIP软电话,通话录音,VoIP电话,linphone电话
  7. 零基础,新手小白看过来!易用可视化工具推荐
  8. Android Studio内置JDK源码关联和断点错乱问题解决
  9. java proj4j 兰勃特投影设置地球半径 (+R )无效问题
  10. 倍福---Modbus TCP Server和调试助手测试