003_C 语言入门:拆解最简单的完整程序
先看一个简短、完整的C语言程序。
#include <stdio.h>
#define YEARS (2026)
int main(void) {
printf("Hello, world!\n");
printf("This year is %d\n", YEARS);
return 0;
}
下面来详细介绍一下,这个C程序中每一项的作用。
#include <stdio.h>
这行代码的作用是:引入标准输入输出头文件 stdio.h。
里面包含了一些系统提供的输入、输出函数,比如我们接下来要用到的 printf 打印函数,就必须依赖 stdio.h。
#define YEARS (2026)
- 这是 C 语言里的宏定义,用来定义一个常量。
- 常量就是程序中固定不变的值,这里 YEARS 就等价于整数 2026。
- 给 2026 加上括号,是为了避免宏展开后,因运算优先级带来意外错误,是使用 #define 时一种规范、安全的写法。
- 另外,在 C99 及更高版本的标准中,还可以用 const 定义常量:
const int YEARS = 2026;
- 它会做类型检查,比 #define 更安全。
int main(void)
这是程序运行的“入口”,所有C语言程序都是从main函数开始执行的。
- int:表示这个函数执行完后,会返回一个“整数”(对应后面的return 0;);
- main:固定的函数名,是程序的“主函数”,编译器必须靠它找到程序从哪里开始运行。
- (void):显式声明这个主函数不带任何参数,比空括号 () 更规范严谨。
- {:表示代码块开始,从这里到对应的 } 之间的所有代码,都属于 main 函数。
printf("Hello, world!\n");
调用stdio.h里的printf函数,功能是“把括号里的内容打印到屏幕上”。
- "Hello, world!\n":双引号里的是要打印的文字(字符串);
- \n:是 “换行符”,打印完这句话后,光标会跳到下一行(不然后续内容会跟在同一行);
- 执行这行后,屏幕会显示:
Hello, world!(然后换行)。
printf("This year is %d\n", YEARS);
这是带“占位符”的格式化打印,可以把变量/常量嵌入到文字中输出。
- %d:是整数占位符,意思是 “这里要填一个整数”;
- YEARS:就是前面定义的常量,编译器会把它替换成2026;
- 执行这行后,屏幕会显示:
This year is 2026(然后换行)。
return 0;
给程序“收尾”,告诉操作系统:“我这个程序正常跑完了,没有出错”。
- return:是 “返回” 的意思,把后面的数值交给调用程序的地方(比如操作系统);
- 0:约定俗成表示 “程序正常结束”,如果返回非 0(比如 1),一般表示程序出错了。
整个程序的功能
这个程序是 C 语言最基础的入门程序,核心功能就是:
- 先在屏幕上打印一行文字:Hello, world!(经典的入门打印语句);
- 接着换行打印第二行文字:This year is 2026(把定义的年份常量替换到文字里);
- 程序执行完后,返回 0 告诉系统 “正常结束”。
你可以把这个程序理解为:“向世界打个招呼,顺便告诉大家今年是 2026 年”。
如果你觉得这些内容有用,欢迎点赞、关注、在评论区一起讨论。
浙公网安备 33010602011771号