专栏首页程序员互动联盟如何深入学习C语言?

如何深入学习C语言?

疑惑一

遇见编译错误了咋办?

经常见有小伙伴,呼呼的把一大段的编译错误呈现在群里,然后问这是啥原因,其实解决编译的办法还是挺多,现在重点说下编译错误是怎么出来的,基本上编程语言分为两种编译型和解释型语言,编译型的语言会在程序执行之前先编译成二进制的文件,那么解释性的语言不需要这么办,直接边解释边执行,效率上面稍微低点,常见的c、c++都是编译型语言,java属于解释性语言,可能小伙伴有疑问了,不是java也是需要编译的嘛,其实准确来说编译成了字节码,还需要jvm进一步转化成二进制文件,不是编译型的语言,所以java的执行效率并不高。常见的编译错误一般都是编译器编译源代码报出来的错误,有兴趣的童鞋可以去看看编译原理,里面详细的介绍了编译是怎么一回事,那么出现了编译错误了到底如何解决那?其实报错的地方就是给你打出的提示,很多小伙伴见到错误多了就慌了,不知道该怎么办了,第一种解决办法就是根据错误代码的提示,抽象出解决方案。第二种解决方法,将错误代码的关键部分直接复制到百度或者谷歌上面搜索看看别人的解决方案,一般前两种情况能解决掉百分90的错误,还是不行的情况下就可以请教高手帮你分析下,而且对于常见的错误,最好自己有个错误集合记录本防止下次再出现类似的问题。

疑惑二

学编程需要学好汇编嘛?

在群里很多人,都觉得汇编语言需要学好,其实汇编语言在现在语言的分量越来越少了,因为语言是在向前发展的,编程是向着越来越容易的角度出发,而不是越做做难的角度,汇编作为和机器直接打交道的语言,不能说不重要但是大行其道的时代已经过了,算是老老实实做个后世语言的奠基者,更符合他本身的定位,但是汇编在有些行业还是用的较多,特别是底层芯片的开发,以及针对硬件加速的时候汇编还是有施展的空间,反编译一些数据获取也需要汇编的知识,特别是一些病毒的分析,以及底层库的分析有了汇编知识分析起来还是比较快的,而且了解了汇编对于分析一些深层次的系统bug还是很有好处的,很多架构师还是喜欢拿汇编来分析一些底层的问题,动不动整出一些汇编让你云里雾里,可能真是对汇编情有独钟。记得上学的时候,有个汇编老师,讲到汇编如同吃了鸡血一般,那个喜欢就连我们一些不怎么喜欢的,也深有感触,那就那个时候对汇编有了最初的认识,对于刚学编程的小伙伴是没有必要全力去学这块的,除非专业或者职业的方向的确需要,了解一些原理对透彻理解程序有极大的好处。输入关键字汇编获取相关的学习资料,不懂得可以继续后台问。

疑惑三

如何深入学习c语言?

其实在之前的学习中,给大家介绍的更多的是怎么去入门一门语言,其实今天大致给大家说下,怎么深入学习C语言,所谓的深入的学习就是在,掌握一定基础上如何深入的掌握更加的彻底,到了后期主要是项目的锤炼,但是在成为编码高手之前需要学会看代码,可能觉得这个很简单的事情,其实能看懂别人的设计思路以及算法的精妙之处也是一种能力,其实大型的项目,很多代码都是借鉴某个大型的框架,在此基础上精准的定制,大量的代码是已经有的,所以在改装之前需要看懂一些代码,了解设计思想,只有明白大致的设计思想,自己添加的代码才能无缝对接,那么在没有项目的情况下如何提高那,现在不是很多开源的软件可以研究嘛,这一点是很好的突破口,在开源中国的开源社区里面可以弄到很多开源的项目,或者去linux社区去看看,真正的提高语言的熟练程度只有不停的实践,看懂代码然后大量的去写代码。

编程语录:

今日之编程,已是竭力要建立更大更反白痴程序的软件工程师,和正塑造更大更优质白痴的现实世界之间的比赛。目前来看,现实世界赢了。—— Rick Cook

本文分享自微信公众号 - 程序员互动联盟(coder_online)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-12-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一个C++ 程序员的生产力,大概相当于20个C程序员,200个java程序员,如何看待这句话?

    这种话听听就行了,起码不是真正程序员说过的话,每个编程语言都有其存在的必然性,很难直接通过数据直接比较谁更加厉害,语言没有谁更加厉害这种概念,只能是谁更加合适。

    程序员互动联盟
  • 要想精通C语言,必须先学习汇编吗?

    编程语言里面很少有人直接说出精通两个字,特别是一些入行好多年的程序员,从语法来讲C语言相对来讲入门还是比较容易,在高级语言还没有完全展开的年代,C语言算入门比较...

    程序员互动联盟
  • Windows 7已停更。为什么Win 10再香,也仍有不少人死守Win 7?

    微软停止更新是win7只是时间问题,毕竟现在的win10系统已经逐渐被大众所接受,每次微软启动停止更新的指令都是根据用户数据比例而得出的,如同当年微软舍掉XP系...

    程序员互动联盟
  • 老鸟程序猿总结的工作学习技巧,不看后悔!

    (1)入门期间不要盲目看太多书,找一本网上或身边有经验程序员推荐的教材,先系统的学习。

    WEBING
  • idea中JSP页面不能访问静态资源(图片,js,css) <mvc:default-servlet-handler/>的作用

    必须配置SpringMvc对访问静态资源的支持,idea默认就是在main/webapp 下的文件路径,要在web-info同级的resource文件下放置,J...

    _DIY
  • Java web开发,在一个jsp里放太多java代码的后果,摘自 java web轻量级开发面试教程

    现要做一个简单的登录页面,如果用户通过验证,会显示Welcome用户名的欢迎词,反之则返回登录页面让用户再次输入 这部分的完整代码是JSPDemo项目里的log...

    用户1153489
  • Pytorch打怪路(一)pytorch进行CIFAR-10分类(5)测试

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    TeeyoHuang
  • 【编程基础第四讲】遇到编译错误怎么办?

    存在问题: 现在刚入门的小伙伴,在编译初级的代码一遇到错误就显得不知所措,那么怎么办? 解决方案: 编程的新手,包括刚毕业工作的同学在解决编译错误时有时候不知...

    程序员互动联盟
  • 【工具】这么好用的代码阅读器你装了吗?

    作为一名程序员,我们不仅要多动手编代码,而且还应多阅读一些优秀的代码,如C语言的一些第三方库文件、嵌入式中Linux内核源码以及一些项目的代码等。这些源码往往都...

    正念君
  • 高并发编程-synchronized深入解析

    对于单一JVM来说,synchronized可以保证在并发情况下,同一时刻只有一个线程执行某个方法或某段代码。synchronized可用于修饰普通方法、静态方...

    JavaQ

扫码关注云+社区

领取腾讯云代金券