C语言教程(一):程序开发理论基础!

前言:

1、本系列教程适用于刚开始学习 C 语言的同学,或者初级开发者,或者想系统详细了解 C 语言的小伙伴。

2、本系列教程会从C语言基础到 C 语言高级语法,包含 C 语言所有系列。

C语言简介

什么是 C 语言

       C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

       尽管 C 语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的 C 语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称 MCU)以及超级电脑等作业平台。

       二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订立了一套完整的国际标准语法,称为 ANSI C,作为 C 语言最初的标准。

       简单来说:C 语言是一门简单的编程语言,C 语言的语法标准由美国国家标准局指定。C 语言有很多底层处理功能,而且有良好的跨平台性。

C 语言的优势

       C 语言发展至今很多当时的优势,到现在已经不是什么优势,但是有几个点目前还是其他高级语言所不能媲美的:

1、运行效率:C 语言可以直接对内存和硬件进行操作,C 语言具有很多直接访问物理地址的功能,可以直接访问内外存储器,还可以进行各种位操作。

2、可移植性好:目前大部分硬件和常用的操作系统都支持C 语言开发,因此如果使用C语言开发软件,移植性特别高,基本不用修改,可以在其他系统平台上运行。这个是其他高级语言很难单独做到的

3、语法简单,语言简洁:C 语言是目前程序设计中规模最小的语言之一,关键字很少,总共才32个关键字。而且语法比较简单,会点简单英语的同学,都能看懂一些基本语法。

C 语言是面向过程的,运行过程是一步一步的,很像我们平常做事情似得,第一步干什么,第二步干什么,等等。。。

所以前期理解起来也比较简单。

程序

什么是程序?

程序是一组具有完成特定任务或者功能的计算机指令。首先为了完成特定功能,其次是一组计算机指令(代码)。

程序执行过程

       程序的执行过程是:预编译 — 编译 — 汇编 — 链接 — 执行

预编译:也叫预处理阶段,预处理器会把源程序中的 # 开头的命令替换掉,直接插入到程序文本中,最后生成另外一个 C 程序,通常是以 .i 作为文件扩展名。

编译:这个阶段编译器会把 .i 文件编译成一个汇编语言程序(.s文件)。汇编语言是非常有用的,它为不同高级语言的不同编译器提供了通用的输出语言。

汇编:这个阶段就是把汇编语言打包成一个二进制文件,也就是说到了这一步才完成了从高级语言到机器语言的转化。这个阶段的代码已经是二进制文件了(.o文件),如果我们打开这个 .o 文件,我们将会看到一堆乱码。

链接:到了这个阶段,就是把所有的所有的 .o 文件合并到一起来完成一个可执行文件,也就是把每个独立功能的文件合并到一起,然后被加载到内存,由系统执行。

编辑器和编译器

编辑器:什么是编辑器呢?就是写代码用的工具,注意只是写代码用的,比如记事本就是编辑器,word 也是编辑器,sublime 也是编辑器。

       有人会问那么它在程序执行过程当中属于哪个阶段呢?

答:还没有在其中任何一个阶段。咱们用编译器主要是为了写代码。

编译器:上面已经说了,编译器就是把 .i 文件编译成一个汇编语言程序。这种编译器是指狭义上的编译器。

       和汇编器、链接器都是同级别的工具。我这里讲的编译器是指广义上的编译器,在这里大家只需记住这里所讲的编译器是包含了:编辑器、预编译器、编译器、汇编器、链接器的复合型编译器,我们只需使用这样一个工具就可以完成程序的编写到执行的过程。

       对于热爱编程的人来说,有一群一起学习的小伙伴很重要!如果你感兴趣或者有需求的话,笔者有一个编程零基础入门学习交流俱乐部☜,还有学习视频文件,欢迎初学者和正在进阶中的小伙伴们!

发布了520 篇原创文章 · 获赞 132 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/HUYA69/article/details/105070119