如何学c语言?

龙无痕 2020-01-09 11:57:35
加精
下个学期就学c语言了,求问大佬们,如何学c语言呢?咋样学嘞?先感谢大佬们啦
...全文
4170 69 打赏 收藏 转发到动态 举报
写回复
用AI写文章
69 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leon C. 2020-05-04
  • 打赏
  • 举报
回复 1
推荐: https://www.runoob.com/cplusplus/cpp-tutorial.html 建议自己给自己规划一些课题,遇见不知到怎么做的时侯,到上面链接里查
龙无痕 2020-05-04
  • 打赏
  • 举报
回复
引用 72 楼 Mrazing的回复:
很多道理大佬们都已经说了,不再赘述。首先得搞懂你学c语言的目的是啥?只是为了应付大学考试,还是想要打好基础能以后能运用在工作中。如果是应付考试,跟着老师学,再看看书刷刷题,这些都是理论功夫;如果是想用在工作中,那就要找点实践来做。
好嘞,谢谢宁嘞
Mrazing 2020-05-04
  • 打赏
  • 举报
回复
很多道理大佬们都已经说了,不再赘述。首先得搞懂你学c语言的目的是啥?只是为了应付大学考试,还是想要打好基础能以后能运用在工作中。如果是应付考试,跟着老师学,再看看书刷刷题,这些都是理论功夫;如果是想用在工作中,那就要找点实践来做。
Italink 2020-04-29
  • 打赏
  • 举报
回复
引用 49 楼 贵阳老马马善福专业维修游泳池堵漏防水工程 的回复:
[quote=引用 48 楼 早打大打打核战争 的回复:] 不错,自学成才是要条件的(自身的和外在的),是个例
根据反摩尔定律,编程的知识在18个月内贬值一半。搞软件开发,就是要有自学的技能,这比具体掌握编程的技能更重要。可以说,作为程序员,你的工作任务就是在不断学习。 所以我说,那些不具备自学能力的所谓“程序员”,充其量也就是一个编程爱好者而已,或者是低级的软件蓝领。 如果你经常听到有人说一句话:"程序员"一般到30岁就要转行了,这句话就非常正确了,因为他毕业的时候23、4岁,经过6年左右,他的编程知识中有效的部分就只剩下1/16了,基本归0了。 我现在用的编程语言,编程框架,各种中间件,外加各种接口、设备、api,没有任何一个是大学学过的。我们解决问题的技术,大部分都是自己创造的,没有书本的论述。我认识的.NET开发的前辈大牛(可是资深专家而不是一般开发者哦),50多岁的有好几个,但是.NET平台2001年问世,也才19年。那他们是怎么成为大牛的。所以一个人号称他通过和一个老师学习,学会了比我多10倍的知识,那很好,你作为软件蓝领的工作年限可以比一般人延长5年。仅此而已。一个真正优秀的老师,可能并不是你的大学老师,而是你的启蒙老师,他会告诉你学习方法比学习本身更重要。他不会硬塞给你比别人多1000倍甚至多1000000倍的知识,但是他会告诉你获取知识的手段。他会告诉你,知识是无穷的,学习是永恒的。他会告诉你,老师并非全知全能,老师只是在学习的道路是比你们早走几步。他们会告诉你,今年你来和老师学习的目的是,将来要超过老师。 学习的方向在于让自己的思维框架"升维"。比如说,前几年一个小镇青年不太接触电脑的,他会花几块钱从彩信中获取一个铃声。因为他的思维局限在最低的维度,不知道这个铃声怎么制作的。如果他想要更多铃声,就要多花钱。当他接触到计算机或者网络,他会发现,可以下载,并且自己制作铃声。那么他就上升了一个维度,在这个维度,他想要什么音乐,都可以自己制作,不需要花冤枉钱了。他意识到了工具软件的威力——只要有了软件,想要多少就有多少。于是他开始搜集各种软件。在他这个思维维度里,一个软件,可以做一批同样的事情,所以搜集的软件越多,他能做的事情就越多。这个时候有人给他一张传单,让他学习编程。他学会了编程,于是他可以编写各种程序完成自己想要的功能,他不再需要搜集各种软件了。 [/quote] 听君一席话,胜读十年书
youke321zou 2020-04-07
  • 打赏
  • 举报
