用C语言开始编写代码
初级:C语言入门必备
(以下两本书任选一本即可)

C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能。对c语言的数据类型、控制流结构、函数、指针等能够有较深入的理解。当然本阶段最重要的是通过大量编写代码实践,培养夯实的编码能力。

建议:如果此刻你还不知道Linux系统或没使用过Linux系统,那么从现在开始使用Linux吧,对于开发者来说,掌握基本的Linux操作、Linux的设计理念,无论从企业招聘需求还是对于学习C语言,都将让你受益匪浅。
c语言入门 Linux学习视频

《C语言程序设计》

作   者:[美]Brian W.Kernighan,[美]Dennis M.Ritchie 著
出 版 社:机械工业出版社

在计算机发展史上,没有哪一种程序设计语言像C语言这样应用的如此广泛。本书原著即为C语言的设计者之一Dennis
M.Ritchie和著名的计算机科学家Brian
W.Kernighan合著的一本介绍C语言的权威经典著作。目前大量论述c语言程序设计的教材和专著均以此书为蓝本。原著第一版中介绍的C语言成为后来
广泛使用的c语言版本——标准C的基础(K&R标准)。人们熟知的“Hello World”程序就是由本书首次引入的。


《C Primer Plus》

作   者:[美]Stephen Prata 著
出 版 社:人民邮电出版社

作者把编程概念和c语言的细节很好地融合在一起。通过大量短小精悍的范例演示一两个概念,为读者提供了很好的练习机会,有助于读者迅速掌握所讲的知识。
《C Primer
Plus(第五版)中文》专门针对C语言的最新标准C99而作,覆盖了这个新标准所引入的所有重要的新特性,包括扩展的整数类型、变长数组、内敛函数等


编写高效的C代码
中级:C语言与数据结构

在巨大的数据面前如何以最快的速度返回需要的数值,或许是初学者对本部分最
常见的理解。在Linux系统中,目录是是”/”根节点为源头的树桩结构,Linux内核中的源代码也大量充斥着数据结构的知识。对于程序员来说,本部分
可以对算法不做深入了解,但必须掌握的是这些常见数据结构及算法的使用,如链表,二叉树以及最常用的排序方法等。


《数据结构与算法分析——c语言描述》

作   者:[美]Mark Allen Weiss 著
出 版 社:机械工业出版社

本书是《Data Structures and Algorithm Analysis in
C》一书第二版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen
Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛的好评,已被世界500余所大学用作教材。


掌握C库函数,具备编写网络程序及系统函数的能力
高级:系统的程序设计接口

在巨大的数据面前如何以最快的速度返回需要的数值,或许是初学者对本部分最
常见的理解。在Linux系统中,目录是是”/”根节点为源头的树桩结构,Linux内核中的源代码也大量充斥着数据结构的知识。对于程序员来说,本部分
可以对算法不做深入了解,但必须掌握的是这些常见数据结构及算法的使用,如链表,二叉树以及最常用的排序方法等。


《深入理解计算机系统》

作   者:[美]Randal E.Bryant [美]David O'Hallaron著
出 版 社:中国电力出版社

从程序员的视角,看计算机系统!
本书适用于那些想要写出更快、更可靠程序的程序员。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好的理解程序的行为为什么是这样
的,以及效率低下是如何造成的。粗略来看,计算机系统包括处理器和存储器硬件、编译器、操作系统和网络互连环境。而通过程序员的视角,读者可以清晰地明白
学习计算机系统的内部工作原理会对他们今后作为计算机科学研究者和工程师的工作有进一步的帮助。它还有助于为进一步学习计算机体系结构、操作系统、编译器
和网络互连做好准备。
 

《Unix网络编程 卷1:套接字联网API》

作   者:[美]W.Richard Stevens [美]Bill Fenner [美]Andrew M.Rudoff 著
出 版 社:人民邮电业出版社

顶级网络编程专家Bill Fenner和Andrew M.Rudoff应邀执笔,对W.Richard
Stevens的经典作品进行修改。本书面向的读者是那些希望自己编写的程序能够使用称为套接字(socket)的API进行彼此通信的人。本书达到的目
标是向大家提供网络编程指导。这些内容不仅适用于专业人士,也适用于初学者。不仅适用于维护已有代码,也适用于开发新的网络应用程序;此为,还适用于那些
只是想了解一下自己系统中网络组件的工作原理的人。

《Unix环境高级编程》

作   者:[美]W.Richard Stevens [美]Stephen A.Rago 著
出 版 社:人民邮电出版社

十多年来,无数程序员都依靠一本书深入理解驱动Unix和Linux内核的编程接口的实用知识,这本书就是已故的W.Richard
Stevens所著。W.Richard
Stevens是备受赞誉的技术作家,生前著有多种经典的传世之作,包括《Unix网络编程》(两卷)、《TCP/IP详解》(三卷本)和本书

《TCP/IP详解 卷1:协议》

作   者:[美]W.Richard Stevens 著
出 版 社:机械工业出版社

完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence
Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议
如何工作。


辅助读物

《GNU Make》

作   者:[美]Robert Mecklenburg 著
出 版 社:东南大学出版社

尽管出现了许多新兴的竞争者为何make仍旧是开发项目中编译软件的道选工具。本书主要探索GNu make所提供的强大扩充功能。GNu
make之所以广受欢迎是因为它是一个自由软件,并且几乎可以在包括微软Windows(作为Cygwin)的每个平台上使用。

《C专家编程》

作   者:[美]Peter Van Der Linden 著
出 版 社:人民邮电出版社

