C 语言概述
第一章 C语言概述
不要讨论为什么要学习C语言的问题,C语言自有它自己独特的气息!
一、C语言的历史
C语言是1972年至1973年间,在美国的贝尔实验室( Bell Laboratories )由Dennis M. Ritchie一个人开发出来的一种相对比较新的程序设计语言。
1960年,出现的ALGOL 60 (也称 A 语言)是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序。
1963年,英国剑桥大学推出CPL语言。CPL语言在ALGOL 60的基础上更接近硬件一些,但规模比较大,难以实现。
1967年,英国剑桥大学的Martin Richards对CPL语言做了简化,推出了BCPL ( Basic Combined Programming Language )语言。
1970年,美国贝尔实验室的Ken Thompson以BCPL语言为基础,又做了进一步简化,设计出了很简单的而且很接近硬件的B语言(取BCPL的第一个字母 ),B语言的主要思想源于BCPL语言,并且B语言写了早期的UNIX操作系统,在PDP-7机器上实现。
在谈论C语言的时候,一定要谈论UNIX操作系统。UNIX操作系统是在1969年由Ken Thompson和Dennis M. Ritchie两人在贝尔实验室里开发成功的,最初是用汇编语言写的。( UNIX操作系统的概述会另行附录。 )
BCPL语言和B语言过于简单,数据无类型,每个数据项在内在中占据一个“字”的空间,因此,为变量指定类型的重担就落到了程序编写人员的肩上。
这样就促使了C语言的产生。C语言使用了BCPL语言和B语言的很多重要概念,同时也添加了数据类型和其他的强大功能。最初的C语言是作为UNIX操作系统的开发语言才被人们关注的。
后来,对C语言多次做了改进,但主要还是在贝尔实验室内部使用。1973年,Ken Thompson和Dennis M. Ritchie两人合作将UNIX操作系统用C语言重新改写( UNIX第5版 )。系统的90%以上是用C语言完成的,加进了多道程序设计功能,代码量比以前的版本大了三分之一,整个系统( 包括C编译程序本身 )建立在C语言的基础上,而C语言又具有良好的可移植性。UNIX第5版奠定了UNIX操作系统的基础。1975年,公布了UNIX第6版。1997年出现了不依赖具体机器的C语言编译文本《可移植C语言编译程序》。1978年以后,C语言已先后移植到大、中、小、微型机上,已经独立于UNIX和PDP了。现在C语言已风靡全球,成为世界上应用最广泛的几种计算机语言之一。事实上所有新的主流操作系统的内核程序都是用C语言实现的。C语言可以应用于多数计算机上,它不依赖机器硬件,通过仔细设计,程序编写者
相关文档:
#include <list.h>
#include <dirent.h>
#include <iostream.h>
#include <sys/stat.h>
#include <sys/types.h>
/*****************************************************************
*函数功能: 目_录_遍_历.
*返回值: 成功返回0,失败返回非0.
*参数 path ......
/***************************************************
* 函数说明: 判断当前path参数是否为一个可读的文件
* 函数返回: 0 - 文件刻度 1 - 权限拒绝 -1 -函数错误
* 参 数 : path 文件路径.
***************************************************/
int isReadFile(const char *path)
{
&nb ......
http://blog.csdn.net/hwz119/archive/2007/05/25/1625218.aspx
您是否做过这样一个项目,它要求您在内存中保存数目不定的若干不同对象?对于某些情况,二叉树是最佳选择,但在通常情况下,更简单的链表是显而易见的选择。
一个简化的问题示例
链表的难点在于必须复制链表处理函数来处理不同的对象 ......
import sun.misc.Signal;
import sun.misc.SignalHandler;
/***
* java信号处理demo
* @author jiang_qh
*
*/
public class SignalHandlerExample implements SignalHandler{
private SignalHandler oldHandler;
public void handle(Signal signal) {
System.out.println("Signal handler called for signal " ......
/* find files from wildcards, for MicroSoft C v4.0 */
/* ------------------------------------------------------------ */
/* copyright 1986: */
/* Nourse Gregg & Browne, Inc. */
/* 1 Horizon Road. #612 ......