C语言基础——认识C语言

目录

1.1:C语言的历史

        1.1.1:起源

        1.1.2:标准化

1.2:C语言优缺点

        1.2.1:C语言优点

        1.2.2:C语言缺点

        1.2.3:高效使用C语言


1.1:C语言的历史

        1.1.1:起源

        C语言是在贝尔实验室由Ken ThompsonDennis Ritchie及其他同事在开发Unix操作系统的过程中的副产品。

        1.1.2:标准化

        K&R:20世纪70年代,C语言得到持续发展,1978年,由Brian KernighanDennis Ritchie合编作品《The C Programming Language》出版。此书一出就迅速成为了c程序员的宝典。并且由于当时缺乏C语言的正式标准,此书就成为了事实上的标准。

        ANSI C(标准C):1983年,美国国家标准协会(ANSI)开始编制C语言标准,多次修订后,于1988年完成,并在1989年12月正式通过。1990年国际标准化组织(ISO)通过此项标准。

1.2:C语言优缺点

        1.2.1:C语言优点

  • 高效性:这是C语言与生俱来的优点之一。由于C语言原本就是用于编写汇编程序,快速运行并且占用有限内存尤为重要。
  • 可移植性:C语言具有良好的可移植性,在不同的操作系统下,只需简单修改或无需修改,就可以进行跨平台的程序开发。
  • 功能强大:C语言拥有一个数据类型和运算符的庞大集合,这使得C语言具有强大的表达能力。
  • 灵活性:C语言在语法上不拘一格,在原有语法基础上进行创造、复合,给程序员更多发挥空间。
  • 标准库:C语言的一个突出优点就是标准库,包含了数百个函数,这些函数和用于输入\输出、字符串处理、存储分配及其他使用操作。
  • 与Unix系统集成:C语言在与Unix系统结合方面特别强大。事实上,一些Unix工具甚至假定用户是了解C语言的。

        1.2.2:C语言缺点

  • C语言可能会漏洞百出:C语言的灵活性使得它成为一种会漏洞百出的语言。许多其他语言可以发现的编程错误,C语言编译器却无法检查到。从这方面来说,C语言与汇编语言极为相似,因为直到程序运行时汇编语言才能检查到大多数错误。更糟的是,C语言 还包含大量不易觉察的隐患。
  • C语言可能会难以理解:虽然根据大多数衡量标准C语言是一种小型语言,但是它也有 许多其他通用语言没有的特性(并且常常被误解)。这些特性可以用多种方式结合使用, 其中的一些结合尽管编程者心知肚明,但是其他人恐怕难以理解。另一个问题就是C程序简明扼要的特性。
  • C程序可能会难以修改:用C语言编写大规模程序时,如果在设计中没有考虑到维护的 问题,那么将很难修改。现代的编程语言通常都会提供一种称为“模块”(“单元”或者 “包”)的语言特性,这一特性可以把一个大规模的程序分解成许多可管理的块。遗憾的是,C语言恰恰缺少这样的特性。

        1.2.3:高效使用C语言

  • 学习如何规避C语言的缺陷:可以参考Andrew Koenig 的《C陷阱与缺陷》一书。现代编译器 将可以检查到常见的缺陷并且发出警告,但是没有一个编译器可以侦察出全部缺陷。
  • 利用现有的代码库:大家都在使用C是一种好处,把别人编写好的代码用于自己的程序是一个非常好的主意。C代码经常被打包进库(函数集合)。获取适当的库既可以大大减少错误,也可以节省相当多的编程工作。
  • 采用一套切合实际的编码规范:编码规范是一套设计准则,即使语言本身没有强制要求, 程序员也必须遵守。适当的规范可以使程序更加统一,并且易于阅读和修改。使用任何 一种编程语言都需要规范,尤其是C语言。正如前面所说的,C语言本身具有较高的灵活 性,这使得程序员编写的代码可能会难以理解。
  • 使用标准C,少用经典C:标准C绝不仅仅是更好形式的经典C.标准C增加了许多允许编译器检查错误的特性,经典C却忽略了这个问题。 
  • 避免不可移植性:大多数C语言编译器都提供不属于标准C内容的特性和库函数。除非确有必要,否则最好尽量避免使用这些特性和库函数。

猜你喜欢

转载自blog.csdn.net/m0_74436212/article/details/131216144
今日推荐