作为一门古老的编程语言,大家熟知它不仅是因为拥有48年的发展历程,更主要还是因为当下大部分程序员走入编程世界第一个学习的语言就是C语言。

而近年来高速发展的物联网和智能设备,又把C语言推向了风口浪尖,让它一举成为TOBLE 百思特网2019年度编程语言榜首。

如何学好c语言(自学c语言要多久) 第1张

熟悉C语言的程序员们更喜欢称C为“造轮子”的语言,因为它什么都能做。游戏公司后台开发、通信公司后台开发、服务端底层应用优化、后台系统驱动和内核……在程序员眼里,这个48岁的C语言几乎是无所不能的。

当然,很多人会觉得C语言入门难,不能像其他编程语言一样快速获得成就感。但仍然有很多技术大咖建议大家有必要学一下C语言。因为优秀的程序员并不是精通某一种编程语言,而是能精确把握编程思想。

这恰好是学C语言的一大好处——可以深入了解计算机底层运行机制。

现在常见的高级语言的底层几乎都是C语言实现的,所以,无论是学什么高级原理,要想掌握其内部原理,借助C语言就可以轻松了解。

如何学好c语言(自学c语言要多久) 第2张

01

学习C语言的建议

除了C语言本身之外,程序员必学的内容还有数据结构和算法、数据库原理、计算机网络、操作系统、设计模式,这些都是从事开发必须掌握的基础技能。

在初学C语言时,很多新人会觉得太难了,可能会遇到有些问题理解不透,有的是表达方式与以往数学学习中不同(如运算符等)。这个时候万万不能不气馁,不明白的地方多问多想,鼓足勇气进行学习,待学完后面的章节知识,前面的问题也就迎刃而解。

学习编程语言就是一个坚持看、敲、写的过程。

给自己定一个学习目标

很多人刚开始学习热情十分浓厚,但三分钟热度过后就失去了兴致。当学习有了目标就有了方向,努力往那个方向专研总会学有所成。

认准路线

就按计划学习C语言的学习路线是从基础语法再到高阶算法,不能一口吃成胖子,所以当大家选择了一本可以系统学习的书就认真学完。

多思考,多读源码

在自己无法自主编写代码的时候,可以模仿别人写的代码,学习其中的思想,一步步形成自己的东西,慢慢你就会发现你也可以了。

自己改写程序

通过前面的学习,应该已经掌握一些基本的编程技巧。一定要有自己的想法,然后让自己的想法通过程序来实现。编程语言的学习过程就是坚持的过程,只要掌握了一种编程语言,再去学习其他的语言就很轻松了。

了解C11新特性

2007 年,C语言标准委员会又重新开始修订C语言,到了 2011 年正式发布了 ISO/IEC 9899: 2011,简称为 C11 标准。

C11标准新引入的特征尽管没 C99 相对 C90 引入的那么多,但是这些也都十分有用,比如:字节对齐说明符、泛型机制(g百思特网eneric selection)、对多线程的支持、静态断言、原子操作以及对 Unicode 的支持。

此次,委员会提出了一些新的指导原则。出于对当前编程安全的担忧,不那么强调“信任程序员” 目标了。而且,供应商并未像对 C90 那样很好地接受和支持 C99。这使得 C9百思特网9 的一些特性成为 C11 的可选项。因为委员会认为,不应要求服务小型机市场的供应商支持其目标环境中用不到的特性。

另外需要强调的是,修订标准的原因不是因为原标准不能用,而是需要跟进新的技术。例如,新标准添加了可选 项支持当前使用多处理器的计算机。

02

怎么学习C语言

那该如何学C语言呢?希望我整理的 C语言的学习路线,能对你有帮助!

首先是C语言的基础语法:变量、字符串、条件、循环、数组、函数、结构体等,然后就是指针、内存管理等C语言中至关重要的两大标准。

因此,学习C语言推荐大家可以从《C Primer Plus》开始入门,系统地了解C语言的基础语法和简单应用。

对C语言有一定认知之后,就可以通过《C和指针》和《C专家编程》以及《C陷阱与缺陷》等高阶图书学习C语言中最重要的指针等内容了。

如何学好c语言(自学c语言要多久) 第3张

几乎所有C语言程序员的都会去看斯蒂芬普拉塔的《C Primer Plus》。这本畅销38年了图书对于 C 语言初学者来说,就像引路人一样意义非凡。

从1984年至今,《C Primer Plus》已经升级到了第6版,作者初心不变——致力于编写一本指导性强、条理清晰而且有用的C语言教程。所以,书中大量完整的、可运行的程序及详细的注释有助于理解代码和概念。

作者不仅阐述了语法中正确的形式,同时也指出错误的代码出现的问题,更是全面讲述了 C 语言编程的相关概念和知识,并且涵盖了 C 编程语言最近的变动发展、以及 C11 标准。

如果你是学习C的同学,可以选择《C Primer Plus第6版 中文版》入门。

C语言入门

如何学好c语言(自学c语言要多久) 第4张

