第一个C代码讲解

文章目录

  • 编写C文件
    • 创建文本文件
    • 编写代码
    • 修改文件后缀
    • 切换文件路径
  • 编译代码
    • 打开命令行
    • 使用gcc编译代码
    • 运行程序
      • 双击运行
      • 使用命令行运行
  • 代码分析
  • 编译过程

编写C文件

  编辑C代码文件的工具有很多,为了让大家初学的时候摆脱编译软件的干扰,更容易理解编译过程。本次我们使用记事本编辑,gcc编译第一个C代码文件。
  书上本章内容太过跳跃,我在此新加一个过渡章节,用于解析一个最简单的代码框架。

创建文本文件

  首先,创建一个文本文件,取个英文名字,我这里取名为==“main”==。
第一个C代码讲解_第1张图片
第一个C代码讲解_第2张图片

编写代码

  然后,双击打开文件,将以下内容敲进去(拷贝),然后保存文件

#include
int main()
{
	printf("Hello World\n");
	getchar();
	return 0;
}

第一个C代码讲解_第3张图片

修改文件后缀

  右键选中文件,重命名文件,修改文件后缀txtc,弹出以下窗口,选择==“是”==。如果看不到后缀名,可询问度娘,不同系统修改方法略有差异,不过没有难度,按照步骤修改即可。
第一个C代码讲解_第4张图片

切换文件路径

  为了方便,首先将创建的main.c文件拷贝到一个干净的文件夹,这里我将main.c放在了一个新的文件夹E盘下的NEW文件夹。
第一个C代码讲解_第5张图片

编译代码

  为了演示编译的过程,本次编译代码使用的是MINGW中的gcc,如果没有安装的可以在网上找到教程,大家也可以使用VS Code安装教程中MinGW的安装过程来安装。
  只需要一下几步就可以。

  • 下载
  • 解压
  • 放到文件夹下
  • 在环境变量的path中,添加解压后的bin文件路径全称。
    第一个C代码讲解_第6张图片

第一个C代码讲解_第7张图片
第一个C代码讲解_第8张图片

打开命令行

  命令行打开的方法我推荐这一个,比较简单:
  打开上方的导航栏输入框,输入==“cmd”==,然后双击键盘的“Enter”键。
第一个C代码讲解_第9张图片
  双击键盘的“Enter”键后会打开一个命令行的黑窗口,此时窗口是当前文件夹的路径,我的是E盘的NEW文件夹。
第一个C代码讲解_第10张图片

使用gcc编译代码

  在黑窗口输入==“gcc main.c”==,然后点击回车(Enter)键。查看文件夹下多了一个文件,名称是“a.out”,这个文件图标是一个默认的应用图标。
第一个C代码讲解_第11张图片
第一个C代码讲解_第12张图片

运行程序

双击运行

  双击运行一下,会弹出一个黑窗口,显示了“Hello World”,然后在这个黑窗口按下键盘上的任意按键,窗口会显示运行结束信息,有的系统可能会一闪而过。
第一个C代码讲解_第13张图片

使用命令行运行

  在命令行输入程序名称a.exe,然后按下键盘的回车“Enter”,键盘,窗口也会显示出来字符。
第一个C代码讲解_第14张图片
  此时按下任意按键,程序退出。我输入的是字符A
第一个C代码讲解_第15张图片

代码分析

  现在已经运行了一个程序,有没有发现黑窗口显示的那句话是在main.c文件中写的内容呢,下面我们来介绍一个这几行代码;

#include

  第一行的作用是导入一个名字叫“stdio.h”的文件,导入这个文件的原因是我们要用这个文件里的东西(函数)。其实这个导入也是很简单的操作,就是将“stdio.h”中的文件内容复制到我们的main.c里面来了。

int main()

  第二行是程序执行的入口。简单来说就是要执行函数,要一句一句的执行,执行的时候第一行代码是从main()执行的。执行完以后会返回一个int类型的元素,有关详细的内容会在函数章节讲。这里只需要记住main函数是C程序的入口。()也有讲究,如果你看过别人的代码会发现这里面有一些内容,这里我们先不介绍,也留到函数部分讲解。

{

}

  括号部分就是将代码括起来,告诉计算机,{}里面的内容是属于main函数的。

printf("Hello World\n");

  这一行的作用就是吧Hello World显示出来,printf就是我们第一行导入的stdio.h文件里的。\n是一个特殊字符,在这里的作用就是换行,;标志着这一句代码的结尾。

getchar();

  这一行也是我们第一行导入的stdio.h文件里的,在这里的作用是从键盘获取一个字符,如果不按按键就会一直在这个界面,这就是为什么要你们输入一个字符的意义。有的系统不加这一句,黑窗口就一闪而过了。;标志这一句的结尾

return 0

  这一行的作用是告诉计算机,main函数结束了,返回了一个数字0。;标志这一句的结尾。

编译过程

  上面的内容如果有点吃力是正常的,刚刚接触很多思维还没有发散,后面我们会将这里的每一个作用都详细的阐述,随着后面的学习会更理解这些内容的。
上面我们只一步gcc main.c就生成了可执行文件。其实计算机执行的时候执行了4个步骤,分别是:

  • 预处理
  • 编译
  • 汇编
  • 链接
    这四步的具体每一步做了什么将在下一篇文章讲解。看完之后试着把本节的代码自己编写运行一遍,也可以试着修改输出的内容,自己尝试运行看看,修改完文件以后一定要先用gcc编译重新生成文件,否则运行的文件还是旧的文件哦。
    尝试运行以下代码,看看有什么变化
#include
int main()
{
	printf("Hello World\n");
	getchar();
	printf("Hello World\n");
	return 0;
}
#include
int main()
{
	printf("Hello World");
	getchar();
	printf("Hello World\n");
	return 0;
}

你可能感兴趣的:(C,c语言,windows,开发语言)