C语言历史与ANSI C标准
需积分: 9 92 浏览量
更新于2024-08-19
收藏 5.65MB PPT 举报
"C语言谭浩强第三版PPT课件"
C语言是一种广泛使用的高级编程语言,起源于20世纪70年代的贝尔实验室。它由D.M.Ritchie在B语言的基础上创建,最初用于改进UNIX操作系统的源代码。B语言虽然简洁且接近硬件,但在数据类型方面存在不足。C语言的出现弥补了这些缺点,提供了更丰富的数据类型和控制结构,使得程序更加灵活和强大。
随着C语言的发展,1978年,Brian W. Kernighan和Dennis M. Ritchie共同撰写的《The C Programming Language》一书,成为了C语言的经典教材,也被称作K&R( Kernighan & Ritchie)书籍。这本书的出版极大地推动了C语言的普及,使其在多种计算机平台上得到了广泛应用,不再局限于UNIX系统。
在1983年,美国国家标准化协会(ANSI)制定了一套新的标准,即ANSI C,它对C语言进行了扩展和完善。随后,这个标准被国际标准化组织(ISO)采纳为ISO 9899:1990,也就是我们常说的C89或C90标准。这个标准后来又经过了几次修订,如C99、C11等,以适应不断发展的软件需求和技术进步。
在学习C语言时,应注意不同编译器可能对语言的实现存在细微差异。例如,书中提到的谭浩强第三版PPT课件中,提到了字符数组的使用。字符数组是C语言中存储字符串的一种方式。在定义一个字符数组,如`char c[]={"Pascal program"};`后,如果想要用新的字符串,如"Hello"来替换原有的字符串,直接从键盘输入"Hello"而不添加终止符`\0`,会导致字符数组存储的内容超出原来的边界,变成"Hellol program"。这是因为C语言中的字符串是由连续的字符和一个终止符`\0`组成,没有`\0`,程序会继续读取内存中的后续字符,直到遇到`\0`为止。
因此,在向字符数组输入字符串时,确保在输入结束时添加终止符`\0`至关重要,这可以防止意外访问内存中的非字符串数据。在实际编程中,使用`scanf`函数或者`fgets`函数来读取字符串时,通常会自动处理这个终止符。然而,直接通过标准输入流读取并赋值给字符数组时,就需要程序员手动添加`\0`,以确保字符串的正确性。
C语言以其高效、灵活性和可移植性成为编程界的基石。了解其历史背景、标准演进以及语言特性,对于深入学习和使用C语言至关重要。同时,熟悉所用编译系统的特性,能帮助编写出更符合实际需求的代码。
104 浏览量
2011-08-16 上传
2474 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-10-24 上传
2021-12-22 上传
2021-10-10 上传
getsentry
- 粉丝: 28
- 资源: 2万+
最新资源
- 实战部署UC平台(OCS=VOIP GW=Exchange2007).pdf
- thinking in java
- 嵌入式Linux Framebuffer 驱动开发.pdf
- grails入门指南
- Apress.Pro.OGRE.3D.Programming.pdf
- Linux设备驱动开发详解讲座.pdf
- GoF+23种设计模式
- Wrox.Python.Create.Modify.Reuse.Jul.2008
- sd卡spi模式翻译资料
- 最新计算机考研专业课程大纲
- oracleproc编程
- Google-Guice-Agile-Lightweight-Dependency-Injection-Framework-Firstpress
- oracle工具TOAD快速入门
- Unix 操作命令大全
- ARM映象文件及执行机理
- rhce教材RH033 - Red Hat Linux Essentials