本书可以帮助有一定经验的C程序员成为C编程方面的专家,对于具备相当的C语言基础的程序员,本书可以帮助他们在C的高度了解和学习C++

《C陷阱与缺陷》

作   者:[美]Andrew Kocnig 著
出 版 社:机械工业出版社

AndrewKoenig自己在Bell实验室时发表的论文为基础,结合自己的工作经验扩展成这本对C程序员具有珍贵价值的经典著作。写作《C陷阱与缺陷》的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。
《C陷阱与缺陷》所揭示的知识,至少能够帮助你减少C代码和初级C++代码中90%的Bug。
——Francis Glassborow,ACCU主席

《C和指针》

作   者:[美]Kenneth A.Reek 著
出 版 社:人民邮电出版社

本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。全书共18章,覆盖了数据、语句、操作符和表达式、指针、
函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。 本书适合C语言初学者和初级c程序员阅读,也可作为计算机专业学生学习C语言的参考。

【转】c语言入门教程 / c语言入门经典书籍的更多相关文章

  1. c语言入门教程 / c语言入门经典书籍

    用C语言开始编写代码初级:C语言入门必备(以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言的数 ...

  2. Mac OS 10.15系统入门教程 系统语言输入法详解

    对于一些Mac新手来说呢还不知道偏好设置到底是什么?有什么用处?其实Mac系统内的几乎所有的系统相关的设置都会在系统偏好设置内出现. 切换系统语⾔在语言与地区设置中拖拽左侧的语言条目就可以切换系统的语 ...

  3. JavaScript 入门教程四 语言基础【3】

    一.数据类型介绍: String 1.是使用 Unicode 字符组成的字符序列.所以可以容纳各种语言. 2.字符串可以使用双引号(“”)或者单引号('')表示,但必须成对出现. 3.转移序列使用 \ ...

  4. JavaScript 入门教程三 语言基础【1】

     一.基本介绍 1.JavaScript 是一种区分大小写的语言.(var Hello 与 var hello 是不同的变量) 2.JavaScript 中标志符就是指变量.函数.属性的名字,或者函数 ...

  5. Java入门教程二(语言基础)

    常量与变量 常量值又称为字面常量,它是通过数据直接表示 常量 实型常量值 Java 的实型常量值主要有如下两种形式 十进制数形式:由数字和小数点组成,且必须有小数点,如 12.34.-98.0 科学记 ...

  6. JavaScript 入门教程四 语言基础【2】

    一.数据类型介绍: undefined null NaN 1.判断当前变量是否为 undefined: if (i === undefined) 或者 if (typeof (i) === " ...

  7. 前端组件化Polymer入门教程(3)——快速入门

    本系列主要翻译官方的教程,因为国内目前这方面的资料太少了,但也不一定和官网的一样,反正就是自己想到哪就写到哪. 如果我没有说明,默认情况下index.html始终包含这段代码,后面将不会再贴上来. & ...

  8. Netty学习_Netty框架入门教程:Netty入门之HelloWorld实现

    我们可能都学过Socket通信/io/nio/aio等的编程.如果想把Socket真正的用于实际工作中去,那么还需要不断的完善.扩展和优化.比如很经典的Tcp读包写包问题,或者是数据接收的大小,实际的 ...

  9. 学习maven的使用,看到一篇很实用的入门教程(菜鸟级入门)

    一.前言         早就知道maven 在java 项目的管理方面名声显赫,于是就想着学习掌握之,于是查阅了大量文档.发现这些文档的作者都是java 的大腕,大多都是站在掌握了一定maven 基 ...

随机推荐

  1. 分布式文件系统FastDFS设计原理

    原文地址: http://blog.chinaunix.net/uid-20196318-id-4058561.html FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker ...

  2. Android Studio 错误 Duplicate files copied in APK META-INF/LICENSE.txt

    1 .Duplicate files copied in APK META-INF/LICENSE.txt   android { packagingOptions { exclude 'META-I ...

  3. Animated Scroll to Top

    Due to a number of requests, I'm writing a detail tutorial on how to create an animated scroll to to ...

  4. Codeforces Gym 100531G Grave 水题

    Problem G. Grave 题目连接: http://codeforces.com/gym/100531/attachments Description Gerard develops a Ha ...

  5. [转]O(n)回文子串算法 Manacher算法

    这里,我介绍一下O(n)回文串处理的一种方法.Manacher算法.原文地址:http://zhuhongcheng.wordpress.com/2009/08/02/a-simple-linear- ...

  6. C#基本线程同步

    0 概述 所谓同步,就是给多个线程规定一个执行的顺序(或称为时序),要求某个线程先执行完一段代码后,另一个线程才能开始执行. 第一种情况:多个线程访问同一个变量: 1. 一个线程写,其它线程读:这种情 ...

  7. Java并发学习之十九——线程同步工具之Phaser

    本文是学习网络上的文章时的总结.感谢大家无私的分享. JDK 1.7 加入了一个新的工具Phaser.Phaser的在功能上与CountDownLatch有部分重合. 以下使用Phaser类来同步3个 ...

  8. [终极精简版][图解]Nginx搭建flv mp4流媒体服务器

    花了我接近3周,历经了重重问题,今日终于把流媒体服务器搞定,赶紧的写个博文以免忘记... 起初是跟着网上的一些教程来的,但是说的很不全面,一些东西也过时不用了(比如jwplayer老版本).我这次是用 ...

  9. webView用法小结

    1.加入权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错 ...

  10. 源码分析:静态分析 C 程序函数调用关系图

    http://www.tinylab.org/callgraph-draw-the-calltree-of-c-functions/