回复
先读一遍Linux内核源码吧,这样对c的理解比较深刻

龙无痕 2020-04-07
  • 打赏
  • 举报
回复
引用 69 楼 youke321zou的回复:
先读一遍Linux内核源码吧,这样对c的理解比较深刻
来,大哥你给我年年,我这就来跟读。
yf5566yf 2020-04-05
  • 打赏
  • 举报
回复
引用 8 楼 贵阳老马马善福专业维修游泳池堵漏防水工程的回复:
我告诉你几个真相:
(1)你班级里学得好的,全是自学的,甚至有的同学中小学就开始学了
(2)教你课的老师,可能是不会编程的,不会编程的照样可以教这门课
(3)你不用学会编程一样可以通过考试,只要认真听讲,把作业做好
(4)你跟着老师学,学个一个学期或者一年,除了能通过考试,什么用也没有
(5)你老师最后会出一个“大作业”,自己能从头独立做到尾,没有几个人能做到,所以大多数人都是抄一个或者找枪手。
(6)所谓多看代码多记忆,多敲代码多思考都是废话,关键是你要真的感兴趣,去钻研,并且一开始有人指导你养成良好的思维和编码习惯,但是你还有很多别的课程要学呢,你还着急要完成作业通过考试呢。你要真想学会编程,除非放弃别的课程拿高分。
(7)csdn论坛里提问,大多数回答者水平还不如你呢,有些可能是大学没念过的,甚至是扫地种菜当保安的。他们为什么回答你的问题,因为他们要水经验赚积分,去下载站下载个什么软件,同时不想花钱。
👍我觉得你肯定很厉害
  • 打赏
  • 举报
回复
学好一门语言,其他语言互通
bj_zhb 2020-02-27
  • 打赏
  • 举报
回复 1
多练习,多刷题
头发!护理 2020-02-16
  • 打赏
  • 举报
回复
引用 50 楼 贵阳老马马善福专业维修游泳池堵漏防水工程 的回复:
我们来比较下这三个维度: 我会编程:我可以写各种软件。如果某个功能没有,我自己写一个软件。我不需要搜集那么多软件了。但是我需要学习各种软件开发的技术。 我会使用软件:我可以使用各种软件,我需要大量搜集软件,这样才能保证我需要什么功能才能有对应的软件。但是我一旦有了一个铃声制作的软件,我可以生成很多铃声。所以我不需要下载那么多铃声了。 我什么都不会,我只能通过花钱购买各种铃声,要什么买什么。 你可以很明显看出,每一个维度,对于下面那个维度,有着碾压的技能优势。并且你还发现,上一个维度的人,可以做到下一个维度所有的事情,尽管上一个维度的人的知识体系并不是无穷的,但是对于下一个维度来说,他仿佛是无穷的。比如说会编写程序(有限的编程技能),等于无穷多的软件搜集。有限的软件搜集,等于无穷多的产出某个软件制作的结果。 反过来说,下一个维度的人,他如果不让自己的技能和思维升级,他使无穷的力,也达不到上一层的高度。比如你买了无数铃声,你遇到一个新歌手新出的歌曲,还是得花钱。你搜集了无数的软件,总是有需求,还是任何软件满足不了的。 上一层对于下一层的比较优势,这就是降维攻击。 当一个思维框架比你低的人和你交流。你不但可以理解到他说了什么意思。你还可以认知到他为什么有这种观点,他的这种观点从哪里来的,在什么情况下适用。当一个思维框架和你一样的人和你交谈,你仅仅可以理解他的观点。当一个思维框架比你高的人和你交谈,你可能并不能理解他的观点是什么,你必须让他打比方——实际上所谓通俗易懂,就是把高思维框架的观点投影到低思维框架中。相反,当你处于高思维框架的时候,你可以从简单的事实中洞察出复杂的逻辑, 回到学习编程这件事情上来,在一个名师指导下提高学习效率10倍固然很好,你能在各个方面都遇到名师也当然好,遇到知识更新了,再回到学校去学习那也很好,但是你不会自学,没有学习的技能,你永远只能在你的那个层次上。对于有自学能力的人来说,轻轻松松就能做到和你一样的。 所以,掌握学习方法,就是比学习具体知识更高一层的思维框架。但是这不是最终的维度。在掌握学习方法之上,还有学习的学习方法——当你深刻认识了学习的方法的本质,你就会进入深度学习的理论研究之门。或者反过来说,如果你从事深度学习的研究,你自然会把学习这件事情看得很明白——学习真的需要老师么?甚至学习连学习者本身是个活人都不需要。
服了!
ahtu222 2020-02-11
  • 打赏
  • 举报
