绝大多数C/C++初学者的第一个程序是打印以下字符串:
Hello world!
对于入门者而言,个人认为下列部分可能成为障碍:
(1) 程序文本编写,了解基本程序结构,亦或者说那些不可或缺的要素;
(2) 编译环境的安装与调试,使程序结果可以通过我们的编译环境返回;
C语言中,可使用以下程序打印上面提到的“Hello world!”:
#include<stdio.h>
void main()
{
printf("Hello world!");
}
程序需要写在一个文件中,称这个文件为“源文件”,上述程序可以写入一个txt文本文档,保存后把拓展名“.txt”改为“.c”即可。
从上面程序可以看出一个函数由函数类型、函数名、参数列表(形参列表)、函数体组成。main是函数名,void用于表述函数类型,说明函数会返回一个什么类型的值(此处void表示“空”,即没有返回值,该例子中的void也可以不写);最后是函数体,它从“{”开始,以“}”结束,最外侧两个花括号之间是一条或多条函数语句,用于实现具体功能(花括号是界定符,也属于函数体)。
本例中有两个点需要注意:
其一,#include<stdio.h>是一个预处理指令,用于将头文件stdio.h的内容替换到该预处理指令所在位置,如果没有它,printf无法实现打印功能;
其二,main函数是一个特殊的函数,它是一个程序(或者整个工程)的唯一入口,所以整个程序里必须有且只有一个main函数(main并非关键字,如果你用main作为函数变量名也是合法的,但个人不建议这么做,为了代码的可读性和可维护性,main最好避免用于重要函数名以外的其它地方)。
至于编译环境,暂不作为第一篇随笔的重点,简单来说,可以从以下两种方式做选择:
(1) 选择扩展性好或功能强大的IDE,个人推荐Visual Studio Code、Dev C++。
Visual Studio功能强大,但截至写该随笔前只支持Windows系统;
Code::Blocks免费且相对轻量,支持多平台,但安装相对复杂;
CLion功能强大,但付费,且内存占用较大,初学者可酌情考虑;
(2) 先不安装IDE,降低学习时间成本。安装MinGW,配置环境变量,将MinGW的bin目录对应路径添加到系统变量中的“PATH”,打开CMD,cd命令切换到程序源文件所在目录,执行指令gcc -o xxx.c(源文件名),在程序源文件所在目录下会生成一个可执行文件xxx.exe,window直接输入xxx.exe并回车,完成执行。
最后,你将从IDE的输出窗口或者CMD窗口里看到“Hello world!”打印。