Bootstrap

1. C语言程序结构与编译执行


前言

在深入学习C语言编程之前,了解其基本构建块和程序结构是非常重要的。本文将详细介绍一个简单的C程序,并探讨如何编译和运行它。我们将从基础开始,逐步深入,确保读者能够全面理解每一个步骤。


C程序的基本结构

一个典型的C程序主要包括以下几个部分:

  1. 预处理器指令:用于包含头文件和其他预处理命令。
  2. 主函数:程序的入口点。
  3. 变量声明:用于存储数据。
  4. 语句和表达式:实现程序的逻辑功能。
  5. 注释:帮助解释代码的功能和逻辑。

示例代码

让我们来看一段简单的代码,它可以输出“Hello, World!”:

#include <stdio.h>

int main() {
    /* 我的第一个 C 程序 */
    printf("Hello, World! \n");
    return 0;
}

代码解析

  1. 预处理器指令#include <stdio.h> 告诉编译器在实际编译之前要包含 stdio.h 文件,该文件包含了输入输出函数的声明。
  2. 主函数int main() 是程序的入口点,从这里开始执行。
  3. 注释/* ... */ 之间的内容是注释,不会被编译器执行。它们用于解释代码的功能和逻辑。
  4. 打印函数printf("Hello, World! \n"); 是一个标准库函数,用于在屏幕上显示消息。
  5. 返回值return 0; 终止 main() 函数,并返回值 0,表示程序成功结束。

编译和运行C程序

接下来,我们看看如何保存源代码、编译并运行它。以下是详细的步骤:

保存源代码

  1. 打开一个文本编辑器(如Notepad++、VSCode等)。
  2. 将上述代码复制粘贴到编辑器中。
  3. 保存文件为 hello.c

编译源代码

  1. 打开命令提示符(Windows)或终端(Linux/Mac)。
  2. 使用 cd 命令导航到保存 hello.c 文件的目录。
  3. 使用 gcc 编译器编译代码:
    gcc hello.c -o hello
    
    • gcc 是GNU编译器集合的命令。
    • hello.c 是源文件名。
    • -o hello 指定输出文件名为 hello

运行可执行文件

  1. 在命令提示符或终端中,输入以下命令运行生成的可执行文件:
    ./hello
    
    • Windows系统上,直接输入 hello 即可。
  2. 您会看到屏幕上显示 “Hello, World!”。

注意事项

目标文件路径和名称

如果不指定目标文件名,默认生成的可执行文件名为 a.out(Linux)或 a.exe(Windows)。可以使用以下命令指定目标文件路径及文件名:

gcc hello.c -o target/hello

其中,target 目录必须已存在。如果不存在,可以先创建该目录:

mkdir target
gcc hello.c -o target/hello
避免程序一闪而过

在Windows系统上,生成的 .exe 文件运行时会一闪而过,这是因为 main() 函数结束时,DOS窗口会自动关闭。为了避免这个问题,可以在 return 0; 前加入 system("pause"); 语句:

#include <stdio.h>
#include <stdlib.h> 

int main() {
    /* 我的第一个 C 程序 */
    printf("Hello, World! \n");
    system("pause");      //暂停函数,请按任意键继续...
    return 0;
}

这样,程序会在执行完 printf 后等待用户按键,从而可以看到结果。

使用批处理文件避免闪退

另一种方法是创建一个批处理文件(*.bat),自动定位到当前 .exe 文件所在目录并运行程序:

  1. 在当前目录下创建一个文本文档,并将其重命名为 run_hello.bat
  2. 编辑 run_hello.bat 文件,添加以下内容:
    cmd /k "cd %cd% && hello"
    
  3. 双击 run_hello.bat 文件,即可运行 hello.exe 并查看结果。

总结

通过以上步骤,您可以顺利编译和运行一个简单的C程序,并掌握一些实用的技巧来避免常见的问题。希望这篇文章对您有所帮助!


;