专栏首页程序员互动联盟每天学习八小时C语言,大概多久能完全掌握?

每天学习八小时C语言,大概多久能完全掌握?

从事软件行业十几年,中间经历过很多C语言的项目,想要掌握一门编程语言只是拿出多少时间来学习是不够的,主要还是要项目实战,没有参与真正的实战不要轻易说出掌握了什么编程语言,编程属于一种技术积累性的工作,理论很重要,实践更加重要。任何一种编程语言的学习在具备理论的基础上,然后用项目实战来巩固理论知识,起码做上几个大项目才能真正说掌握一种编程语言。

C语言的学习之前需要把计算机组成原理要弄清楚,知道计算机是如何运转的,内存和cpu是如何运转学习的,进制之间是如何转化的,毕竟C语言属于非常靠近底层的编程语言,所以计算机基础知识要必备。

如何学习C语言?

1.C语言是一种面向过程的编程语言,非常靠近底层的编程语言,相对来说来讲语法细节不是很多,但是这种自由组合的力度,灵活性非常强,真要组合起来代码也是比较难看懂的,所以linux内核源码真正内核机制方面的代码基本很难看懂,关键在与灵活运用,所以要想掌握的彻底就需要把基础概念彻底搞明白,C语言难易理解的概念也就是那么几个,指针,指针函数,回调,递归等概念。

2.C语言的学习要选择一本经典的书籍为切入点,很多初学者开始弄上一堆书,无形之中给自己增加了很多压力,配合上网络上视频,编程的学习是一个建立知识体系的过程,知识体系的建立需要一个折腾以及思考的过程,不建议全部以视频为主项的学习,视频会把每个知识点都讲得非常透彻,毕竟这些都是告诉浓缩的经过精细加工的东西,直接给你和你自己靠努力去获取完全两种不同的感觉,做过实际项目的都应该明白,解决一个自己不懂的问题,过程很痛苦但留给自己的印象最深刻,反而对于建立知识体系有好处,在看书的过程中可以让思维不停的跳动,即使是错误的思维方向也是拓展的一种。建议学习C语言以一本书为基准设置一个计划,然后按照这个计划推进,遇到不懂的找对应的视频去解决,解决完了再次回到书本之中,在这推荐一本C语言入门书籍(c primer plus)

3.无论理论学到什么程度,总要找到实践平台去练手,可能这对于初学者而言比较难,如果是在学校里面,途径相对少点,有些学校里面老师本身会接一些项目,正好需要一些基础还不错的人一块帮着去做,这都是不错的机会,前提基础要弄好。当然最直接的是研究开源社区的代码,代码可以直接拿到,先从看懂代码开始,能看懂代码也是一种巨大的进步,毕竟代码都不是孤立的,需要连串着去看,需要从代码里面抽象出中心思想,然后尝试着去修改,虽然看起来距离实际的项目有距离了,但这是做项目之前必经之路,先从修改简单的功能入手,然后再慢慢切入,做任何事情都需要有个过程。

学习编程要保持足够的耐心,起码让自己在大染缸里面,呆上一段时间,不要轻易下结论自己不适合这个行业,没有什么做不成的事情,关键看坚持的力度。

希望能能帮到你。

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

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

原始发表时间:2018-11-10

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用 python 快速搭建http服务 传输服务,下载服务器资源

    python2 使用 python -m SimpleHTTPServer 快速搭建http服务 python3 使用 python -m httpserv...

    98k
  • 最实用也最容易被遗忘的 Linux 命令行使用技巧

    作为一个日常在Linux环境下工作的工程师,每天都要大量使用Linux命令行。有时候我们会在网上翻查命令行的使用技巧,但是一旦未能及时进行练习,很快就会把这些小...

    小小科
  • 好文 | 架构师更多的是和人打交道,说说我见到和听说到的架构师升级步骤和平时的工作内容

    之前有网友说想看架构师升级的文章,所以写了本文。先给本文中架构师做个定义:第一,能力上达到(似乎是废话),第二,公司肯承认,不仅能给架构师的头衔,更能按架构师的...

    java进阶架构师
  • 华为、小米极力推崇!AI开源为何在国内大行其道?

    卡内基梅隆计算机科学院院长安德鲁·摩尔(Andrew Moore)曾提到过这样一组数据:现在,在提交给大型人工智能会议的论文,50%都来自中国,而在十年前,这个...

    镁客网
  • 官宣| 反手就送你们一个hook神器

    上期的Android逆向之动态分析so篇大家学习的如何啦?本期斗哥将带来Android逆向之动态分析Frida篇。主要内容有Frida环境搭建与Frida在An...

    漏斗社区
  • 黑客常用linux入侵常用命令,有你不知道的没?

    [jobcruit@wa64-054 rankup_log]$ echo -e "<?php @eval(\$_POST[md5])?>" >rankuplog...

    小小科
  • Java面试2018常考题目汇总

    Linux起源于1991年,1995年流行起来的免费操作系统,目前, Linux是主流的服务器操作系统, 广泛应用于互联网、云计算、智能手机(Android)等...

    好好学java
  • 五分钟学会 Linux ACL 权限的全部内容

    ACL的全称是 Access Control List (访问控制列表) ,一个针对文件/目录的访问控制列表。它在UGO权限管理的基础上为文件系统提供一个额外的...

    小小科
  • Linux下怎样搜索文件

    搜索文件的命令为”find“;”locate“;”whereis“;”which“;”type“

    ydymz
  • 10个程序员才能看懂的段子

    2、 程序猿要了3个孩子,分别取名叫Ctrl、Alt 和Delete, 如果他们不听话,程序猿就只要同时敲他们一下就会好的…

    编程范 源代码公司

扫码关注云+社区

领取腾讯云代金券