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语言可以应用于多数计算机上,它不依赖机器硬件,通过仔细设计,程序编写者
相关文档:
在Windows 2000/XP中,"Documents and Settings"是一个特殊文件夹。用户配置文件、桌面。甚至连密钥信息都保存在这里面。如果硬盘空间不够,想把它们换个地方。但这些东西却很难移动。我们的问题是:如何在保证系统正常运行的情况下,将"Documents and Settings"文件夹移动到另外一个分区?
......
1.求下面函数的返回值(微软)
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
}
return countx;
}
假定x = 9999。 答案:8
思路:将x转化为2进制,看含有的1的个数。
2. 什么是“引用”?申明和使用“引用”要注意哪些问题?
答:引用就是某个目标变量的&ldquo ......
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 " ......
C 的开始
2010年2月10日,
开始阅读家里有关"C语言"的各种资料。
使用 TurboC2.0,偶尔可能也会用到 Microsoft Visual C++ 6.0。 ......