教程对象
本教程面向编程的初学者,旨在用最简单的方式开始编写C语言程序。
教程目标
- 了解编程的大致流程
- 安装C/C++编译器
- 理解环境变量的意义
- 编写第一个程序并运行
- 初步了解C语言的语法
所谓编程
编程大致可以分为编写代码(Code)和编译(Compile) 两部分。而这两部分的工具分别对应着文本编辑器(Text Editor) 和 编译器(Compiler) 这两种工具。也有将这两种工具集成在一起的软件,被称作集成开发环境(IDE) ,比如Visual Studio。
为了让初学者对编程有更深的认识,本文将采用文本编辑器+编译器的形式来进行教学。
安装C/C++编译器
对于Windows用户,系统已经自带了最简单的文本编辑器——记事本。因此编写我们的第一个程序,仅需一个编译器。
我们将使用MinGW-W64这个编译器,
进入这个链接:https://sourceforge.net/projects/mingw-w64/files/
下拉页面找到
64位系统请下载x86_64-posix-seh
,32位系统下载i686-posix-dwarf
。
下载完成后将其解压,并配置环境变量
-
在我的电脑中,右键,点击属性
-
选择高级系统设置 → 环境变量
-
在系统变量一栏中找到Path,并点击编辑
-
在Path中新建,并输入mingw64的bin目录的路径。
-
按Windows + R,运行cmd,在控制台中输入
g++ --version
,若出现如下界面则表示安装成功。
环境变量的作用:在控制台(cmd)中输入g++
,系统便会在环境变量的Path中的路径里寻找,是否有同名的软件(g++.exe)。
在上述过程中,系统在Path变量中,找到了D:\mingw64\bin\
这条路径,并在该路径中找到了g++.exe,故成功运行了g++程序。
编写Hello World
在本文中,我们暂且使用记事本来编写我们的第一个程序。
新建一个记事本,输入如下代码:
#include<stdio.h>
int main()
{
printf("Hello World!");
}
保存后,将文件名改为hello.c
,注意此时的文件扩展名为.c
,表示该文件为C语言代码文件。
知识点:
.txt
和.c
,包括C++的.cpp
、Python的.py
都是纯文本(Plain Text)文件,因此直接更改文件扩展名不会对文件本身造成影响。#include<>
为加载头文件(header file),在HelloWorld这个程序中,加载了stdio.h
这个头文件。stdio
代表 standard input & output(标准输入输出),.h
代表头文件。代码中用到的printf()
这个函数就来自这个头文件。int main()
为主函数,int表示整型(integer),即main()这个函数将返回一个整型的值。主函数成功执行时,会默认返回一个0。()
中输入参数,不填则表示参数为空(void)。{}
表示代码域,即{}
中的代码都是属于main()这个主函数的作用域下的。printf()
函数的作用是将()
内的内容打印到控制台。""
内为字符型数据- C语言中,每一行代码的结束要加分号
;
,函数名及{}
的后面不加。
编译及运行
- 在控制台中,输入
cd [hello.c的所在目录路径]
并回车,来进入到hello.c所在的目录。 - 输入
g++ hello.c -o hello.exe
并回车,将hello.c(代码)编译成hello.exe(可执行文件)。 - 输入
hello.exe
并回车,可以在控制台中看到打印出来的Hello World!
知识点:
cd
为进入指定目录的命令(command)g++
的后面输入待编译的文件名,-o
为编译参数,后面接输出的文件名g++ hello.c -o hello.exe
整段命令表示,将hello.c文件进行编译,输出的文件名为hello.exe。- 如果按照惯有习惯直接在桌面上双击hello.exe会发现没有反应。这是因为程序执行时会打开一个cmd窗口,打印Hello World!,程序执行结束后会立即关闭窗口,这个过程太快所以表现出来的结果就是没有反应。
总结
在本文中,介绍了编程的大致流程,安装了MinGW-W64这个编译器,编写、编译并运行了HelloWorld程序。本文仅为了说明原理采用了记事本来编写代码,实际的编程过程中会使用更加专业、更加便捷的文本编辑器,如Visual Studio Code