《C程序设计语言(第2版·新版)》第0章 引言

  从这篇开始,按照我的理解,整理Kernigham和Ritchie的《C程序设计语言(第2版·新版)》。

0.1 C

  C很适合用来编写编译器和操作系统,被称作“系统编程语言”;BCPL语言-->B语言-->C语言;   

  数据类型:基本(字符,多种长度整型和浮点型);派生(指针,数组,结构,联合);表达式:运算符+操作数,总可以作为语句;指针:提供与具体机器无关的地址算术运算;

  控制流结构:语句组,条件判断(if-else),多路选择(switch),终止测试在顶部的循环(while, for),终止测试在底部的循环(do),提前跳出循环(break);

  函数:可返回基本、结构、联合、指针类型;总可递归调用;局部变量;函数、变量作用范围可改变;

  预处理:对程序文本进行宏替换、包含其他源文件、条件编译;

  C语言未提供直接处理复合对象(字符串,集合,列表、数组)的操作;除局部变量提供的静态定义和堆栈外未定义任何存储分配工具;未提供输入输出功能。所有这些高层机制必须由显式调用函数来提供。

  不完美之处:某些运算符优先级不正确;某些语法还可优化

0.2 ANSI C的变化

  语法变化:函数声明和定义(修改);结构赋值和枚举定义等(新增);禁止指针和整型交换值,要求变量正确声明和显式强制类型转换

  定义标准库:访问OS;格式化I/O;内存分配;字符串操作;标准头文件(访问函数声明或数据类型声明);

  提出可移植性,预设一个常量集合来描述机器特性;

0.3 本书结构

  第1章:C语言核心部分;

  2-6章:语言特性

  基本数据类型、运算符、表达式;

  控制流;

  函数和程序结构(包括外部变量、作用域规则和多源文件),以及预处理器;

  指针和地址运算;

  结构和联合;

  7:标准库,所有支持C的机器都支持它

  8:C与UNIX接口:I/O;文件系统;存储分配

  附录A:语言参考手册简洁版:给程序员看的,ANSI C是写编译器要看的

  附录B:标准库简洁版

  附录C:ANSI C与原始C的变更小结。标准和各个特定编译器是解释语言的最终权威。

原文地址:https://www.cnblogs.com/fFaXzz/p/4806952.html