【社区图书馆】伴我前行的一本书《The C Programming Language》

C语言编程圣经-《The C Programming Language》

对于程序员来说,如果要评出我心目中的编程盛典书籍的话,《The C Programming Language》绝对是当之无愧。

C语言的影响力

C语言本身的魅力就毋庸置疑。C语言几乎可以胜任任何领域的工作,其广泛程度令其它语言望尘莫及。虽然java号称宇宙编程语言,但是,java的底层虚拟机的实现,几乎就是C/C++来编写的。

从技术上来讲,c语言是承上启下的,作为面向过程的编程语言,下起汇编,上承C++/Java等面向对象的编程语言。

《The C Programming Language》特点

《The C Programming Language》一书的作者就是C语言本身的缔造者,Dennis M. Ritchie和Brian W. Kernighan合著编写的。是C语言学习的最经典教材,被称为C语言编程圣经,著名的"Hello World"就是出自该书。后拉的书籍编写者,为了显示尊敬,往往将第一个程序功能设计为显示“Hello World”,可见,这本书在程序设计语言者心中的地位。

该书的语言简练,直击要点,不会过多地深入讲解每个知识点,没有一丝拖沓,不像其它书籍那样废话连篇。如果你学习了谭浩强的C语言编程语言课,再来读这本《The C Programming Language》,绝对有中醍醐灌顶之感,心中的很多不理解的地方会瞬间被解决。

本书除了介绍了C语言的基本知识点,包括基础语法、函数、指针、数组、结构体等方面的内容。最大的特点是示例非常详细,而且能够说明每一个知识点。

给我留下印象最深的语法包括:

printf函数的实现,“…”的作用;
指针函数和函数指针;

伴我左右

记得在最初工作的时候,公司要求人手一本《The C Programming Language》。对于后来在Linux编程,Android framework编程等工作,都有莫大的帮助。

现在,在互联网,移动互联网时代,满大街的Java开发者,似乎C语言被Java的风头盖过。但是,底层的业务,几乎是C/C++垄断的。在接下来的万物互联,人工智能时代,C/C++会依然会大放异彩。

那些在Android系统开发App的程序员,如果感觉到职业危机,从技术上可以向下,像底层探索,跨过程序员35岁的职业危机。

致伴我数年的《The C Programming Language》!
致敬Dennis M. Ritchie和Brian W. Kernighan!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
The C programming Language By Brian W. Kernighan and Dennis M. Ritchie. Published by Prentice-Hall in 1988 ISBN 0-13-110362-8 (paperback) ISBN 0-13-110370-9 目录结构: Contents Preface Preface to the first edition Introduction Chapter 1: A Tutorial Introduction Getting Started Variables and Arithmetic Expressions The for statement Symbolic Constants Character Input and Output File Copying Character Counting Line Counting Word Counting Arrays Functions Arguments - Call by Value Character Arrays External Variables and Scope Chapter 2: Types, Operators and Expressions Variable Names Data Types and Sizes Constants Declarations Arithmetic Operators Relational and Logical Operators Type Conversions Increment and Decrement Operators Bitwise Operators Assignment Operators and Expressions Conditional Expressions Precedence and Order of Evaluation Chapter 3: Control Flow Statements and Blocks If-Else Else-If Switch Loops - While and For Loops - Do-While Break and Continue Goto and labels Chapter 4: Functions and Program Structure Basics of Functions Functions Returning Non-integers External Variables Scope Rules Header Files Static Variables Register Variables Block Structure Initialization Recursion The C Preprocessor File Inclusion Macro Substitution Conditional Inclusion Chapter 5: Pointers and Arrays Pointers and Addresses Pointers and Function Arguments Pointers and Arrays Address Arithmetic Character Pointers and Functions Pointer Arrays; Pointers to Pointers Multi-dimensional Arrays Initialization of Pointer Arrays Pointers vs. Multi-dimensional Arrays Command-line Arguments Pointers to Functions Complicated Declarations Chapter 6: Structures Basics of Structures Structures and Functions Arrays of Structures Pointers to Structures Self-referential Structures Table Lookup Typedef Unions Bit-fields Chapter 7: Input and Output Standard Input and Output Formatted Output - printf Variable-length Argument Lists Formatted Input - Scanf File Access Error Handling - Stderr and Exit Line Input and Output Miscellaneous Functions String Operations Character Class Testing and Conversion Ungetc Command Execution Storage Management Mathematical Functions Random Number generation Chapter 8: The UNIX System Interface File Descriptors Low Level I/O - Read and Write Open, Creat, Close, Unlink Random Access - Lseek Example - An implementation of Fopen and Getc Example - Listing Directories Example - A Storage Allocator Appendix A: Reference Manual Introduction Lexical Conventions Syntax Notation Meaning of Identifiers Objects and Lvalues Conversions Expressions Declarations Statements External Declarations Scope and Linkage Preprocessor Grammar Appendix B: Standard Library Input and Output: <stdio.h> File Operations Formatted Output Formatted Input Character Input and Output Functions Direct Input and Output Functions File Positioning Functions Error Functions Character Class Tests: <ctype.h> String Functions: <string.h> Mathematical Functions: <math.h> Utility Functions: <stdlib.h> Diagnostics: <assert.h> Variable Argument Lists: <stdarg.h> Non-local Jumps: <setjmp.h> Signals: <signal.h> Date and Time Functions: <time.h> Implementation-defined Limits: <limits.h> and <float.h> Appendix C: Summary of Changes

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值