C语言程序设计学习技巧

时间:2023-03-10 23:29:31 计算机等级 我要投稿
  • 相关推荐

C语言程序设计学习技巧

  “C语言程序设计”是计算机专业和非计算机专业的一门技术基础课程,也是程序设计的启蒙语言课程。下面是小编整理的C语言程序设计学习技巧,希望可以帮助大家!

C语言程序设计学习技巧

  【C语言程序设计学习技巧】

  无论哪所大学的计算机专科和本科都需要学习C语言,《C语言程序设计》是计算机专业的一门必修课程,也是学习如何编程的入门课。初学C语言的人都会觉得C语言不好学,感到无从下手。其实,按照我们现在的教学大纲和教学要求,只要同学们掌握一些方法,多读,多写,克服心理上畏难情绪,C语言是完全可以学好的并且灵活应用的。我总结了多年的《C语言程序设计》课程的教学经验和学生在学习过程中常见的一些问题,在些介绍一些C语言的学习和编程技巧,希望给初学C语言的同学有一定帮助。

  C语言是一门应用最广泛的基础高级编程语言,有很多语言都是由它发展而来的,所以学习好C语言之后再学习任何一种编程语言都会轻松上手。

  1 熟记基本知识点

  学习C语言和学习任何一种语言的方法基本一样。我们婴儿期间咿呀学语时,从一个字开始学,然后两个,接着更多,最后我们能成句,成段,到出口成章。学习C语言的时候也一样,有些最基本的内容必须要记下来。

  1.1 关键字

  关键字是由C语言规定的具有特定意义的字符串。它们是写C语言的基础,如果关键字不记下来,那编程是寸步难行。

  1.2 运算符

  C语言中的运算符和表达式与我们数学上的运算符和表达式有相同的,也有不同的。我们在学习的时候就注意记住并弄清楚那些不同的地方。基本的语法表达式及执行过程。选择结构中的if语句和switch语句。循环语句中的for语句、while语句和do-while语句。这部分就好比是你会了许多词,然后得把这些词组成一些句子,语法的作用就是告诉你怎样说好一句话,表达清楚的意思。

  1.3 常用库函数

  在这里最重要有两个函数:输入函数scanf()和输出函数printf()。一个程序如果没有输入,那无论运行多少次结果都一样,那也就失去了写程序的目的了。同样一个程序如果没有输出,那运行程序有什么意义呢?当然输出的形式比较多。在初学C语言的时候主要是从屏幕上输出结果。所以这两个函数的使用方法也必须要掌握。这两个函数已经定义在stdio.h这个头文件中,不用我们自己写,它们不是C语言中的语句,所以在使用这两个函数时在源程序顶部一定要加上#include 。这是为了让我们在执行程序的时候,让计算机知道scanf()和printf()这两个函数怎么用。

  掌握上面的必须要记下来的内容,相当于我们开始学说话时先听别人说,我们自己跟着学一些最基本的日常语言。这时我们就可以从一些简单的程序开始读,能把每一个程序的运行结果能自己读程序准确地执行出来,那样我们就可以开始来编写程序了。

  2 掌握程序的基本结构

  编写程序一定要注意程序的结构性。学习写程序,不能开始就写代码。许多人在动手写程序的时候感到无从下笔。原因主要是:看到一个题目不知道如何去分析,它怎么才能变成一个程序呢?这是初学者在编写程序的主要问题。我在教学中采用了一种分步式的方法。

  2.1 看到一个题目的时候先别想着编程序,用一个具体的实例想想不用程序你是如何解决这个问题的

  例如输入三个数,输出最小值。我们用3,8,6三个数来考虑,我们一看就知道3是最小的。可是我们这一看中其实并不简单,其中有判断。我们先看第一个数3,然后已经记在我们头脑中了,再看第二个数8,3比8小,那我们还是记住3,再比较第3个数6,最后确定3是最小的。我们现在就是要把我们头脑中很快闪过的这些判断过程想清楚。

  第一行代码表示把标准的输入输出头文件包含在这个程序中。第二行代码是C程序的主函数,每个C程序中必须有且仅有一个main()函数。然后是函数的一对“{}”。

  定义变量的意思好比买一块地,有了这块地就可以在上面盖房、种庄稼之类的。但是为了便于统一管理,比如城市已经规划好了,你在郊区买的地就只能种庄稼,在市中心买的,就只能盖房,这就是变量类型的含义了。用上面求最小值的例子。我们在三个数中求最小值。这三个是什么数,是整数还是小数?这就必须用变量类型来说明。对于上例应该定义三个整型变量用来存放三个整数,还要定义一个整型变量用来存放最小值。如:int a,b,c,min;这行代码的作用其实是要了一块内存,然后在这块内存里存东西。因为我需要一个整数,所以就用int这个关键字来声明(相当于用这块地干什么)。那么变量a,b,c是什么呢?你买了一块地,总要知道这块地在哪是吧?不然就白买了,变量就是这样一个作用。我们需要把数据存在计算机中,什么样的数就定义什么样的类型,需要存几个数就定义几个变量。

  输入数据有两种方法。第一种从键盘输入,就需要用到scanf()这个函数;第二种是直接赋值。

  处理数据是对于初学者来说最难的一部分,也就是把我们刚才分析过程转换成语句。这需要学好C语言的三种程序结构。

  (1)顺序结构

  顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。顺序结构可以独立使用构成一个简单的完整程序,不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。

  (2)选择结构

  对于要先做判断再选择的问题就要使用分支结构。选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据条件的结果选择对应的分支语句。选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。

  【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语言程序设计的方法08-30

2017年计算机c语言学习技巧08-28

全国计算机c语言程序设计题库201708-28

2017年c语言二级考试技巧08-28

2017年计算机等级c语言程序设计试题08-28

2017年全国计算机c语言程序设计考试试题及答案08-31

C++语言的基本符号10-11

2017年计算机二级C++语言程序设计考试内容08-26

概述C++语言特点04-15