Menu Close

什么是C语言?

1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。

C是一种非常流行,简单且灵活的通用编程语言。 它是与机器无关的结构化编程语言,已在各种应用中广泛使用。

从操作系统(Windows和许多其他操作系统)到复杂程序(如Oracle数据库,Git,Python解释器等)等,C是最基本语言。

C是编程的基础。 如果您知道“ C”,则可以轻松掌握使用“ C”概念的其他编程语言。C 语言除了能让你了解编程的相关概念,带你走进编程的大门,还能让你明白程序的运行原理,比如,计算机的各个部件是如何交互的,程序在内存中是一种怎样的状态,操作系统和用户程序之间有着怎样的“爱恨情仇”,这些底层知识决定了你的发展高度,也决定了你的职业生涯。

如果你想要学习好C语言,你必须具有计算机存储机制的背景知识,因为这是处理C编程语言时的重要方面。

C语言的历史

编程语言的基础或父系是“ ALGOL”。 它于1960年首次推出。“ ALGOL”在欧洲国家广泛使用。 “ ALGOL”向开发人员社区介绍了结构化编程的概念。

1967年,一种新的计算机编程语言被宣布为“ BCPL”,它代表基本组合编程语言。 BCPL由Martin Richards设计和开发,特别是用于编写系统软件。 那是编程语言的时代。

仅仅三年之后,1970年,肯·汤普森(Ken Thompson)引入了一种新的编程语言,称为“ B”,其中包含“ BCPL”的多个功能。 该编程语言是在AT&T和Bell实验室使用UNIX操作系统创建的。 “ BCPL”和“ B”都是系统编程语言。

1972年,一位杰出的计算机科学家丹尼斯·里奇(Dennis Ritchie)在贝尔实验室创建了一种名为“ C”的新编程语言。 它是由“ ALGOL”,“ BCPL”和“ B”编程语言创建的。 “ C”编程语言包含这些语言的所有功能,以及更多其他使这些语言与众不同的概念。

“ C”语言是一种功能强大的编程语言,与UNIX操作系统紧密相关。 甚至大多数UNIX操作系统都以“ C”编码。 最初,“ C”编程仅限于UNIX操作系统,但随着它开始在全球范围内传播,它开始商业化,并且为跨平台系统发布了许多编译器。

如今,“ C”可以在多种操作系统和硬件平台下运行。 随着语言的发展,它发行了许多不同的版本。 有时,由于系统在旧版本下运行,因此开发人员难以跟上最新版本。 为了确保“ C”语言仍然是标准语言,美国国家标准协会(ANSI)在1989年定义了“ C”语言的商业标准。后来,国际标准组织(ISO)在1990年批准了该标准。 语言也称为“ ANSI C”。

 

C语言概念少,词汇少,包含了基本的编程元素,后来的很多语言(C++、Java等)都参考了C语言,说C语言是现代编程语言的开山鼻祖毫不夸张,它改变了编程世界。

C语言的应用领域

  • “ C”语言广泛用于嵌入式系统。
  • 它用于开发系统应用程序。
  • 它被广泛用于开发桌面应用程序。
  • Adobe的大多数应用程序都是使用“ C”编程语言开发的。
  • 它用于开发浏览器及其扩展。 Google的Chromium使用“ C”编程语言构建。
  • 它用于开发数据库。 MySQL是使用“ C”构建的最受欢迎的数据库软件。
  • 它用于开发操作系统。 Apple的OS X,Microsoft的Windows和Symbian等操作系统是使用“ C”语言开发的。
  • 它用于开发台式机以及手机的操作系统。
  • 它用于编译器生产。
  • 它被广泛用于物联网应用。

为什么学习C语言 ?

C语言被誉为“上帝语言”,它不但奠定了软件产业的基础,还创造了很多其它语言,例如:

  • PHP、Python 等都是用C语言开发出来的,虽然平时做项目的时候看不到C语言的影子,但是如果想深入学习 PHP 和 Python,那就要有C语言基础了。
  • C++ 和 Objective-C 干脆在C语言的基础上直接进行扩展,增加一些新功能后变成了新的语言,所以学习 C++ 和 Objective-C 之前也要先学习C语言。

C语言是许多编程语言的基础语言。“ C”作为主要语言将在学习其他编程语言时扮演重要角色。它们具有相同的概念,例如数据类型,运算符,控制语句等。 “ C”可广泛用于各种应用中。它是一种简单的语言,可以提供更快的执行速度。在当前市场上,“ C”开发人员可以很快找到很多工作。

“ C”是一种结构化的编程语言,其中的程序分为各种模块。每个模块可以分别编写,并且一起形成一个单独的“ C”程序。这种结构使测试,维护和调试过程变得容易。

“ C”包含32个关键字,各种数据类型和一组强大的内置函数,这些函数使编程非常高效。

