《自学C语言》第一章:C语言简介

  这一章主要介绍什么是C语言,以及它的产生、发展历史。如其中所说的计算机术语有不懂的请百度,例如什么是强类型,什么是高级语言。

1.C语言是什么?

  答:C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。它是一种强类型的高级语言,几乎能做任何你想要做的事情。

  既然它是强类型的语言,那肯定还有弱类型的语言咯?当然,强类型的语言还有很多,如C、C++、Fortran、Java;弱类型的语言有Python、Lua、Javascript、Ruby。

2.我为什么要学习C语言,以后C会不会过时?

  答:初学者最好以C语言入门,因为它简单、方便,最重要的一个原因则是目前C语言的使用范围和使用频率都是最大的,因此C语言不会在过去5年内过时。其它的语言的语法也几乎是从C语言的语法中衍生出来的,如Java,Go,因此若是你的学习目的不是C,笔者最好还是建议你先学习C语言。

3.C语言的产生和发展历史。

  C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。

  1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。

  20世纪60年代,美国AT&T公司贝尔实验室(AT&T Bell Laboratory)的研究员Ken Thompson闲来无事,手痒难耐,想玩一个他自己编的,模拟在太阳系航行的电子游戏——Space Travel。他背着老板,找到了台空闲的机器——PDP-7。但这台机器没有操作系统,而游戏必须使用操作系统的一些功能,于是他着手为PDP-7开发操作系统。后来,这个操作系统被命名为——UNIX

  1970年,美国贝尔实验室的 Ken Thompson,以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母)。并且他用B语言写了第一个UNIX操作系统。

  1971年,同样酷爱Space Travel的Dennis M.Ritchie为了能早点儿玩上游戏,加入了Thompson的开发项目,合作开发UNIX。他的主要工作是改造B语言,使其更成熟。

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

  1973年初,C语言的主体完成。Thompson和Ritchie迫不及待地开始用它完全重写了UNIX。此时,编程的乐趣使他们已经完全忘记了那个"Space Travel",一门心思地投入到了UNIX和C语言的开发中。随着UNIX的发展,C语言自身也在不断地完善。直到今天,各种版本的UNIX内核和周边工具仍然使用C语言作为最主要的开发语言,其中还有不少继承Thompson和Ritchie之手的代码。

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

  1977年,Dennis M.Ritchie发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。[3]

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”。

  在2011年12月8日,ISO又正式发布了新的标准,称为ISO/IEC9899: 2011,简称为“C11”。

        

          在了解了C语言后,现在就让我们学习下一章:编写第一个程序和计算机术语

……

时间: 2024-10-26 23:11:28

《自学C语言》第一章:C语言简介的相关文章

C语言 第一章 C语言简介

目录 一.C语言介绍 二.C语言特点 三.Hello World 四.转义符 五.占位符 六.俄罗斯方块游戏 七.文件下载 一.C语言介绍 C是一种通用的编程语言,广泛用于系统软件与应用软件的开发.于1969年至1973年间,为了移植与开发UNIX操作系统,由丹尼斯·里奇与肯·汤普逊,以B语言为基础,在贝尔实验室设计.开发出来.C语言具有高效.灵活.功能丰富.表达力强和较高的可移植性等特点,在程序员中备受青睐,成为最近25年使用最为广泛的编程语言[2].目前,C语言编译器普遍存在于各种不同的操作

c程序设计语言第一章2

练习1.13编写一个程序,打印输入中单词长度的直方图.水平方向的直方图比较容易绘制,垂直方向的直方图则要困难些 1 #include <stdio.h> 2 #include <stdlib.h> 3 #define MAXHIST 15//定义直方图的最大值 4 #define MAXWORD 11//定义单词的最大字符数 5 #define IN 1 6 #define OUT 0 7 int main() 8 { 9 int nc;//单词所含的字符数 10 int maxv

c程序设计语言第一章5

练习1.20请编写程序d e t a b??将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止的地方.假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止位 1 #include <stdio.h> 2 #include <stdlib.h> 3 #define TABBLANK 8//tab 增加的尺寸 4 int main() 5 { 6 int c; 7 int nb=0;//记录空格数目 8 int pos=1;//记录当前所在位置 9 whi

