首页  

C程序设计语言笔记_00_序及引言     所属分类 c 浏览量 79
C语言最早由 Dennis Ritchie 于1973年设计并实现
其初衷是作为UNIX系统的编程语言
《The C Programming Language》 1978年出版第一版
C圣经

1983年,美国国家标准协会(ANSI)成立 委员会
其目标是制定 一个无歧义性的且与具体机器无关的以语言定义
同时保持C语言原有的"精神",产生了C语言的ANSI标准

C语言是一种通用的语言,它同UNIX系统之间具有非常密切的联系
C语言是在UNIX系统上是开发的,
并且无论是UNIX还是其上运行的大部分程序,都是用C语言编写的
C语言并不受限于任何一种操作系统或机器 
适合用来编写编译器和操作系统,因此被称为"系统编程语言"
但它同样适合于编写不同领域中的大多数程序 

C语言的很多重要概念来源于BCPL语言 ,BCPL对C语言的影响间接地来自B语言

BCPL 和 B 语言都是无类型语言
C语言提供了很多数据类型
基本类型包括字符、具有多种长度的整形和浮点数等
另外通用指针、数组、结构和联合派生的各种数据类型

函数可以返回基本类型、结构、联合或指针类型 
任何函数都可以递归调用
局部变量通常是”自动的“,即在每次函数调用时重新创建

变量可以只在函数内部有效
也可以在函数外部但仅在一个源文件中有效
还可以在整个程序中都有效

编译的预处理阶段将对程序文本进行宏替换、包含其他源文件以及进行条件编译

C语言是一种相对”低级“的语言
C语言可以处理大部分计算机能够处理的对象,比如字符、数字和地址
这些对象可以通过具体机器实现的算术运算符和逻辑运算符组合在一起并移动


C语言不提供直接处理如字符串、集合、列表或数组等复合对象的操作

虽然可以将整个结构作为一个单元进行拷贝,但C语言没有处理整个数组或字符串的操作。

除了由函数的局部变量提供的静态定义和堆栈外,C语言没有定义任何存储器分配工具,也不提供堆和无用内存回收工具。

C语言本身没有提供输入输出功能,没有read和write语句 ,也没有内置的文件访问方法。

所有这些高层的机制必须由显式调用的函数提供
C语言的大部分实现已合理的包含了这些函数的标准集合

C语言只提供简单的单线程控制流
不提供多道程序设计、并行操作、同步和协同例程

ANSI中定义了一个函数库  
访问操作系统、格式化输入输出、内存分配和字符串操作等类似的很多函数
该标准还定义了一系列的标准头文件,为访问函数声明和数据类型声明提供了统一的方法
这就确保了使用这个函数库与宿主系统进行交互的程序之间具有兼容的行为

上一篇     下一篇
GO各版本新特性

SQLite 为何一直坚持用 C 语言

go程序设计语言01_02入门之命令行参数

Go by Example

Python3 in 1 Hour

C By Example