是新朋友吗?记得先点蓝字关注我哦~
本文共 1900 字,预计阅读时间: 7 分钟。
最近有好多朋友和我抱怨说C语言真的太难学了,你有没有什么好的意见?嗯,的确如此,我上个学期学C语言的时候也是这么认为的,经过我的一番“折腾”我最后考试成绩算不上圆满,但比起不少读者及格的要求还是高一些的,下面我就来简单的谈一谈,如何学好C语言?当然,每个人的方法可能不同,大家也可以互相交流,或者与我一起探讨,帮助这个学期处在水生火热的兄弟们脱离苦海。以下是我和许多已经学完C语言的同学们讨论后得出的结果。
01
为什么我们要学C语言
C语言的诞生可是颇有历史,它诞生于美国贝尔实验室,是世界上第一个完备的具有普适性的编程语言。它是程序员学习编程的基础,是最基础的编程语言。它具有结构性编程语言的特征,可谓是条理清晰而又可读性强的语言。它是C++、C#等语言的基础,我们用的Windows等一大部分操作系统都是用它写就的,C语言的重要性可见一斑。
02
为什么C语言这么难学
哈哈,C语言作为一门“语言”,肯定是要有难度的。毕竟,英语不也被感觉很困难吗?C语言难学最根本在于编程思想的培养,说得通俗一些,就是你得像电脑一样思考问题。虽然说人工智能还是蛮厉害的,但这也是人工智能训练师的成果啊。所以,你需要教会计算机如何将问题转化成计算机看得懂的方式,好比说,你帮助计算机完成思考读懂题目,它完成计算或固定模式的套用,这就是制作程序解决问题的例子。
C语言全新的语法、语句、规范、符号等内容对大家也许来说是陌生的。另外,编程思想也无法短时间速成,日常的汉语化思维观念更是根深蒂固。同时,为了课时进度,老师不得不加快速度,而又恰逢网络教学,答疑变的困难。因此,大家可能没有来得及消化、理解,所以C语言可谓是难上加难。
03
我该怎么学
我们绝不能向困难低头,因此,我向大家介绍一些我的观点。也可以用于学习其他编程语言。
工欲善其事,必先利其器。选择一个好的编辑器固然重要,我所在的大连交大采用的是Microsoft Visual C++,这款软件堪称经典,开发年代久远可一直被广泛使用。我认为它应该算是体验最好、上手最快的编辑器了,它也可以同样用于C++语言,使用方法不再赘述。其他软件如:Tubro C等也都是大同小异,不过,你还在苦于使用其他与课本实例相差甚远的编辑器的话赶紧试试上述两款软件吧。
对于学习的过程,我认为最重要的就是四点——记听说读写。
“记”:就像背单词,C语言也有许多要背会的内容。例如:基础的好比想ASC II码表、存储单位转换、进制转换、常见的函数及用法、运算符、常见的语句等等。同时,我们还要关注各种概念性的东西,比如:数据类型及其所占用的存储空间、指针、数组、结构体的概念及其用法、运算的顺序。这些是你学好C语言的基础和保障。如果在做题时还需要翻笔记,这就很危险了,说明你还需要下功夫在这一步。因此,文末放置了一些大家需要掌握的基础内容哦。
“听”:这个很听起来简单,坚持下来就不容易了——认真听课,课后多下功夫琢磨。如果老师讲的没听懂的话,也可以去听中国大学慕课上的内容,虽然可能内容稍有浅显,但对于基础考试足矣(别问我怎么知道的)。
“读”:①多读书,带着理解的观念看课本,有条件的同学可以阅读《C primer plus》,这是一本很适合学习C语言的国外教材,特点就是事无巨细,兼具资料库的功用。唯一不适合初学者的地方就是太细致了,面面俱到,初学者没有那么多时间掌握细枝末节,可以有选择性的阅读重点。②我后期做“程序设计基础课设”的时候体会得比较深刻(可能不学软件专业的同学没有这门课),研读程序代码可以迅速提高你所掌握的知识,从头到尾阅读,如果有不明白的语句可以考虑百度它的用法,也可以让周围比较厉害的同学讲解。如果你认为你是强人自己可以解决,你也可以从程序的功能出发倒退语句的功能或含义,这样会让你印象非常深刻的,也会很快的提高能力。总之,多阅读程序代码,并把它们看透就对了,编程思想也是这样养成的,多问几个“为什么要这样做”会给你带来很多提升。
“写”:俗话说“绝知此事要躬行”,这是学习C语言的最高境界了,也比较花费时间和精力,难度也比较大,却是最好的训练方式——写程序、敲代码。你为了达成某个目标而学习是非常具有满足感的,你在尝试、查阅资料、修改错误时不知不觉就掌握了很多内容!你明白了要注意的地方、学会了新的知识、掌握了有关问题的思维方法。
(顺便说一句,多做题也很有效奥,笔者的学校在期末组织大家疯狂刷题,感觉也会弥补很多知识上的漏洞,只不过需要极大的耐心去做很多很多题,你总能在考试中脱颖而出~)
下面我们一起来看看我的同学们是怎么说的:
From 东北大学
王瑞漮
我感觉吧,明白一个语句什么意思是不够的,应该了解它怎么用,能实际运用才算学会。再一个,写程序不要只是追求写对,我一般会尝试用各种方法去写一个程序。不断去试,看看这样写行不行,删掉这个语句可以不可以。挑战计算机的下限,反复去尝试,揣摩计算机的脑回路。
From 大连交通大学
宁 莽
你要是想学好的话,最主要的是要自己敲代码,自己在编译器上不断练习,(而且在你不断努力下程序终于变成0 error(s), 0 warning(s)时,自己是超级超级有成就感的)。但如果你想考试取得好成绩的话,刷题和看书是必不可少的。虽然说只刷题和看书,不实际操作的话,犹如纸上谈兵,并不能真正学好c语言。但如果以后你不想从事软件方面的工作,多刷刷题看看书就足够应付考试了。
大家遇到困难千万不要害怕、焦虑,对于C语言的学习开始时都是正常的,逐渐摸索总是可以完成从量变到质变的。只要平时态度比较端正,期末总不会给你致命一击的哦~
(以上均属我们的个人观点,不喜勿喷。)
附录:你需要知道的基础知识
1 32个关键字:
(由系统定义,不能重作其它定义)
auto;break;case;char;const;continue;default;do;double;else;
enum;extern;float;for;goto;if ; int;long;register;return;short; signed;sizeof;static;struct;
switch;typedef;unsigned;union ;void;volatile;while
2 9种控制语句:
if( )~else~;for( )~;
while( )~;do~while( );
continue;break;switch;
goto;return;
3 44种运算符:
算术运算符:+ - * / % ++ --
关系运算符: >= !=
逻辑运算符:! && ||
位运算符 :<> ~ | ^ &
赋值运算符:= 及其扩展
条件运算符:?:
逗号运算符:,
指针运算符:* &
求字节数 :sizeof
强制类型转换:(类型)
分量运算符:. ->
下标运算符:[]
其它 :( ) -
4 数据类型
(以上内容都是我的老师要求重点掌握的内容)
点“在看”给我一朵小黄花