本
文
摘
要
【C语言-01】这可能是你看过最好的C语言课程!!1 万播放 · 0 赞同视频
本文一步步,教你编写一个最简单的C语言程序,让你了解C语言是怎么样真正运行的。(演示在windows 10环境下的操作步骤。)
1. C语言程序开发的步骤
现在你肯定迫不及待地想要开始写程序了。
这一节,我们来聊聊怎样把程序写出来,如何让它能够被计算机所理解,又怎样让它按照我们想要的效果运行。
要让C语言代码成功运行,并达到预想的效果,一般需要经过以下步骤:
代码编辑。编译及链接。调试及测试。2. 代码编辑(俗称写代码)
#include<stdio.h>int main() { printf("Hello World\n"); return 0; }现在动手试试看,把这串代码输入到电脑中。
但是......在哪输入呢?在聊天框?在搜索框?
肯定不是啦,我们需要把代码保存成一个文件,以便计算机关机之后仍然不会丢失,也方便复制到其他地方去。
那我们需要一个什么样的文件呢?既然C语言代码是一些文字,那么Word文档行不行?
其实没那么复杂,由于C语言代码并不需要各种字体、段落格式。所以,可以更加简单一点。
在你需要保存文件的地方(我这里选择的是F盘下的c文件夹,你可以随意选到其他位置)鼠标点右键,新建一个文本文档就能满足要求了。
现在应该可以看到刚刚新建的文本文档了。
我们先来看看这个新建的文本文档,它的名称为——新建文本文档.txt。
点号.前面的是文件基本名称,后面的是文件后缀名。
要是在你的电脑上,看不到点号及后缀名。那么点一下查看,再把文件扩展名的勾打上就可以看到了。
接着鼠标双击打开文件,Windows会选择对应的软件,打开后缀名为“txt”的文件。
默认情况下,与后缀名txt关联的软件是记事本软件。
如果你的电脑上,打开txt文件的软件不是记事本也没关系。只要软件能正常打开、编辑、保存文本文档即可。
用软件打开文件后,我们把代码键入,并保存。
3. 编译及链接
之前的章节我们讨论过,只有机器语言才能被计算机所直接理解。
然而,C语言并不属于机器语言。因此,上一节的C语言代码并不能被计算机所理解。
汇编语言可以通过汇编器将助记符和十六进制数据转换为机器语言,而C语言则需要通过编译、链接两个步骤转化为机器语言。
我们一般将编写的代码称之为源代码,而记录代码的文件被称为源文件。
之所以称之为“源”,可能是因为它们是程序初始的存在,程序需要经过编译和链接才能被运行。
目前大家的电脑还没有安装编译器和链接器,接下来的步骤仅仅只是演示给大家看,增进对概念的理解。
由于,接下来使用到的编译器会根据文件后缀名进行处理文件。
要让编译器知道文件是一个C语言代码文件,我们需要将文件的后缀,改为.c。至于文件名是无所谓,但是为了方便,我们统一改为source.c。
启动MSVC环境命令行。使用命令cl source.c,编译和链接程序。刚刚的两步中,我们让编译器cl,对源文件source.c进行处理。
经过处理后,source.c中的源代码被cl处理过后,被保存成了文件source.obj和source.exe。
而exe后缀名在Windows系统上是可执行程序的后缀,也就是说source.exe可以直接被运行了。
我们来运行一下试试看。
程序输出了一串字符,Hello World,没错这就是一小段代码的效果。
源代码需要经过编译和链接两个步骤才能够完成吗?为什么刚刚一次就达到了最终效果。
因为,编译器在完成编译之后,生成了文件source.obj。之后又将启动了链接器,并告诉链接器继续处理文件source.obj。链接器完成链接后,接着生成了文件source.exe。
4. 修改代码
目前一个小程序已经被我们顺利得运行了。那如果整个程序没有达到我们所想要的效果,是否需要修改一下代码重新编译呢?
现在,让我们重新对source.c进行修改。
现在的文件后缀为.c了,而.c在你的电脑上并没有与之关联的软件可以打开。以下3种办法均可以解决这个问题。
将记事本设置为打开后缀名为.c的文件的默认程序。(修改打开某种后缀名的默认关联程序,可以在系统设置里面进行操作。)将后缀名重新修改为.txt。在文件上点右键,移动鼠标到打开方式,为其选择记事本打开。值得注意的是,后缀名并不影响文件本身。系统仅仅是记录了一个文件后缀名与用什么程序打开文件的关联记录。后缀名可以通过修改文件名进行修改,后缀名所关联的程序也通过系统设置进行修改。
5. 调试及测试
当程序规模越来越庞大的时候,如果程序出现了意料之外的缺陷是十分难以通过阅读代码进行排查的,我们一般会借助一些工具进行处理。
例如,调试器、各种测试器。目前我们并不会详细展开这一部分内容。
随着,课程内容的推进,我们会一步步地熟悉这些工具。
点击以下链接获取更多课程:
01. 课程介绍
02. VS开发环境的搭建
03. 第一个C语言程序
04. 基本的C语言语法知识
05. 整型数据类型
06. 浮点数据类型
07. 变量与常量
08. 字符常量及字符变量
09. printf函数详细解析
10. printf函数深入讨论
11. scanf函数
12. 运算符与表达式
13. 类型转换
14. 关系运算符与逻辑运算符
15. 分支结构
16. 循环结构
17. 循环辅助
18. 多重选择
19. 初识数组
20. 多维数组
21. 字符串与字符数组
22. 输入输出缓存
23. 函数
24. 函数递归
25. 调试代码
26. 初识指针
27. 指针运算
28. 指针与数组
29. 指针作为参数传递
后续更多课程