C语言容易入门吗?
如果你能够成功地运行下面一个Hello World程序,你就已经入门了。
#include "stdio.h"
int main()
{
printf("Hello World");
return 0;
}
看到这,你也许有疑问:C语言功能强大,运行这么简单的一个程序就算入门了,没这么简单吧?
Hello World程序虽然简单,但“麻雀虽小,五脏俱全”,它具备C程序的基本特征,功能再强大的C程序,也具有这些基本特征,所以说你能够运行这个程序就已经入门了。
入门后,我能学好吗?
一个刚刚学走路的幼儿,如果它能够甩开父母的扶持,成功地迈出了第一步,虽然在以后较长的时间内走地蹒跚,你会怀疑它学不会走路,走不好路吗?相反,如果一个幼儿总害怕自己摔跤,以后再也不练习走路,那么后果可想而知。
入门后,要培养自己学习C语言的兴趣,如果有了兴趣,即使在别人看来你学得再苦再累,你也会乐而不疲地学,就像打游戏,没有老师教,就自己摸索,通宵达旦地打游戏,也不感觉累,而且经常和同学交流打游戏的经验和体会,打游戏的技术会提高得不快吗?C语言的学习何尝不是这样呢?培养你的C语言学习兴趣吧,兴趣是你学习C语言最好的老师,如果你有了兴趣,再找一些身边的C语言爱好者交朋友,共同学习(目的是消除自己学习的孤独感),经常交流学习C语言的心得和体会(有时,你百思不得其解的难题,别人一句不经意的话使你茅塞顿开交流,开阔自己的视野,如果你这样做了,还担心自己学不好C语言吗?
送给C语言初学者一句话来共勉:首先要相信自己有学好C语言的能力,然后不惜一切代价把这种能力表现出来,你就成功了。做任何事,何尝不是这样呢?
解除了自己对C语言学习的恐惧感后,那么如何学习C语言呢?
下面是我在学习程序设计和教学中的一点心得体会(对程序设计语言都适用),并结合我开发的C语言软件,来介绍C语言的学习方法,希望对C语言初学者能够有所帮助。
初学者遇到最多的困惑是:上课也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手。发生这种现象的原因有三个:
一、所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决问题的实际需要控制程序的流程,如果你没有深刻地理解C语言的语句的执行过程(或流程),你怎么会编写程序解决这些实际问题呢?
二、用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识。例如,如果你不知道长方形的面积公式,即使C语言学得再好你也编不出求长方形的面积的程序来。
三、C语言程序设计是一门实践性很强的课程,“纸上谈兵”式的光学不练是学不好C语言的。例如,大家都看过精彩自行车杂技表演,假如,你从来没有骑过自行车,光听教练讲解相关的知识、规则、技巧,不要说上台表演、就是上路你恐怕都不行。
出现问题原因清楚了,那么如何学习呢?请你看【C语言学习六步曲】
特别提醒:在使用本方法之前一定要先阅读C语言的相关内容,要初步掌握相关知识的要点,然后按下述方法学习,可以达到理解、巩固、提高C语言知识和提高程序调式能力的目的。
第一步、验证性练习
在这一步要求按照教材上的程序实例进行原样输入,运行一下程序是否正确。在这一步基本掌握C语言编程软件的使用方法(包括新建、打开、保存、关闭C程序,熟练地输入、编辑C程序;初步记忆新学章节的知识点、养成良好的C语言编程风格)。 单击此处查看【C语言的编程风格】
使用《Turbo C/C++ for Windows 集成实验与学习环境》软件可以很方便地看着软件集成的《C语言入门教程》输入练习其中的程序例题。具体使用方法参见软件帮助部分。
初学者最容易犯的错误是:
1、没有区分开教材上的数字1和字母l,字母o和数字0的区别,造成变量未定义的错误。另一个易错点是将英文状态下的逗号,分号;括号()双引号""输入出入成中文状态下的逗号,分号;括号(),双引号“”造成非法字符错误。
2、C语言初学者易犯语法错误:使用未定义的变量、标示符(变量、常量、数组、函数等)不区分大小写、漏掉“;”、“{”与“}”、“(”与“)”不匹配、控制语句(选择、分支、循环)的格式不正确、调用库函数却没有包含相应的头文件、调用未声明的自定义函数、调用函数时实参与形参不匹配、数组的边界超界等。
3、修改C语言语法错误时要注意以下两点:
(1)、由于C语言语法比较自由、灵活,因此错误信息定位不是特别精确。例如,当提示第10行发生错误时,如果在第10行没有发现错误,从第10行开始往前查找错误并修改之。
(2)、一条语句错误可能会产生若干条错误信息只要修改了这条错误,其他错误会随之消失。特别提示:一般情况下,第一条错误信息最能反映错误的位置和类型,所以调试程序时务必根据第一条错误信息进行修改,修改后,立即运行程序,如果还有很多错误,要一个一个地修改,即,每修改一处错误要运行一次程序。
第二步、照葫芦画瓢
在第一步输入的C程序的基础上进行试验性的修改,运行一下程序看一看程序结果发生了什么变化,分析结果变化的原因,加深新学知识点的理解。事实上这和第一步时同步进行的,实现“输入”加深知识的记忆,“修改”加深对知识的理解。记忆和理解是相辅相成的,相互促进。
例如:将最简单的Hello World!程序
#include "stdio.h"
int main()
{
printf("Hello World! ");
return 0;
}
中的
printf("Hello World! ");
中的Hello World!改成你的姓名,运行一下程序,看有什么变化?
再如求1+2+3...+100的和的程序
#include
main()
{
int i,sum=0;
for(i=1;i
{
sum=sum+i;
}
printf("sum=%d ",sum);
}
第1次将for(i=1;i
第2次将for(i=1;i
找出程序结果变化的原因,就加深了对C语句的理解。
第三步、不看教材看是否能将前两步的程序进行正确地输入并运行。
在这一步要求不看教材,即使程序不能运行,看能否将其改正,使其能正确运行。目的是对前两步的记忆、理解进一步强化。
第四步、增强程序的调试能力
在《Turbo C/C++ for Windows 集成实验与学习环境》集成的教材中每章都有C语言初学者易犯的错误,按照易出错的类型,将教材中的正确的程序改成错误的程序,运行一下程序,看出现的错误信息提示,并记下错误信息,再将程序改成正确的,运行一下程序。这样反复修改,就能够学习C语言程序发生错误的原因和修改错误的能力。
注意:每次只改错一个地方,目的是显示发生该错误的真正原因,避免一次改动多个地方,搞清发生错误的真正原因,切记!!!!
注意:上机调试程序时要带一个记录本,记下英文错误提示信息和解决该错误问题的方法,积累程序调试经验,避免在编程犯同样的错误,切记!!!!。
例如,将Hello World程序中语句
printf("Hello World! ");
中的;改成中文的分号;
运行一下程序,看有什么结果?
C语言的错误信息的形式:(下面例子是的Turobo C2.0错误信息,如图1)
错误 文件名 行号 冒号 错误内容
Error E:WinTcWinTcfrist.c 5 : Function call missing) in function main
C语言的错误信息的形式:(下面例子是Visual C++6.0 错误信息,如图2)
文件名 行号 冒号 错误代码 冒号 错误内容
e:wintcwintcfrist.c ( 5 ) : error C2143 : syntax error : missing ')' before ';'
软件集成了高校教学用的最多的两个编译器Visual C++6.0和Turbo c 2.0,支持C、标准C、C++、标准C++、WINDOWS C程序的编辑、编译、和调试。软件根据用户输入程序的类型智能选择编译器,不用使用者干涉。
调试程序是一种实践性很强的事,光纸上谈兵是是没用的,就像游泳运动员只听教练讲解示范,而不亲自下水练习,是永远学不会游泳的。
即使在优秀的程序员编写程序也会犯错误的,可能事最低级的语法错误,但他能快速发现错误并改正错误,而我们C语言初学者面对错误提示,不知道发生了什么错误,如何改正,这就是差别。
第五步、研究典型的C语言程序,提高程序设计能力
经过上述过程的学习,我们已经学会了C语言各种语句的流程(即计算机是如何执行这些语句的过程),然后就可以研读别人编写C语言经典程序,看懂别人是如何解决问题的,学习解决问题的方法和程序设计技巧,提高自己的程序设计能力。
在软件中有50多个典型的源程序,研究它的实现方法,提高自己的程序设计能力。
第六步、研究课程设计源成序,提高C语言程序设计能力和调试较大程序的能力。
C语言课程设计的目的:是让学生综合利用所学的C语言知识,解决一些接近实际问题题目,提高程序设计和调试较大程序的能力,为进一步进行软件开发打下坚实的基础。
C语言好学吗?
C语言好学吗?初学者常常问这个问题。答案很简单,对C语言感兴趣,有强烈的学习欲望,就容易学。如果不感兴趣,再简单的知识也学不会。
试想一下,现在有几个学校教学生打游戏呢?答案是否定的,可是很多学生都会打游戏,而且还经常交流打游戏的心得体会。
如果你对C语言感兴趣,为什么不把学习打游戏的经验用到学习C语言呢?如果这样的话,C语言还难学吗?
最后送C语言初学者一句话来共勉:首先要相信自己是有能力学好C语言的,然后不惜一切代价把这种能力表现出来,你就成功了。做任何事,何尝不是这样呢?
兴趣是学习C语言的最大动力,学习方法给你指明努力的方向,让你事半功倍。
最后,如果你也想成为程序员,想要快速掌握编程,赶紧加入学习企鹅圈子!
里面有资深专业软件开发工程师,在线解答你的所有疑惑~编程语言入门“so easy”
编程学习书籍:
编程学习视频: