当前位置: 首页 > 工具软件 > Tea语言 > 使用案例 >

【C语言基础】Chap. 1. 初识C语言

通宾白
2023-12-01

1. C语言

C语言是20世纪70年代贝尔实验室开发出来的一门通用计算机编程语言(实际上是贝尔实验室开发UNIX操作系统的“副产品”),广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

二十世纪八十年代,为了避免各厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,成为 ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的 C11标准 是C语言的第三个官方标准,也是C语言的最新标准,该标准更好地支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象的编程语言有所不同。其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。一般开发时较常使用IDE,如Visual Studio系列(本人用的2019社区版)。

Visual Studio 是一种集成开发环境(IDE,Integrated Development Environment),内部集成了MSVC这样的编译器,可以编写+编译C语言等编程语言的代码。

2. 一个最简单的C程序

《C语言程序设计:现代方法》的作者K. N. King在书中推崇「螺旋式的介绍方法」,即“对于较难的主题先进行简要介绍,然后在后续章节中再进行一次或多次介绍,每次逐渐增加一些细节内容”。

对于King的这种观念,我无比地赞同,因此在专栏中也会尝试采用这种对初学者十分友好且有利的结构。

那么,首先开始我们的第一个C语言程序,它只有6行代码。


 

#include <stdio.h >
int main()
{
    printf("Immanuel\n");
    return 0;
}

这个程序的功能是在屏幕上输出本人的名字「Immanuel」。

即使是如此简单的程序,对于初学者而言也难免一头雾水,因此我将详尽介绍这几行代码的功能。

首先,这是一个函数。

我们先略过第1行,第2行的int main()是一次函数的定义,功能便是定义一个主函数(main函数)

在C语言项目中,主函数是所有功能的入口,因为程序是从它开始执行的。必须注意的是,一个工程之中有且仅有一个主函数,它的函数名字就是main

而在第3行至第6行这由大括号{}括起来的内容中,printf("Immanuel")便是输出名字的关键语句。

printf()是一个库函数,要使用它便需要引用它所在的,这便是第1行代码的作用,它引用了一个名为stdio.h标准库

printf函数的名字可拆分为 print 和 f,前者是打印的意思,后者则是格式化(format)的缩写,即以用户指定的格式显示到窗口上。

stdio.h库的名字实际上是standard input & output的缩写,即标准(或普通的)的输入和输出。

Immanuel后的\n则是换行符的意思,当存在下一次打印时,下一次打印出的内容会自动在换行后生成。

而第5行的功能则是返回一个0,这里等到后面讲述函数部分的时候再进行补充。

开始运行这段小小的程序之后,它并非立刻就能够完成,而是需要经过一些步骤,一些“暗地里进行的”、表面上看不到的步骤。

编程语言虽然也叫“计算机语言”,但实际上计算机是不懂编程的,简单来说,它们只懂1和0。因此我们需要让我们书写的代码转换成计算机可以理解并执行的形式。对于C语言而言,需要经过至少3个步骤。

  1. 预处理。

程序会被送交给预处理器(preprocessor)。预处理器执行以#开头的命令(通常称为指令)。预处理器有点类似于编辑器,它可以给程序添加内容,也可以对程序进行修改。

  1. 编译

修改后的程序将进入编译器(compiler)。编译器会把程序翻译成机器指令(即目标代码)。

  1. 链接

链接器(linker) 把由编译器产生的目标代码和所需的其他附加代码整合在一起,产生完全可执行的程序。这些附加代码包括程序中用到的库函数(如printf函数)。

这些步骤往往在我们看不到的地方进行,但确实起到了至关重要的作用。

从这里开始,我们便走上了C语言的学习之路。


 

 类似资料: