C语言Hello World如何编写运行?

99ANYc3cd6
预计阅读时长 12 分钟
位置: 首页 C语言 正文

完整代码

这是最经典、最基础的 C 语言 "Hello, World!" 程序,你可以将以下代码复制到一个文本文件中,并将其命名为 hello.c

c 语言hello world
(图片来源网络,侵删)
#include <stdio.h>
int main() {
    printf("Hello, World!\n");
    return 0;
}

代码逐行解释

让我们来分解这短短几行代码的含义:

#include <stdio.h>
  • #include:这是一个预处理指令,它在程序编译之前执行,告诉编译器将指定的文件内容包含进来。
  • <stdio.h>:这是要包含的文件名,称为标准输入输出头文件
  • 为什么需要它? 因为我们的程序用到了 printf 函数,这个函数的作用是在屏幕上打印文本。printf 函数的“说明书”就在 stdio.h 文件里,通过包含这个文件,编译器才能认识 printf 并正确地处理它。
int main() {
  • main:这是程序的主函数,任何一个 C 程序都必须有一个 main 函数,它是程序执行的入口点,当程序运行时,操作系统会首先找到并执行 main 函数里的代码。
  • int:表示 main 函数执行完毕后会返回一个整数值(integer)。return 0; 表示程序成功正常结束,返回非零值则表示程序遇到了错误。
  • 括号内可以传递参数,这个基础的程序不需要,所以为空。
  • 花括号内包含了 main 函数的具体执行代码,称为函数体。
    printf("Hello, World!\n");
  • printf:这是 "print formatted" 的缩写,是一个标准库函数,用于在控制台(终端)上格式化输出文本。
  • "Hello, World!":这是要打印的字符串,在 C 语言中,字符串必须用双引号 括起来。
  • \n:这是一个转义字符,代表换行符 (newline),它的作用是在打印完 "Hello, World!" 之后,将光标移动到下一行的开头,如果没有 \n,下一个命令提示符会出现在同一行的末尾。
  • 分号是 C 语言中语句结束符,每一条完整的 C 语句都必须以分号结尾。
    return 0;
  • return:这个关键字用于从函数中返回一个值。
  • 0:我们在这里返回 0,向操作系统表明程序已经成功执行完毕,没有发生任何错误。

如何编译和运行

C 语言是编译型语言,这意味着我们需要一个叫做编译器 的工具,将我们写的 .c 源代码转换成计算机可以直接执行的 .exe (Windows) 或无后缀 (Linux/macOS) 文件。

准备工作:安装编译器

  • Windows:

    • 推荐 MinGW-w64: 这是最常用的 GCC 编译器在 Windows 上的移植版本,你可以通过 MSYS2 项目轻松安装它,安装后,将 MinGW 的 bin 目录添加到系统环境变量 PATH 中。
    • Visual Studio: 安装 Visual Studio Community(免费版),并在安装时选择“使用 C++ 的桌面开发”工作负载,它会自带 C 编译器 (cl.exe)。
  • Linux (如 Ubuntu, Debian):

    c 语言hello world
    (图片来源网络,侵删)
    • 打开终端,输入以下命令安装 GCC:
      sudo apt update
      sudo apt install build-essential
  • macOS:

    • 如果已经安装了 Xcode Command Line Tools,就已经包含了 Clang 编译器(与 GCC 兼容),在终端中运行:
      xcode-select --install

编译和运行步骤

假设你已经将上面的代码保存为 hello.c 文件。

步骤 1:打开终端/命令行工具

  • Windows: 打开 "命令提示符" (CMD) 或 "PowerShell"。
  • Linux/macOS: 打开 "终端" (Terminal)。

步骤 2:导航到文件所在目录

c 语言hello world
(图片来源网络,侵删)

使用 cd (change directory) 命令进入你保存 hello.c 文件的文件夹,如果文件在 C:\Users\YourName\Documents\C-Code

cd C:\Users\YourName\Documents\C-Code

在 Linux/macOS 上,路径可能类似:

cd /home/yourname/c-projects

步骤 3:编译代码

使用 gcc 编译器来编译 hello.c

gcc hello.c -o hello
  • gcc:调用 GCC 编译器。
  • hello.c:你的源文件。
  • -o hello:这是一个选项,-o 后面跟着你希望生成的输出文件名,这里我们将其命名为 hello,如果不写 -o,默认会生成一个名为 a.out (Linux/macOS) 或 a.exe (Windows) 的文件。

步骤 4:运行程序

编译成功后,你会得到一个可执行文件,现在来运行它。

  • 在 Windows 上:

    hello.exe

    或者直接输入:

    hello
  • 在 Linux 或 macOS 上:

    ./hello

    注意: 是用来告诉终端在当前目录下查找并执行该文件。

你将在屏幕上看到预期的输出:

Hello, World!

常见问题与扩展

问题 1:'printf' was not declared in this scope

原因: 忘记包含 #include <stdio.h>解决: 在代码文件开头加上 #include <stdio.h>

问题 2:'main' must return 'int'

原因: 在一些较新的编译器标准(如 C99)中,main 函数必须声明为 int main(void)int main(),而不是 void main()main()解决: 使用 int main()int main(void)

扩展:C++ 版本的 "Hello, World!"

虽然你的问题是关于 C 语言的,但了解 C++ 版本也很有趣,因为它们非常相似。

#include <iostream>
int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

主要区别:

  1. 头文件是 <iostream> (Input/Output Stream)。
  2. 使用 std::cout (character output) 和流插入运算符 << 来输出内容。
  3. std::endl 的作用和 \n 类似,但会强制刷新输出缓冲区。
  4. 编译时通常使用 g++ 而不是 gccg++ hello.cpp -o hello
-- 展开阅读全文 --
头像
Switch Case在C语言中如何高效使用?
« 上一篇 01-18
清华版C语言程序设计适合初学者吗?
下一篇 » 01-18
取消
微信二维码
支付宝二维码

目录[+]