C语言要怎么学

C语言要怎么学

  • 第一层 主观能动性
  • 第二层 扎实的基础
  • 第三层 代码阅读量
  • 第四层 千行代码练习量
  • 第五层 项目练习
  • 小结

好的,那我们开始我们今天的主题。先做个自我介绍,我是安徽大学电子信息工程学院2017级通信工程本科生吴常昊,2019年度创新实验室管理员,2019级电类四班导生。受非常敬爱的陈岚老师邀请,我在这篇博客上分享一下学习C语言的心得。
首先我引用一个知名主播大司马的理论,叫“假设性原则”,我假设你们已经看完了前面这些废话和现在正在说的废话,并且你们仍然饶有兴趣的听我讲后面的内容,并且你们觉得我的分享能给你们带来那么一丝丝启发,那么我相信,今后不仅仅是C语言,Python,Java甚至专业课的学习,你们都能够会灵活去运用的。
我还是用大司马的“千层饼”的方式一层层来讲述,C语言学习,如何打怪升级,提高段位。

第一层 主观能动性

这东西听起来比较哲学比较深奥,但通俗一点将就是你愿不愿意的问题。我一直都觉得学习就是一个你情我愿的东西,如果你现在的想法是,企图在这篇文章中找到学习的捷径,然后期末考试95+,那么你可以关掉浏览器,把课本找到,放在额头上睡一觉,看看知识能不能从浓度高的地方向浓度低的地方渗透。我个人认为哈,学习从来只有技巧没有捷径,任何技巧也都是在勤于思考和勤于练习中提升的,而有些人愿意思考,有些人不愿意思考,到了大学,很多人仅仅是觉得把作业完成就够了,这就是学习主观能动性的差别,一个没有学习主观能动性的人在大学是很难活的精彩的。主观能动性说白了就是你必须有个积极向上的心,有学习的欲望,真正的觉得专业的知识的有用的,是你的未来,是你的根基,你必须要在大学四年中修炼自己,把自己打造成人才,即使是为了脱贫致富,将来有个非常好的就业,这都是你的主观能动性。
那么学习C语言到底有什么用呢?这句话其实应该这么问,学习C语言在哪里用不到呢?不知道你们有没有了解,有的地方小学三年级就已经学习Python/C语言了,前几天在哔哩哔哩我还看到一个小学生直播教你学Python,我听了一下真的觉得挺好,这说明什么,说明这个时代需要互联网思维需要计算机技术,国家已经从娃娃抓起了,我们更没有理由松懈学习了。短浅一点的说,C语言学好了,对于我们专业的比赛你才有资格参加,什么电子设计大赛,什么数学建模比赛,智能小车,还有有的同学想进实验室的,几乎没有哪个导师不要求你的编程能力。还有将来的研究生复试,很多学校就考C语言比如中科大。这个点实在太多了,我罗列不尽C语言的好处,其实C语言这方面我在17通信并不算最厉害的,我们班有个魏智翔的学长相信有的同学已经听过,他的编程能力是真的强,从他身上我看到了,一个人的编程能力强的时候,真的能解决非常多的复杂的疑难的问题。对了,还有就是想脱单的小伙伴,更应该好好学C语言了,数学建模比赛你在群吆喝一声我编程贼强,一定有金融的经济的小姐姐拉你组队的。
好了,说了很多算不上题外话的题外话,总之,就是Passion,强烈的欲望,才是你学习,攻克疑难的前进动力。

第二层 扎实的基础

从中学开始就有老师跟你们强调要把基础打牢,当时我对这句话的理解并不怎么深刻,现在回想C语言的学习历程,想想真是如此。那么什么是基础呢?基础就是课本最底层的理论知识,拿C语言来说,那些零碎的知识点就是基础,比如int啊float啊,main函数啊,指针啊啥的,这些老师都会上课反复和你们强调,我在这里也就不赘述了。换句话来说,好好听课,别吝惜你的新书,多写写画画,不理解的地方一定多问,或者是学长学姐,或者是老师同学,一知半解是最不好的,比如int,奥,定义一个整形变量,ok,没了。然后float,浮点型变量,记住他,背掉就ok了,其实这样的学习费时费力还容易忘。我觉得就是一个勤于思考的过程,高中政治有个答题套路叫是什么为什么怎么办,C语言也是一样,int是什么,是定一个一个整型变量,为什么要定一个整形变量,因为C语言是强类型语言,变量类型直接决定了计算机分配给变量的内存空间,怎么用,可以上来赋初值 int a = 0; 可以先定义,后赋值: int a; a=0; 那是不是浮点型也是类似的,除了浮点型还有其他的数据类型么?还有就是学会联想和类比,比如指针,指针是什么?老师说指针本身是个地址,地址怎么理解,奥,他其实就是一个房间号,你同学就是一个变量,你知道他的门牌号你就能找到他了,为什么要用指针,原来我是宿管,我不管同学你叫啥,我得一个个查房从1301查到1313,这就是一个指针遍历的过程。计算机没那么复杂,很多情况还是蛮贴切生活的,同学们要善于思考,寻找规律。
其实啃书本是一个很枯燥的过程,我就一个比较浮躁的人,一个点看不明白可能不想死磕,我就往后跳着看,挑自己能看懂的看,结果发现最后还得把那么东西弄懂才能理解后面的过程。同学们,如果你跟我一样,慢慢啃书可能啃不下来,那就多看几遍,反复翻阅,我记得那本谭浩强的书我从头到尾重新细读不少于三遍,中途返到前面章节重读不知道多少次,但最后你会发现,再难啃的骨头,也会慢慢的被磨掉的,实在啃不掉的,就找别人帮你一起啃。其实这也突出了上课认真听的重要性,因为老师几乎把骨头磨成骨粉送给你了,你要是不好好听,那自己磕牙就不能怪老师了。

