对C语言的理解

发布时间:2024年01月14日

1.计算机语言

? ? ? ? 就是我们人类与计算机进行交流的媒介。我们可以使用编程语言对计算机下达命令,从而让计算机完成我们所需要的功能。

语言 = 语法 + 逻辑

????????计算机语言有很多种。如:C 、C++、Java、Go、JavaScript、Python,Scala等。

2.计算机语言简史

Ⅰ.机器语言

? ? ? ? 即二进制的01字符串

Ⅱ.汇编语言

? ? ? ??使用英文缩写的助记符来表示基本的操作,比如:LOADMOVE等, 汇编语言也称为符号语言

  • 优点:能编写高效率的程序。

  • 缺点:汇编语言是面向机器,不同计算机会有不同的汇编语言,程序不易移植

Ⅲ.高级语言

????????使用接近日常英语的指令来编写程序

? ? ? ? 独立于计算机硬件,有一定的通用性,需要使用编译器或解释器转换为机器语言才能被识别和执行。

3.C语言优点

1、C语言具有可移植性好、跨平台的特点,用C编写的代码可以在不同的操作系统和硬件平台上编译和运行。

  • C 语言的原始设计目的,是将 Unix 系统移植到其他计算机架构,这使得它从一开始就非常注重可移植性。

2、C语言在许多领域应用广泛。掌握C语言可以让你有更多就业机会。

  • 操作系统:C 广泛用于开发操作系统,如 Unix、Linux 和 Windows。

  • 嵌入式系统:C 是一种用于开发嵌入式系统(如微控制器、微处理器和其他电子设备)的流行语言。

  • 系统软件:C用于开发设备驱动程序、编译器和汇编器等系统软件。

  • 网络:C 语言广泛用于开发网络应用程序,例如 Web 服务器、网络协议和网络驱动程序。

  • 数据库系统:C 用于开发数据库系统,例如 Oracle、MySQL 和 PostgreSQL。

  • 游戏:由于 C 能够处理低级硬件交互,因此经常用于开发计算机游戏。

  • 人工智能:C 用于开发人工智能和机器学习应用程序,例如神经网络和深度学习算法。

  • 科学应用:C 用于开发科学应用程序,例如仿真软件和数值分析工具。

  • 金融应用:C用于开发股票市场分析和交易系统等金融应用。

3、C 语言能够直接对硬件进行操作、管理内存、跟操作系统对话,这使得它是一种非常接近底层的语言,非常适合写需要跟硬件交互、有极高性能要求的程序

4、学习C语言有助于快速上手其他编程语言,比如C++(原先是C语言的一个扩展,在C语言的基础上嫁接了面向对象编程)、C#、Java、PHP、Javascript、Perl等。这些语言都继承或深受C语言的影响和启发。

5、C 语言长盛不衰。至今,依然是最广泛使用、最流行的编程语言之一。包括很多大学将C语言作为计算机教学的入门语言,拥有庞大而活跃的用户社区,这意味着有许多资源和库可供开发人员使用。

4.C语言的版本

随着微型计算机的日益普及,出现了许多C语言版本。

版本1:K&R C

K&R C 指的是 C 语言的原始版本。1978年,C 语言的发明者布莱恩·柯林(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)合写了一本著名的教材《C 编程语言》(The C programming language)。

由于 C 语言还没有成文的语法标准,这本书就成了公认标准,以两位作者的姓氏首字母作为版本简称“K&R C”。

版本2:ANSI C(又称 C89 或 C90)

C 语言的原始版本非常简单,对很多情况的描述非常模糊,加上 C 语法依然在快速发展,要求将 C 语言标准化的呼声越来越高。

1989年,美国国家标准协会(ANSI)制定了一套 C 语言标准,并于次年被国际标准化组织(ISO)通过。它被称为“ANSI C”,也可以按照发布年份,称为“C89 或 C90”。

版本3:C99

C 语言标准的第一次大型修订,发生在1999年,增加了许多语言特性,比如双斜杠( // )的注释语法,可变长度数组、灵活的数组成员、复数、内联函数和指定的初始值设定项。这个版本称为 C99,是目前最流行的 C 版本

版本4:C11

2011年,标准化组织再一次对C 语言进行修订,增加了_Generic、static_assert 和原子类型限定符。这个版本称为C11。

需要强调的是,修订标准的原因不是因为原标准不能用,而是需要跟进新的技术。

版本5:C17

C11 标准在2017年进行了修补,但发布是在2018年。新版本只是解决了 C11 的一些缺陷,没有引入任何新功能。这个版本称为 C17。

版本6:C23

2023年预计发布,计划进一步增强安全性,消除实现定义的行为,引入模块化语言概念等新特性,使C语言在安全和可靠性方面有重大提高。

提示:C99不一定比C11新,因为这个是按照年份命名的

文章来源:https://blog.csdn.net/lemonzjk/article/details/135586158
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。