回复
从第一天注册CSDN到现在 一直都想要学好C, 一直到现在还学不好, 楼主可不要像我一样啊
qq_46224001 2020-02-11
  • 打赏
  • 举报
回复
懒笑翻 2020-02-09
  • 打赏
  • 举报
回复
如果是大学的C语言,提前预习知识内容和代码,课上跟着老师的思路走,还是多敲代码,前期的那些题目都是为了让自己提升逻辑思维能力
qq_39505418 2020-02-01
  • 打赏
  • 举报
回复
多上手的话也不算难学,学校老师讲的一般都很详细,不过要想学得好还要多打码,不练肯定是不行的。
SebatienZh 2020-02-01
  • 打赏
  • 举报
回复
我是在学校学了C。感觉跟着老师的节奏走,然后认真完成作业,不懂的就问,基本上能入门。
其实C语言学了对编程的思维还是有很大的启迪。
院里有座山 2020-02-01
  • 打赏
  • 举报
回复
再回复一下,混点积分。
其实前面几个大佬说的都对。
学习真的既需要自学,也需要有人带。
我就是业余程序员,身边没有水平超过我的,上学时,所谓的老师真的不会编程。
然而,我的水平也因此无法提高。
如果有了一个好的环境,别人随便的指指点点,就可以省去很多摸索的时间。
完全靠自悟自学,太难了。只有那些世界级的牛人才能做到,因为那些人的水平已经没有人可以和他们交流了。
但是,对于大多数人来讲,科班的好处就是如楼上所讲。
但是的但是,我现在终于弄明白了,我为什么走上了野路子。
因为人的精力是有限的,只有那些天才才能做到一边去考211一边去实现自己的想法。
虽然上了211可以有很好的氛围,做起事情来事半功倍,但是也因此会受到影响。
那就是对于我个人而言,我如果选择了把精力放在去考取211,我可能会成为一名非常NB的程序员,但也非常可能成为一个高级打工者。
我选择的道路是不为任何人打工,我要活出自己的人生。
所以,虽然我到现在一直还很菜,但是我不后悔自己的选择,我认为我的选择是对的。
因为,最终我可以实现我的想法了,我在99%不会有好结果的道路上,终于走到了终点。

以上是我的个人看法,对于绝大多数人来讲,科班重要。
  • 打赏
  • 举报
