起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。这本书被 C语言开发者们称为K&R,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为K&R C

K&R C主要介绍了以下特色:

结构体(struct)类型

长整数(long int)类型

无符号整数(unsigned int)类型

把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。

即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R C的标准。

1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。

1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。

1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3.159-1989 "Programming Language C"。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。

Which Version of C to Use?
At this point, anyone learning or using C should be working with ANSI C, not K&R C.

The language standard draft was finally adopted by ANSI in December 1989. The international standards organization ISO then adopted the ANSI C standard (unhappily removing the very useful "Rationale" section and making trivial—but very annoy-ing—formatting and paragraph numbering changes). ISO, as an international body, is technically the senior organization, so early in 1990 ANSI readopted ISO C (again exclud-ing the Rationale) back in place of its own version. In principle, therefore, we should say that the C standard adopted by ANSI is ISO C, and we should refer to the language as ISO C. The Rationale is a useful text that greatly helps in understanding the standard, and it's published as a separate document.

KR C与ANSI C相关推荐

  1. 【 C 】KR C 与 ANSI C的区别(KR C,ANSI C,C89,C90,C99)(C11)

    本文转载自:C–K&R C 与 ANSI C的区别 转载的原因在于后面我的C博文也需要这个区分. C语言由Dennis M. Ritchie在1973年设计和实现.从那以后使用者逐渐增加.到1 ...

  2. KR C、ANSI C、C89、C90、C95、C99 和 C11 的区别联系

    2018-01-01 创建人:Ruo_Xiao https://www.cnblogs.com/xfiver/p/4477954.html https://www.crifan.com/summary ...

  3. python提取字符串中的 中文 日文 韩文

    import imp imp.reload(sys)s=""" en: Regular expression is a powerful tool for manipul ...

  4. 《windows核心编程系列》二谈谈ANSI和Unicode字符集

    第二章:字符和字符串处理 使用vc编程时项目-->属性-->常规栏下我们可以设置项目字符集合,它可以是ANSI(多字节)字符集,也可以是unicode字符集.一般情况下说Unicode都是 ...

  5. Windows环境下Unicode编程总结和将ANSI转换到Unicode 将Unicode转换到ANSI

    Windows环境下Unicode编程总结 UNICODE环境设置 在安装Visual Studio时,在选择VC++时需要加入unicode选项,保证相关的库文件可以拷贝到system32下. UN ...

  6. C++中Ansi、Unicode、UTF8字符串之间的转换和写入

    转自: http://dark0729.blogbus.com/logs/51496111.html Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个\0结尾,常用于txt文本文件 Un ...

  7. 字符编码简介 ANSI Unicode Unicode big endian UTF-8

    1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和 1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte) ...

  8. 记事本里出现该文件含有Unicode格式的字符,当保存为ANSI编码的文本时,该字符将丢失。怎么解决?

    这是因为ANSI编码并不包括所有字符, 如果文档里有一些特殊符号或其他语言的文字时, 就有可能丢失,那就修改编码方式. 出现警告窗口时,点击"取消". 从菜单中选择"保存 ...

  9. 转巧用notepad++ 批量转换ansi 和 utf8

    原方出处:http://stackoverflow.com/questions/7256049/notepad-converting-ansi-encoded-file-to-utf-8 Here s ...

最新文章

  1. 深入Java虚拟机读书笔记[10:20]
  2. windows2012下一端口多网站 Apache配置
  3. 数据防泄漏(中文版)
  4. signature=89b7a6bcfac55abae5ac369dafee29f4,Capecitabine
  5. 服务器系统磁盘,服务器系统重装与磁盘阵列
  6. [性能] SAP销售订单取数逻辑优化---索引表
  7. PHP curl采集
  8. SAP 电商云 Spartacus UI 设置 Delivery Mode 的时序分析和一个竞争条件问题分享
  9. AE 模板 天使之城
  10. js学习笔记 chapter5 引用类型
  11. HDU2078 复习时间【水题】
  12. java ArrayList添加元素全部一样
  13. mysql必知必会样例表_《SQL必知必会》笔记1-样例表说明及建表语句
  14. QCA9377 QCA1023系列蓝牙WiFi二合一模块方案选型参考
  15. 哈尔·埃尔罗德《早起的奇迹》读书笔记
  16. 【Codeforces 364D】Ghd
  17. 什么是软件EV代码签名证书
  18. Win10+Ubuntu18.04 双系统安装遇到的问题记录
  19. 导入 xlsx php,php如何使用phpexcel类导入excel表格数据
  20. 微信的服务器 上海,微信团队:上海机房服务器发生故障 个人账号安全暂不受影响...

热门文章

  1. Secure CRT修改文件夹的颜色
  2. 【JDK源码分析】StringBuilder、StringBuilder、String、AbstractStringBuilder源码解析
  3. 机器学习经典算法具体解释及Python实现--K近邻(KNN)算法
  4. hdu-5703 Desert(水题)
  5. web页面制作-环游记(一)
  6. 将 PAGE_VERIFY 数据库选项设置为 CHECKSUM
  7. 根据标准word模板生成word文档类库(开源)
  8. for update 和 for update nowait
  9. 一个空间绑定多个域名实现自动跳转的几种方法!
  10. .net 中使用Javacript弹出提示窗口方法总结