是不是总听人说 C 语言特别难,自学根本学不会?打开教程翻了两页,满屏的英文和符号看得头大,没几天就想放弃?还有人说 3 个月肯定学不会,得花半年甚至一年?其实啊,我当初也是这么纠结的,后来硬着头皮学了 3 个月,现在回头看,这里面有很多门道。今天兔子哥就聊聊自己的经历,说说 C 语言到底难不难,3 个月能不能学会,全是实战过的经验,一起往下看吧!
我觉得 C 语言难在这些地方
要说难,肯定有难的地方,但也不是处处都难。刚开始学的时候,我最头疼的是这几点:
指针绝对是第一个坎。书上说 “指针是地址”,可我对着
int *p这种代码,怎么也想不明白这玩意儿跟普通变量有啥区别。尤其是用指针访问数组的时候,*(p+i)和p[i]到底一不一样,琢磨了好几天才有点感觉。不过话说回来,后来发现其实不用搞得特别透,先会用就行,慢慢用着用着就懂了。还有语法细节,比如分号必须用英文的,括号得成对,这些小错犯了无数次。有时候代码看着没问题,就是运行不了,查了半天才发现少了个分号,特别让人泄气。
最难的是逻辑跳转,比如循环嵌套 if 语句,脑子里得一步步跟着程序走,稍微复杂点就容易乱。比如写个九九乘法表,嵌套了两个 for 循环,刚开始总搞反行和列,打印出来乱七八糟的。
3 个月自学能到什么水平?
我当时每天学 1-2 小时,周末多花点时间,3 个月下来,不敢说多厉害,但这些事是能做到的:
简单的小程序能自己写,比如计算器、猜数字游戏、统计成绩这些。记得第二个月月底,我自己写了个能记录通讯录的程序,虽然简单,但能存名字和电话,还能查找,当时特兴奋。
看别人的基础代码没问题,比如一段循环求和的代码,扫一眼就知道大概啥意思。不过遇到特别复杂的函数嵌套,还是得慢慢捋。
应付期末考试或者计算机二级考试,应该是够的。我学完 3 个月去考二级,笔试和机试都过了,虽然分数不算特别高,但确实过了。
但要说能做项目,那肯定不够。比如嵌入式开发、写个小游戏引擎,这些得学更深入的知识,3 个月远远不够。或许暗示,3 个月的时间,刚好够摸到 C 语言的门,想进门还得继续练。
自学时容易踩的坑
说几个我踩过的坑,你们别再犯:
一开始就用太复杂的工具。我刚开始听说 VS 好用,就装了个 Visual Studio,结果界面太复杂,光配置环境就花了两天,还没开始学语法就累了。后来换了 Dev-C++,小巧简单,直接就能写代码,省了好多事。
光看不动手。前两周我总觉得看懂了就行,结果一上手写代码,连
printf怎么用都忘,更别说写循环了。后来逼着自己每天至少敲 3 段代码,哪怕是照着教程抄,也比只看好得多。遇到难题死磕。有次卡在指针和数组的关系上,对着教程看了一下午,越看越懵。后来索性跳过,先学函数,等学完函数回头再看指针,突然就明白了。有时候绕过去,反而更容易。
什么样的人 3 个月能学会?
不是说所有人 3 个月都能学会,我觉得这几类人可能更顺利:
有点数学基础的。不用多厉害,至少会加减乘除,能理解简单的逻辑关系,比如 “如果 A 大于 B,就执行 C”,这种思路跟数学里的逻辑题很像。
能坚持每天学的。哪怕每天只学半小时,也比三天打鱼两天晒网强。我有个同学,周末学 5 小时,平时一点不碰,结果学了两个月还在打转,前面学的全忘了。
喜欢动手试的。编程这东西,想一万遍不如动手试一遍。比如不确定循环条件怎么写,就多试几个值,看看程序运行结果,慢慢就有感觉了。
至于那些说 “完全没接触过电脑” 的人,也不是不能学,就是得花更多时间在熟悉键盘、鼠标这些基础操作上,进度可能慢一点,但也不是学不会。
最后说点实在的
其实 C 语言难不难,很大程度上看你怎么学。有人觉得难,可能是方法不对;有人觉得简单,大概率是找到了窍门。3 个月能不能学会,也看你对 “学会” 的定义 —— 要是想能写点小程序、应付考试,肯定够;要是想成为高手,那差得远呢。
我至今对有些底层的东西还是搞不太懂,比如编译器到底是怎么把代码转换成机器能懂的指令的,具体机制待进一步研究。但这不妨碍我用 C 语言做些简单的事,就像开车不用懂发动机原理一样。
要是你也想自学 C 语言,别被 “难不难”“时间够不够” 这些问题吓住,先动手试试。找个简单的教程,写个打印自己名字的程序,慢慢找感觉。我当时就是这么过来的,现在虽然不算厉害,但至少敢说自己会点 C 语言了。希望这些能帮到你,加油!
标签: Visual Studio 乱七八糟
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~