前言
记录自己的第一个C语言程序,通过C语言在屏幕上输出 “Hello World”。并总结了这段代码相关的C基础语法。
Hello World
#include <stdio.h>
int main()
{
/* 我的第一个 C 程序 */
printf("Hello, World! \n");
return 0;
}
C 程序主要包括以下部分:
预处理器指令
函数
变量
语句 & 表达式
注释
程序的第一行 #include <stdio.h>
是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h
头文件。
头文件的作用:包含一系列函数声明、变量声明等,如果需要使用这里面的函数,必须包含对应的头文件。
下一行 int main()
是主函数,所有的C程序从这里开始执行。
下一行 /*...*/
将会被编译器忽略,这里放置程序的注释内容。它们被称为程序的注释。使用 //
也可以注释,区别在于,前者可以跨行,而后者只能注释单行。
下一行 printf(...)
是 C 中的一个函数,该函数被声明在 stdio.h
中,因此使用printf
必须包含stdio.h
头文件会在屏幕上显示消息 “Hello, World!”。
下一行return 0
; 终止 main() 函数,并返回值 0。
编译、运行
将上述代码保存在文件中,并将文件命名为 hello.c
,然后在 Linux 控制台中输入
$ gcc hello.c -o hello
$ ./hello
程序的执行结果如下
Hello, World!
gcc
GCC是以GPL许可证所发行的自由软件,也是GNU计划的关键部分。GCC的初衷是为GNU操作系统专门编写一款编译器,现已被大多数类Unix操作系统(如Linux、BSD、MacOS X等)采纳为标准的编译器,甚至在微软的Windows上也可以使用GCC。GCC支持多种计算机体系结构芯片,如x86、ARM、MIPS等,并已被移植到其他多种硬件平台 。
GCC原名为GNU C语言编译器(GNU C Compiler),只能处理C语言。但其很快扩展,变得可处理C++,后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective -C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)。
上述代码使用 gcc 在 Linux环境进行编译。
gcc 命令如果不指定目标文件名时默认生成的可执行文件名为 a.out(linux) 或 a.exe(windows)。
可用 gcc [源文件名] -o [目标文件名] 来指定目标文件路径及文件名。
例如,windows 系统上,gcc hello.c -o target/hello 会在 target 目录下生成 hello.exe 文件(Linux 系统生成 hello 可执行文件),target 目录必须已存在,[源文件名] 和 -o [目标文件名] 的顺序可互换, gcc -o target/hello hello.c 依然有效。