Cprogramming 简明教程
Features of C Programming Language
Dennis Ritchie 和 Ken Thompson 于 1972 年开发了 C 编程语言,主要是为了重新实现 Unix 内核。C 由于具有低级内存访问、可移植性和跨平台等特性,仍然非常流行。C 的大多数特性已在许多其他编程语言中找到其位置。
C 的开发已被证明是计算史上具有里程碑意义的一步。尽管当今不同的编程语言和技术在不同的应用领域占据主导地位,例如 Web 开发、移动应用程序、设备驱动程序和实用程序、嵌入式系统等,但它们的所有底层技术都受到 C 语言特性的启发。
任何技术的实用性取决于其重要的特性。这些特性还决定了其应用领域。在本章中,我们将概览 C 语言的一些重要特性。
C is a Procedural and Structured Language
C 被描述为面向过程和结构化的编程语言。它之所以面向过程,是因为 C 程序是一系列指令,解释了解决给定问题的过程。这使得开发过程变得更容易。
在 C 中,过程的逻辑可以使用 function calls 以结构化或模块化形式来表达。由于具有这个特性,C 通常用作向学校学生介绍编程的入门语言。
C is a General-Purpose Language
C 语言并非针对特定的应用领域而开发。从系统编程到照片编辑软件,C 编程语言都被用于各种应用程序。
C 编程的一些常见应用包括 Operating Systems 、数据库、设备驱动程序等的开发。
C is Portable
C 语言的另一个特性是其可移植性。C 程序是 machine-independent ,这意味着您可以在不同的机器上编译和运行相同的代码,而不需要或仅需要一些特定于机器的更改。
C 编程提供了一个功能,根据要求在多个系统中使用同一个代码。
Standard Libraries in C
大多数 C 编译器都捆绑了一个广泛的 libraries 集,其中包含若干内置函数。它包括操作系统特定实用程序、字符串处理、数学函数等。
更重要的是,你还可以创建自己的用户定义函数,并将它们添加到现有的 C 库中。在这样的一个函数和运算范围中,程序员可以利用 C 语言构建各种程序和应用。
Pointers in C
C 的一个独特功能是指明计算机内部内存的能力。通过在 C 中使用指针,你可以直接与内存进行交互。
Pointers 指向内存中的一个特定位置,并直接与其进行交互。使用 C 指针,你可以与外部硬件设备、中断等进行交互。
C is a Mid-Level Programming Language
高级语言具有助记符关键字、用户定义标识符、模块性等特性。另一方面,C 编程语言提供对内存的低层次访问。这使它成为一种中级语言。
作为一种中级编程语言,它为两个世界提供了最好的功能。例如,C 允许对硬件进行直接操作,而高级编程语言则无法提供这一点。
C Has a Rich Set of Built-in Operators
C 可能是一种内置 operators 数量最多的语言,这些 operators 用来编写复杂或简化的 C 程序。除了传统的 arithmetic 和 comparison operators 外,当需要位级操作时,它的二进制和指针相关运算符也很重要。
Recursion in C
C 语言提供了递归特性。递归意味着你可以创建一个在给定条件为真时,可自己调用多次的函数,就像循环一样。
Recursion in C programming 提供了代码重用和回溯的功能。
User-defined Data Types in C
C 在 int 、 float 和 char 中有三个基本 data types 。但是,C 编程可以定义任意的这三种类型的组合的数据类型,这使得它非常强大。
在 C 中,你可以定义 structures 和 union 类型。你还可以声明 enumerated data types 。
Preprocessor Directives in C
在 C 中,我们有 preprocessor directives ,例如 #include 、 #define 等。它们不是语言关键词。C 中的预编译器指令执行一些重要角色,例如从库中导入函数、定义和扩展宏等。
File Handling in C
C 语言不会直接操纵文件或流。处理文件 I/O 并不是 C 语言本身的一部分,而是由库及其关联的头文件处理。
File handling 通常通过流发挥作用的高层次 I/O 来实现。C 将 stdin、 stdout 和 stderr 识别为标准输入、输出和错误流。这些流可以被定向到磁盘文件以执行读写操作。
这些是 C 语言的一些重要特性,使其成为一种应用最为广泛的流行计算机语言。