C - 程序结构:初学者指南

欢迎,未来的程序员们!今天,我们将深入探索C程序结构的迷人世界。如果你之前从未编写过一行代码,也不要担心——我们将从最基础的知识开始,一步一步构建我们的知识体系。在本教程结束时,你将对C程序的结构有一个扎实的理解,并准备好编写自己的程序!

C - Program Structure

预处理器部分

让我们从预处理器部分开始我们的旅程。把这个阶段想象成在我们编程厨房中的准备工作,为主菜烹饪做准备。

预处理器部分以 # 符号开始,位于我们的C程序的顶部。它的主要任务是包含头文件和定义常量。

以下是一个例子:

#include <stdio.h>
#define PI 3.14159

在这个例子中:

  • #include <stdio.h> 告诉编译器包含标准输入/输出库。这就像告诉你的厨房助手带来你将需要的基本工具。
  • #define PI 3.14159 创建了一个名为PI的常量,其值为3.14159。这就像设置一个带有预先测量好的配料的食谱卡。

main() 函数

现在,让我们转到我们节目的明星——main() 函数。这是我们的程序实际执行开始的地方。每个C程序都必须有一个 main() 函数。

它看起来是这样的:

int main() {
// 你的代码放在这里
return 0;
}

main() 前面的 int 表示这个函数将返回一个整数值。最后的 return 0; 像是在告诉计算机,“任务完成!一切顺利。”

全局声明部分

在我们深入到 main() 函数之前,我们通常有一个全局声明部分。这是我们需要在程序中使用的变量和函数声明的地方。

例如:

#include <stdio.h>

int globalVar = 10;  // 全局变量
void sayHello();     // 函数声明

int main() {
// 主函数代码
return 0;
}

在这个例子中,globalVar 是一个全局变量,可以从我们程序中的任何部分访问,而 sayHello() 是一个函数声明(我们稍后会定义它)。

C程序中的子程序

子程序,也称为函数,是我们主程序中的小程序。它们帮助我们组织代码并使其可重用。

让我们定义我们之前声明的 sayHello() 函数:

void sayHello() {
printf("Hello, World!\n");
}

int main() {
sayHello();  // 调用我们的函数
return 0;
}

当我们运行这个程序时,它会在屏幕上打印 "Hello, World!"。这就像在厨房中有一个知道如何完美制作一道特定菜肴的专业厨师!

C程序中的注释

注释就像是我们给自己和其他程序员留下的便条。它们不会影响程序的运行,但使我们的代码更容易理解。

C语言中有两种类型的注释:

// 这是一个单行注释

/*
这是一个
多行注释
*/

慷慨地使用注释来解释你的代码做了什么。相信我,未来的你会感谢现在的你!

C程序的结构

现在我们已经覆盖了所有的个别部分,让我们把它们放在一起,看看一个C程序的完整结构:

#include <stdio.h>
#define MAX_SIZE 100

int globalVar = 0;  // 全局变量
void printMessage(char* message);  // 函数声明

int main() {
char msg[] = "Hello, C Programming!";
printMessage(msg);
return 0;
}

void printMessage(char* message) {
printf("%s\n", message);
globalVar++;  // 增加全局变量
printf("这条消息已经打印了 %d 次。\n", globalVar);
}

让我们分解一下:

  1. 我们从预处理器指令开始。
  2. 然后是我们的全局声明。
  3. 接下来是 main() 函数,我们的程序执行从这里开始。
  4. main() 之后,我们定义了我们使用的任何其他函数。

当你运行这个程序时,它将打印:

Hello, C Programming!
这条消息已经打印了 1 次。

就是这样!你刚刚学会了C程序的基本结构。记住,熟能生巧,所以不要害怕尝试并编写你自己的程序。快乐编码!

部分 目的
预处理器 包含头文件和定义常量
全局声明 声明全局变量和函数
main() 函数 程序的入口点
子程序 定义附加函数
注释 为更好的理解解释代码

Credits: Image by storyset