zoukankan      html  css  js  c++  java
  • 编程入门:985 学霸的经验之谈,看看他们是如何入门C语言的?

    "子曰:"三人行,必有我师焉;择其善者而从之,其不善者而改之。

    我们先看下学霸们的学法.

    学霸一:

    C语言是最基础的编程语言了,其实,对于理工科专业的人来说,C语言并不难,C语言都学不好,怎么学习C++、C#、Java、汇编语言等,这些语言比C语言要难得多。也许是因为刚接触C语言,刚刚接触一门全新的课程,所以感觉比较难。

    记得本人大学刚开始接触C语言的时候,也是一头雾水,根本不懂C语言是干嘛用的,听课时也是晕乎乎的。感觉很虚的东西,计算机二级考试也是勉强合格。后来,本人报名了一个电子设计竞赛,经常在实验室里编程做项目,才慢慢体会到C语言的真正用处。后来对C语言产生了兴趣,课余时间经常到实验室设计项目。到大三的时候,报名参加了全国电子设计竞赛,估计是运气好吧,拿了一等奖。

    学霸二:

    C语言难学,个人认为是被国人误传或误教所致。一直以来,高校理工科都开设了C语言,学生稀里糊涂开始学习。在不清楚学习目的、所需前提知识的情况下,仅学习些基础语法知识,导致大部分学生学习效果不理想,从而造就了C语言难学的传说。

    C语言是程序员与计算机进行交流的一种语言,目的是达到对计算机进行控制,实现程序员预期的效果或功能。因此,为了能更加有效地进行交流或控制,除了学习些基础的语法知识外,还要求学习者对交流对象要有较清楚的了解或熟悉(即所需前提知识),和掌握一些必要的交流技巧(思维方式或套路类的东西)。

    学霸三:

    在上大学之前,我对这个专业仅仅的认知是学电脑的,对编程来说更是一无所知,而我选择计算机专业完全是因为我从小就喜欢玩电脑,仅此而已。记得小时候还不会拼音和英文的时候,我玩的第一个游戏就是侠盗飞车,靠着记忆按着start和quit game。

    这就是我对电脑的启蒙,但是我小时候就对电子产品非常感兴趣,而我的父母并没有向其他家长一样阻止我接触电脑,相反,他们认为让我从网络了解世界是一件正确的事情,只要自己掌握好尺度。所以从小影碟机,电视,电脑,手机没有人教我我就自己琢磨,父母有些问题我都能解决。渐渐的,那时候对大学的专业没有概念,就是想,如果上大学我还想上计算机专业,而我母亲每次在我玩游戏的时候就说:玩游戏不是本事,能做游戏让别人玩才是本事。能够来到自己心目中的大学和喜欢的专业也是一件非常开心的事。

    本学期前的假期,我提前学习了c语言,上课之前我很忐忑,对于我这种仅仅停留在玩电脑的小白来说能否学懂编程是个很难的事情。但是后来我发现,编程就是和计算机对话,就像学习外语一样,让人与计算机有联系。让计算机明白人的意图。这其中包还含着数学的知识。我认为c语言就是所有编程语言的基础,举一反三,一门学精了其他的也就弄懂了,而c语言的精髓就是指针,这是其他编程语言没有的。

    学霸四

    c的语法是现在语言中比较简单的,要说语法是就只有c++最为复杂了。大家说的c难是因为,用c开的的东西一般与系统api和算法有关。算法这个,没个数学功底真的想不到,其它的语言没有比较高级的算法,其它语言的算法也都是c语言从语言的底层(不是系统的底层)实现的,再封装成语言的算法库。

    系统api,这个东西不像语言层级的api那么简单,它是系统直接关系的相当复杂,要了解系统、信号、返回值这东西表现出来的现象多,与你要做一个东西有不同的处理。还有一个点c实现的东西要考虑到性能,这个不简单,不是简单的io性能,要考虑内存拷贝的消耗、堆栈开关的消耗、cpu调度的消耗。

    学霸五:

    从没觉得c语言难学,相比后来的大量的面相对象的语言,c语言其实非常好学,学习门槛并不高。

    如果说到难,一个是数据结构,这个东西比较枯燥,而且严格说应该是属于数学问题而不是编程问题,第二是函数偏少,经常需要自己动手,不像主流oop们全都给你封装好了直接用,不过,从这点讲,也正是c语言的一大优势,让你知其然亦能知其所以然。

    c语言属于中级语言,意味着它具备oop们没有或缺乏的的对计算机底层资源的操控能力,因此操作系统,驱动程序等基本都只能用c。

    学霸六:

    很多人在学习C语言的时候,本来对编程很感兴趣的,最开始学习的时候也投入了大量的时间和精力在上面,理解了这,理解了那,到最后发现只是在黑窗口下面打印几行数字和字母;

    学起来会觉得比较枯燥,而且越学越发现没意思,最后只能放弃,所以说,学习编程,换一种方式去学习可能会更好一些,比如说开发个小游戏啊,这样学起来可能会更有成就感,让人觉得学了这东西有用,可以做出东西来。

    这些总结起来就是:

    1.对数字要很灵敏。像很多时候打字是用编码输入的,看到一个汉字我都能看到它背后那个那个代码。

    2.要算无遗漏。编程步骤多的时候容易搞错细节。比如中英文的句号,小数点,标点符号和平时写文章时的些微不同意义,等等。这么多个指令合起来后有无漏洞,或者整合后有没有更强大的用途。

    3.要保持“计算机程序”一样的思维。想问题的时候多换位,把自己当成电脑,用电脑的思维(角度)来想。

    4.看到一些好的软件,就发挥想象和所查资料结合,将它的每个零件都剥析清楚,也就是将它的来龙去脉搞得明明白白。最好还能常常自己设计一点东西,无论实不实用,这是从“懂了”到“会运用了”的关键一步。

    5.不怕辛苦,不怕错,不惜花钱。将自己不懂的问题无论国家大事、鸡毛蒜皮统统打印下来,见到老师就问,问了就记笔记--当然是计算机方面的问题。

    6.每学一个知识,事前问学长学姐当年心得,事中问同学有何感受、感想,事后多总结。别人不会但你会的,你就尽心去教别人。可能你以为这个你已经很了解了,但往往在教别人时,别人问了点问题你才发现原来自己这个也不时很懂啊...

    7.常和老师一起谈话,除了问不懂的问题,尽量少开口多听他讲。如果老师不健谈,那你要会引导他谈话。宗旨是多想、多问、多听、少说。


    想提升你的编程能力,成为一个强大的程序员!不妨和一些志同道合的小伙伴一起学习成长!

    C语言C++编程学习交流圈子,【点击进入微信公众号:C语言编程学习基地

    有一些源码和资料分享,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!

  • 相关阅读:
    HttpWebRequest 改为 HttpClient 踩坑记-请求头设置
    [k8s]docker calico网络&docker cluster-store
    [k8s]jenkins部署在k8s集群
    [k8s]zookeeper集群在k8s的搭建(statefulset模式)-pod的调度
    [svc]cisco ipsec使用证书认证
    [svc]数字证书基础知识
    [svc]logstash和filebeat之间ssl加密
    [svc]cfssl模拟https站点-探究浏览器如何校验证书
    [svc] cisco router as ca server
    [svc]对称加密/非对称加密细枝末节-如何做到数据传输的authentication/data integrity/confidentiality(私密)
  • 原文地址:https://www.cnblogs.com/yxy6/p/13470486.html
Copyright © 2011-2022 走看看