C Primer Plus(第6版)中文版

作者: 【美】Stephen Prata(史蒂芬 普拉达)

译者: 姜佑

几乎所有C语言程序员的都会去看斯蒂芬普拉塔的《C Primer Plus》。这本畅销38年了图书对于 C 语言初学者来说,就像引路人一样意义非凡。

从1984年至今,《C Primer Plus》已经升级到了第6版,作者初心不变——致力于编写一本指导性强、条理清晰而且有用的C语言教程。所以,书中大量完整的、可运行的程序及详细的注释有助于理解代码和概念。

与市面上其他的教程书籍相比,《C Primer Plus(第 6 版)中文版》最大的特点就是读起来不会有枯涩烦躁之感。

因为斯蒂芬普拉塔十分在意读者在阅读过程中的阅读体验,所以书中新出现的每一个术语,符号,都给出贴近读者目前知识储备的和理解能力的解释。

而且,这本书在编排上也十分与众不同,在每个知识点后面都会附带一个“程序清单”,也就是程序实例,这是理解编程知识点的绝好方法,供初学者自己手动实操,提升编程水平。

更有趣的是,作者不仅阐述了语法中正确的形式,同时也指出错误的代码出现的问题,更是全面讲述了 C 语言编程的相关概念和知识,并且涵盖了 C 编程语言最近的变动发展、以及 C11 标准。

这就是为什么异步君会把先推荐这本书,对初学者来说,系统学习 C 语言是非常有必要的,这本书就是最适合的。

如何学好c语言(自学c语言要多久) 第5张

C Primer Plus(第6版)中文版习题解答

作者: 【美】Stephen Prata(史蒂芬 普拉达)

在过去 40 多年里,C 语言已成为最重要、最流行的编程语言之一,学习 C 语言的人很多,但能运用自如的却远远不到一半。

为了每个程序员都能将所学的知识落实到实际项目,《C Primer Plus(第 6 版)中文版 习题解答》面世了,它是Stephen Prata根据《C Primer Plus(第 6 版)中文版》而撰写的,由北京师范大学名师详细剖析所有题目,全面提升 C 编程能力的优选编程练习册。

针对于提高 C 语言的编程技能、理解计算机原理。看书很重要,但训练更重要,看书和做题应该同时进行的才能快速提升编程水平,从而在实际项目中运用自如。

它在《C Primer Plus(第 6 版)中文版》的每章内容做了简单总结和梳理的基础上,对所有复习题和编程练习做了详细的解答。

人性化的是,书中的每一章节首先提供了思维导图,方便读者快速查询常用的知识点,然后简明扼要地概括和提炼了每章的难点和重点知识,它既可作为学习笔记,也可以作为知识点速查手册。

C语言进阶

如何学好c语言(自学c语言要多久) 第6张

C和指针

作者: 【美】Kenneth A.Reek

译者: 徐波

“不会用指针就不会 C 语言”,这是程序员间互相流传的信条,他们认为正是指针使得 C 语言如此之强大,所以想要掌握 C 语言的精髓,首先要精通指针!

那么要如何学好指针呢?推荐大家《C 和指针》这本书,作者是美国Rochester工业学院计算机系教授Kenneth A . Reek,他有着20年的C编程教学经验,他的Pointers on C更是获得ACCU的高度评价。

CSDN论坛大牛曾这样点评这本书:“是在职人员开发必不可少的参考书,经典中的经典“。

除此之外,作者在书中将各种指针用法都写出来了,甚至连一些堪称奇葩的指针用法也没有放过,以简洁准确的文字、配合贴切的图示来进行讲解,让广大读者对指针和数组有了更加深刻的认识,特别是多维数组、指针的指针、指向数组的指针和指针的数组的区这些平日里让人头疼的知识点。

而且,《C 和指针》还提供了与 C 语言编程相关的全面资源,通过对指针的基础知识和高级特性的探讨,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的 C 编程话题,并且给出了很多编程技巧和提示,加上每章后面有针对性很强的练习,帮助程序员把指针的强大功能融入到自己的程序中去。

ACCU主席Francis Glassborow曾说:“我竭尽全力地推荐这本我所见过的C编程入门图书。作者深知读者所需,并为他们打下良好基础。如果你已经开始学习C语言但始终不得要领,不妨试一试这本书。”

这本书非常适合 C 语言初学者和初级 C 程序员阅读,作为程序员,启蒙书很重要,但读完启蒙书后,强烈建议将这本书作为你第二本必读书。

如何学好c语言(自学c语言要多久) 第7张

C陷阱与缺陷

作者: 【美】Andrew Koenig

译者: 高巍

不管你是普通程序员还是 C 编程高手,在进行 C 编程过程中,都会从词法、语法、语义、链接、库、预处理器、可移植性等层次和方面遇到问题——编程过程中的陷阱和障碍。

那么要如何规避这些陷阱和障碍呢?

建议一定要读Andrew Koenig教授的《C 陷阱与缺陷》, 他是AT