第三层 代码阅读量

很多同学学C语言一开始的感受就是,打开书,看懂了,恩,简单呀,赶紧上手实操一下,结果写了6行代码有7个错误,这都很正常,更多的时候是写完#include和main之后,凝滞了,连定义啥变量都不知道了,这也很正常。那么怎么破呢?其实很简单,事需缓图,欲速则不达也,医生在临床之前要先见习才能实习,我们也是一样嘛,你得先学会看代码才能写代码呀。那么有了扎实了理论知识后,如何快速投入实践呢?我当时的一个好办法是给程序写注释。
书上有很多代码实例,我们不会写没关系,抄总归会抄呀,但书上的注释一般很少,我们就自己学注释,代码抄要用键盘敲到电脑里,我不推荐手抄,程序又不是作文,抄的同时也是联系手感,一开始用Dev c++这个软件,不要用代码提示的VS code 或VS 2017,那样对新手的手感练习不好。用游戏的术语来说,这就是“补兵”,直接决定了你后期的发育,一开始你可能int要找半天,但渐渐的你会发现,手就熟练很多了。
打开你的电脑,在D盘或者什么的新建一个C_example文件夹,从第一个示例开始,把所有的练习全部放到这个文件夹里,开始你的修炼之路,最好每一行代码都写注释,除非是你认为实在实在没有必要了。

第四层 千行代码练习量

见习之后终于到了实习。
学习嘛,要有成就达成的喜悦感,学习和游戏本质差的并不是很多,只不过游戏可能会不断的刺激你的肾上腺素让你快乐甚至上瘾,学习尤其是程序语言的学习也是一样的嘛,什么时候你每天不写个几十行代码你睡不着觉,那你就上道了。
先给自己定个小目标,先写他个1000行代码,不要觉得很多,你一个int main()就能占用一行,1000行代码分解下来并不多,你们自己去实践就知道啦。
在这过程中,你们要尝试接触各种算法,什么冒泡排序,快速排序,从一开始简单的交换开始,这个时候,最重要的就是程序思维,为什么交换不能简单的a=b;再b=a;一定要思考,思考明白了才能以计算机的程序思维去思考问题,才能渐渐实现独立自主的写程序避免低级的错误。书上和网上有很多算法,甚至数学公式自己都可以尝试去编写。
程序思维很重要,在写代码和Debug的过程中,你们一定会犯错,那真的是太好了, 我不是幸灾乐祸,而是对于语言学习来说,真的是犯错才能学到东西,我在开始也犯过很多错误,什么没有return啦,什么;打成中文的啦,;没加啦,变量忘记定义啦等等,放心,程序出错电脑不会爆炸,大胆的运行把!

第五层 项目练习

当你千行代码成就达成的时候,赶紧打开手机淘宝,点开购物车,左下角全选,右下角点结算庆祝一下这一伟大时刻。
接下来就是比较成熟的阶段了,也是我们C语言课程设计的要求,我们最好学一下MFC,那么命令行窗口多难看,还不稳定,那么我们的windows窗口界面是怎么写的呢,去学MFC把,相信我你一定会找到答案。这个时候,你应该可以写一个万年历程序,写一个五子棋的程序,甚至写一个贪吃蛇的程序,你可以百度,但一定要弄懂他代码的意思,代码是如何组织的。

小结

第一次在博客上码这么多字,不知不觉已经九点半了,这个五层并没有严格的先后关系,比如你某一章节可以从看书到抄代码到写代码,这些都是可以的。其实我说的可能并不是那么详尽甚至不那么正确,你们肯定还有很多疑惑,相信我,我们后会有期的。各位学弟学妹,你们学完C语言之后,有的人或许为了比赛或许为了科研或许是兴趣会学C++,Python,Java等等,你们会发现,C语言难的只是你们没有接触过程序思维,一旦通过C语言学习到了程序思维,其他的语言都只是用法不同而已。愿,学弟学妹们前程似锦,学习生活蒸蒸日上!祝,老师身体健康,事业家庭件件顺心!
武汉加油!

你可能感兴趣的:(校本课程)