回复
我觉得吧,贵阳老马马善福,你说了这么多,很有道理,但是问题是文不对题,和我说的不是一回事。
我,还有super_admi,如果我没理解错他的意思的话,是说的业余(自学)和专业(科班)的比较,而你说的那些,不管是有意还是无意,转移成了有无自学能力的比较,自学能力强弱的比较。这属于不对称比较了,实际上,科班出身的不但专业能力平均来说明显优于自学成才的,自学能力也绝对不比后者弱。问题是有自学能力就不需要老师了?还要大学干嘛?高中毕业都自学就行了,为嘛还都抢着上211、985?就我的经验,接受专业教育很重要,也就是上大学很重要,上好大学更重要,简单说就是两点:
1. 氛围,在大学里,尤其是一流大学,能接触到各地来的人,形形色色的人,形形色色的想法,称之为天下英雄也不为过,能见识到聪明的人有多聪明,NB的人有多NB,在这种氛围中,大多数人自然能见贤思齐努力提升自己,好比赛跑有高手领跑成绩普遍都能提高。如果困在一个渣学校,甚至闭门造车,还以为自己很NB呢,不知道世界有多大。
2. 人脉,这个比较功利了,但是现实如此,渣学校能出几个人才,闭门造车的圈子更小,有几个能混得出人头地的,对你能有什么帮助?想想清华帮,这个谁都懂的,不只是专业了,对你的人生都可能产生重大影响。当然你要说我就天生NB,专业带别人飞,不要别人带飞,那可以~~~
院里有座山 2020-01-24
  • 打赏
  • 举报
回复
说一下我的个人经历
第一,学会hello world没有任何鸟用。
尤其是那些带有匪夷所思课后题的教材。
学习一门语言掌握到80%的程度就可以了。
没有必要再去做那些匪夷所思的课后题,更没有必要掌握所有的细节,类如把类库背下来。
最后能写一段能运用大多数知识点的代码就可以了。
第二,实际参与一个项目
在看别人源码,或与别人交流过程中,你会学到语言的实际应用。
也就是那80%部分,才是实际经常用到的,其余知识点,用到时去搜索答案就可以了。
在实际开发项目的过程中,才会发现学习语言,类似于学一门自然语言或文字。
你真正要学的是这门语言描述的内容。
第三,“数据结构与算法”
这里之所以打引号,是因为老有人跟萌新说这个。
其实,同样基本的数据结构和算法,掌握80%就可以了。
真正的数据结构和算法,是你要开发项目的数据结构和算法。
同时,你还要熟悉你开发项目的框架和协议。
真正的知识点在这里。

上面代表了程序员的三个层次。
1helloworld水平,这是业余水平。一般都是在学学生或利用计算机进行研究的非程序员。
2码农水平,大多数程序员都是这个水平。在老鸟的框架里写东西。完成项目功能就可以了。
3大佬水平。这个我不知道,就是知道人家能做出的东西,我做不出来。人家信手拈来的东西,对于我是乱码天书。
这些人的智商应该非常高吧,一个知识点我往往要学习很久很久,不知道他们是如何轻松掌握的。
龙无痕 2020-01-22
  • 打赏
  • 举报
回复
引用 41 楼 Post_traveler的回复:
你可能需要本C primer plus 我之前买了本,结果发现我的专业不学C只学Java
嗯嗯,谢谢您啦 。。
龙无痕 2020-01-22
  • 打赏
  • 举报
回复
引用 40 楼 y2016724的回复:
学习c语言就跟打游戏一样,从新手教程开始,逐渐的增加难度,刚开始就要从最基础的开始,从豆瓣上搜关于c的教材,建议选择评分较高的那种,开始慢慢看,装上visual studio或者其他你觉得合适的ide,敲一敲代码,遇到不懂的地方,百度,Google,MSDN,同学,老师,花上几个月的时间,然后开始自己找一点能做的项目,比如游戏,GitHub,尽量选择简单一点的,不要太难的,否则容易放弃,这个时候以观察和复现为主,因为你大概率是不会自己开发出一套完整的项目出来的,同时用c语言做做算法题,同时继续精读领域内关于c的书籍,等你的技能差不多了,就可以找这方面的工作,在实战中继续学习,总之这个过程会很漫长,希望你能够坚持下来
嗯嗯,谢谢您啦 。。
加载更多回复(49)

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