C语言学习指南.doc
C语言程序设计入门学习六步曲笔者在从事教学过程中,听到同学抱怨最多一句话是:老师,上课我也能听懂,书上例题也能看明白,可是到自己动手做编程时,却不知道如何下手。发生这种现象原因有三个: 一、所谓看懂听明白,只是很肤浅语法知识,而我们编写程序或软件是要根据要解决问题实际需要控制程序流程,如果你没有深刻地理解C语言语句执行过程(或流程),你怎么会编写程序解决这些实际问题呢? 二、用C语言编程解决实际问题,所需要不仅仅是C语言编程知识,还需要相关专业知识。例如,如果你不知道长方形面积公式,即使C语言学得再好你也编不出求长方形面积程序来。 三、C语言程序设计是一门实践性很强课程,“纸上谈兵”式光学不练是学不好C语言。例如,大家都看过精彩自行车杂技表演,假如,你从来没有骑过自行车,光听教练讲解相关知识、规则、技巧,不要说上台表演、就是上路你恐怕都不行。 出现问题原因清楚了,那么如何学习呢?请你看【C语言学习六步曲】 说明:在使用本方法之前要先阅读C语言相关内容,要初步掌握相关知识要点,然后按下述方法学习,可以达到理解、巩固、提高C语言知识和提高程序调式能力目。在程序开发过程中,上机调试程序是一个不可缺少重要环节。“三分编程七分调试”,说明程序调试工作量要比编程大得多。这里以如何上机调试C程序来说明C语言学习方法。第一步、验证性练习 在这一步要求按照教材上程序实例进行原样输入,运行一下程序是否正确。在这一步基本掌握C语言编程软件使用方法(包括新建、打开、保存、关闭C程序,熟练地输入、编辑C程序;初步记忆新学章节知识点、养成良好C语言编程风格)。使用本软件可以很方便地看着教程例题输入程序,具体方法参见帮助部分 初学者最容易犯错误是: 1、没有区分开教材上数字1和字母l,字母o和数字0区别,造成变量未定义错误。另一个易错点是将英文状态下逗号,分号;括号()双引号""输入出入成中文状态下逗号,分号;括号(),双引号“”造成非法字符错误。 2、C语言初学者易犯语法错误:使用未定义变量、标示符(变量、常量、数组、函数等)不区分大小写、漏掉“;”、“”和“”、“(”和“)”不匹、控制语句(选择、分支、循环)格式不正确、调用库函数却没有包含相应头文件、调用未C声明自定义函数、调用函数时实参和形参不匹配、数组边界超界等。3、修改C语言语法错误时要注意以下两点:(1)、由于C语言语法比较自由、灵活,因此错误信息定位不是特别精确。例如,当提示第10行发生错误时,如果在第10行没有发现错误,从第10行开始往前查找错误并修改之。(2)、一条语句错误可能会产生若干条错误信息只要修改了这条错误,其他错误会随之消失。特别提示:一般情况下,第一条错误信息最能反映错误位置和类型,所以调试程序时务必根据第一条错误信息进行修改,修改后,立即运行程序,如果还有很多错误,要一个一个地修改,即,每修改一处错误要运行一次程序。C语言错误信息形式:(下面例子是Turbo C/C+错误信息,如图1)错误文件名行号冒号错误内容ErrorE:WinTcWinTcfrist.c5:Function call missing) in function mainC语言错误信息形式:(下面例子是Visual C+6.0 错误信息,如图2)文件名行号冒号错误代码冒号错误内容e:wintcwintcfrist.c( 5 ):error C2143:syntax error : missing ')' before ''第二步、照葫芦画瓢 在第一步输入C程序基础上进行试验性修改,运行一下程序看一看程序结果发生了什么变化,分析结果变化原因,加深新学知识点理解。事实上这和第一步时同步进行,实现“输入”加深知识记忆,“修改”加深对知识理解。记忆和理解是相辅相成,相互促进。 例如:将最简单Hello World!程序#include "stdio.h"int main() printf("Hello World!n"); return 0;中printf("Hello World!n");中Hello World!改成你姓名,运行一下程序,看有什么变化?再如求1+2+3.+100和程序#include <stdio.h>main() int i,sum=0; for(i=1;i<=100;i+) sum=sum+i; printf("sum=%dn",sum); 第1次将for(i=1;i<=100;i+)中100改成50,运行一下程序,看有什么变化?第2次将for(i=1;i<=100;i+)中i+改成i=i+2,运行一下程序,看有什么变化?找出程序结果变化原因,就加深了对C语句理解。第三步、不看教材看是否能将前两步程序进行正确地输入并运行。在这一步要求不看教材,即使程序不能运行,看能否将其改正,使其能正确运行。目是对前两步记忆、理解进一步强化。第四步、增强程序调试能力在教材中每章都有C语言初学者易犯错误,按照易出错类型,将教材中正确程序改成错误程序,运行一下程序,看出现错误信息提示,并记下错误信息,再将程序改成正确,运行一下程序。这样反复修改,就能够学习C语言程序发生错误原因和修改错误能力。 注意:每次只改错一个地方,目是显示发生该错误真正原因,避免一次改动多个地方,搞清发生错误真正原因,切记!注意:上机调试程序时要带一个记录本,记下英文错误提示信息和解决该错误问题方法,积累程序调试经验,避免在编程犯同样错误,切记!。例如,将Hello World程序中语句printf("Hello World!n");中;改成中文分号;运行一下程序,看有什么结果? 调试程序是一种实践性很强事,光纸上谈兵是是没用,就像游泳运动员只听教练讲解示范,而不亲自下水练习,是永远学不会游泳。 即使在优秀程序员编写程序也会犯错误,可能事最低级语法错误,但他能快速发现错误并改正错误,而我们C语言初学者面对错误提示,不知道发生了什么错误,如何改正,这就事差别。第五步、研究典型C语言程序,提高程序设计能力C语言初学者遇到最多困惑是:上课也能听懂,书上例题也能看明白,可是到自己动手做编程时,却不知道如何下手。发生这种现象原因是:所谓看懂听明白,只是很肤浅语法知识,而没有深刻地理解C语言语句执行过程(或流程)。计算机是按照人指令(编写程序)去执行,如果不知道这些C语句在计算机中是如何执行,你怎么回灵活运用这些知识去解决实际问题呢?解决问题方法是要先理解C语言各种语句流程(即计算机是如何执行这些语句过程),然后研读现成C语言经典程序,看懂别人事如何解决问题,以提高自己程序设计能力。 在软件中有50多个典型源程序,研究它实现方法,提高自己程序设计能力。第六步、研究课程设计源成序,提高C语言综合应用能力。 软件中有4个注释详细课程设计源程序C语言好学吗? C语言好学吗?初学者常常问这个问题。答案很简单,对C语言感兴趣,有强烈学习欲望,就容易学。如果不感兴趣,再简单知识也学不会。试想一下,现在有几个学校教学生打游戏呢?答案是否定,可是很多学生都会打游戏,有时达到废寝忘食地步,打游戏来乐而不疲,而且还经常交流打游戏心得体会,这就是兴趣魅力所在。 如果你对C语言感兴趣,为什么不把学习打游戏经验用到学习C语言呢?如果这样话,C语言还难学吗? 最后送C语言初学者一句话来共勉:首先要相信自己是有能力学好C语言,然后不惜一切代价把这种能力表现出来,你就成功了。做任何事,何尝不是这样呢?