第一章. ActionScript 语言基础

第一章. ActionScript 语言基础 1.0. ActionScript 3.0 Cookbook 概述 1.1. 新建一个 ActionScript project 1.2. 自己定义应用程序属性 1.3. 在哪里写ActionScript 代码呢 1.4. 怎样跟踪信息 1.5. 处理事件 1.6. 响应鼠标和键盘事件 1.7. 算术运算 1.8. 逻辑运算 1.9. 运行条件语句 1.10. 运行复杂的条件语句 1.11. 某段时间反复运行一种操作 1.12. 长时间运行一个任务

Linux内核分析——第一章 Linux内核简介

第一章   Linux内核简介 一.Unix的历史 1.Unix系统成为一个强大.健壮和稳定的操作系统的根本原因: (1)简洁 (2)在Unix中,很多东西都被当做文件对待.这种抽象使对数据和对设备的操作都是通过一套相同的系统调用借口来进行的:open(),read(),write(),lseek()和close(). (3)Unix的内核和相关的系统工具软件是用C语言编写而成.(移植能力) (4)进程创建非常迅速,并且有一个非常独特的fork()系统调用. (5)Unix提供了一套非常简单但又

第一章 Web MVC简介 —— SpringMVC

第一章 Web MVC简介 -- SpringMVC Web MVC简介 1.1.Web开发中的请求-响应模型: 在Web世界里,具体步骤如下: 1.  Web浏览器(如IE)发起请求,如访问http://sishuok.com 2.  Web服务器(如Tomcat)接收请求,处理请求(比如用户新增,则将把用户保存一下),最后产生响应(一般为html). 3.web服务器处理完成后,返回内容给web客户端(一般就是我们的浏览器),客户端对接收的内容进行处理(如web浏览器将会对接收到的html内

OSGi原理与最佳实践:第一章 OSGi框架简介(2)

OSGi原理与最佳实践:第一章 OSGi框架简介(2) 由  ValRay 发布 已被浏览4884次 共有3条评论 已被3个人收藏 2013-08-16 21:23 顶(0) 踩(0) osgi原理与最佳实践 1.1.4 开发传统类型的应用 1.1.4.1 B/S 我们首先来看一下,如何基于 OSGi 来开发 B/S 结构的应用.B/S 结构应用程序的开发,可有两个选择:一个是在 OSGi 的框架中嵌入 Http 服务器,另外一个是在 Servlet 容器中嵌入 OSGi 框架.下面分别介绍这两

OSGi原理与最佳实践:第一章 OSGi框架简介(5)Spring-DM

OSGi原理与最佳实践:第一章 OSGi框架简介(5)Spring-DM 由  ValRay 发布 已被浏览8409次 共有3条评论 已被2个人收藏 2013-08-16 21:29 顶(1) 踩(0) osgi原理与最佳实践 1.3 Spring-DM 1.3.1 简介 Spring-DM 指的是 Spring Dynamic Modules.Spring-DM 的主要目的是能够方便地将 Spring 框架 和OSGi框架结合在一起,使得使用Spring的应用程序可以方便简单地部署在OSGi环

第一章:Druid简介

声明 公司的项目中用到了Druid(不是阿里的连接池),由于网上没有中文的文档,所以只好阅读官方文档.本人第一次阅读英文的文档,非常吃力,借助翻译工具和自己的理解阅读了Durid的官方文档.可能有很多地方有错误,或者不准确.请见谅.   Druid 是一个大数据的实施查询的工具,类似于数据库,号称可以1s内在6TB的数据中查询出数据. 第一章:Druid简介,布布扣,bubuko.com

第一章、MySQL简介及安装

目录 第一章.MySQL简介及安装 DBA工作内容 DBA的职业素养 MySQL简介及安装 01 什么是数据? 02 什么是数据库管理系统 03 数据库管理系统种类 关系型数据库(RDMS)与非关系型数据库(NoSQL)对比 04 MySQL发展史 05 MySQL正在推动世界 06 MySQL简介及产品线 06 MySQL安装 源码安装MySQL 二进制安装MySQL 第一章.MySQL简介及安装 DBA工作内容 DBA的职业素养 MySQL简介及安装 01 什么是数据? 数据(data)是事