C 语言简介

一.发展

C语言是一种强大的专业化编程语言, C语言的原型是A语言(ALGOL 60语言)。

1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。 

1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,于是产生了BCPL语言。 

1969年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,提炼出它的精华,并为它起了一个有趣的名字“B语言”。并且他用B语言写了第一个UNIX操作系统。 



而在1973年,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。 

 

不管 C++ 和 Java 还是其他较新的语言如何流行,C 在软件产业中仍然是一种重要的技能,C语言也一直位列主流编程语言的前三甲!特别是在嵌入式系统的编程中,C 一直占据主导地位。它是一种适合用来开发操作系统的语言,C 在windows以及 Linux的开发中扮演着重要的角色。C不仅是人类和计算机沟通的一种编程语言,更多的代表了一种思想、一种哲学!

C语言强大的移植性(Portability)在此显现。机器语言和汇编语言都不具有移植性,为x86开发的程序,不可能在Alpha,SPARCARM等机器上运行。而C语言程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译连接成目标二进制文件之后即可运行。

C语言继续发展,在1982年,很多有识之士和美国国家标准协会为了使这个语言健康地发展下去,决定成立C标准委员会,建立C语言的标准。委员会由硬件厂商,编译器及其他软件工具生产商,软件设计师,顾问,学术界人士,C语言作者和应用程序员组成。1989年,ANSI发布了第一个完整的C语言标准——ANSI X3.159—1989,简称“C89”,不过人们也习惯称其为“ANSI C”。C89在1990年被国际标准组织ISO(International Organization for Standardization)一字不改地采纳,ISO官方给予的名称为:ISO/IEC 9899,所以ISO/IEC9899: 1990也通常被简称为“C90”。1999年,在做了一些必要的修正和完善后,ISO发布了新的C语言标准,命名为ISO/IEC 9899:1999,简称“C99”。

 

二.特点

高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元;

结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化;

代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件操作的场合,优于其它高级语言;

C语言里面有两个核心知识,一个是函数,另一个是指针。这两个知识点是整个C语言的主体和核心

可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。

 

.编译器

高级语言提高了开发效率和方便阅读。从高级语言到低级语言需要有编译器做翻译(举个简单的例子如,一个不懂英语的中国人去到一个讲英语的国家,他需要一个懂英语和中文的人来做翻译,编译器的作用就是把高级语言翻译成机器能看懂的二进制信息)。

对C语言编写的代码常用的编译器有:

1.Windows平台下有Visual C++6.0(是微软的集成开发工具)

2.MinGW使用命令行进行编译的编译器,非常好用

3.Linux平台下gcc,是由 GNU 开发的编程语言编译器

4.Mac平台下可以使用Xcode进行C语言的开发。

 

四.总结

深入学习C语言对于理解计算机结构、内存分布是非常有帮助的,对其后的C++、Java 学习无不是强有力的基础。

《C primer plus》、《C和指针》、《C陷井与缺陷》、《C专家编程》 这些都是笔者曾经喜欢的经典书籍,非常经典

 

汇编语言·王爽》

 

记得笔者上学时自学的第一本汇编语言就是《汇编语言·王爽》,当时在windows 平台上使用DOSBox 学习,对笔者受益良多。

 

《深入理解计算机系统》

对理解计算机体系架构描述非常到位,使用汇编和C 语言对计算机做相关描述

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值