“ C”编程的另一个特征是它可以扩展自身。 “ C”程序包含各种功能,这些功能是库的一部分。我们可以将特征和功能添加到库中。我们可以随时在程序中访问和使用这些功能。使用此功能可以简化使用复杂编程的过程。

市场上有各种编译器,可用于执行以这种语言编写的程序。

这是一种高度可移植的语言,这意味着用“ C”语言编写的程序可以在其他计算机上运行。如果我们希望在另一台计算机上使用或执行代码,则此功能至关重要。

C语言难吗?

和 Java、C++、Python、C#、JavaScript 等高级编程语言相比,C语言涉及到的编程概念少,附带的标准库小,所以整体比较简洁,容易学习,非常适合初学者入门。

编程语言的发展大概经历了以下几个阶段:

汇编语言 –> 面向过程编程 –> 面向对象编程

  • 汇编语言是编程语言的拓荒年代,它非常底层,直接和计算机硬件打交道,开发效率低,学习成本高;
  • C语言是面向过程的编程语言,已经脱离了计算机硬件,可以设计中等规模的程序了;
  • Java、C++、Python、C#、PHP 等是面向对象的编程语言,它们在面向过程的基础上又增加了很多概念。

C语言出现的时候,已经度过了编程语言的拓荒年代,具备了现代编程语言的特性,但是这个时候还没有出现“软件危机”,人们没有动力去开发更加高级的语言,所以也没有太复杂的编程思想。
也就是说,C语言虽然是现代编程语言,但是它涉及到的概念少,词汇少,思想也简单。C语言学习成本小,初学者能够在短时间内掌握编程技能,非常适合入门。

我可以学习C语言吗?

如果你是高中学生,完全可以学习C语言。如果你的英文达到高中水平,完全可以学习。 因为C语言是由美国人开发的,有只有32个关键字。

下面是C语言中的 32 个关键字:

int float double char short long signed unsigned
if else switch case default for while do
break continue return void const sizeof struct typedef
static extern auto register enum goto union volatile

几百个函数就没几个人能记住,也不用记住,查询文档即可,每种编程语言都会提供配套的文档。常用的函数也就几十个,记住它们就足够应付日常开发了,生僻的函数查询文档即可。

C语言如何工作 ?

C是一种编译语言。 编译器是一种特殊的工具,可以编译程序并将其转换为机器可读的目标文件。 编译过程完成后,链接器将合并不同的目标文件并创建一个可执行文件来运行该程序。 下图显示了“ C”程序的执行

如今,各种编译器都可以在线使用,您可以使用任何这些编译器。 功能永远不变,大多数编译器将提供执行“ C”和“ C ++”程序所需的功能。

以下是在线可用的流行编译器列表:

  • lang编译器
  • MinGW编译器(适用于Windows的极简主义GNU)
  • 便携式“ C”编译器
  • Turbo C

C语言的架构

大多数计算机语言都是从C语言开始的。 C语言框架很简单:

#include <stdio.h>
int main()
{
    return(0);
}

传统上,C语言程序以预处理器指令和原型开始。 #include语句引入头文件,例如标准输入/输出头文件stdio.h。

所有C代码中的主要函数是main(),它是程序启动时运行的第一个函数。 该函数的所有语句都用大括号或小括号括起来。 每一个 C 源程序都必须有,且只能有一个主函数(main 函数)。

C语言版本

目前最流行的C语言有以下几种:

  • Microsoft C 或称 MS C
  • Borland Turbo C 或称 Turbo C
  • AT&T C

这些C语言版本不仅实现了 ANSI C 标准,而且在此基础上各自作了一些扩充,使之更
加方便、完美。

 

C语言的特点

  1. C 语言简洁、紧凑,使用方便、灵活。ANSI C 一共只有 32 个关键字。9 种控制语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分;
  2. 运算符丰富。共有 34 种。C 把括号、赋值、逗号等都作为运算符处理。从而使 C 的运算类型极为丰富,可以实现其他高级语言难以实现的运算。
  3. 数据结构类型丰富。
  4. 具有结构化的控制语句。
  5. 语法限制不太严格,程序设计自由度大。
  6. 语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此有人把它称为中级语言。
  7. 生成目标代码质量高,程序执行效率高。
  8. 与汇编语言相比,用 C 语言写的程序可移植性好。

 

摘要

  • “ C”由Dennis Ritchie于1972年开发。
  • 这是一门强大的语言。
  • 这是一种接近机器语言的低编程水平语言
  • 它广泛应用于软件开发领域。
  • 它是一种面向过程和结构的语言。
  • 它完全支持各种操作系统和硬件平台。
  • 许多编译器可用于执行用“ C”编写的程序。
  • 编译器编译源文件并生成目标文件。
  • 链接器将所有目标文件链接在一起,并创建一个可执行文件。
  • 它具有高度的便携性。