news 2026/5/10 0:31:31

快速学C语言—— 第一个 C 程序:Hello World

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
快速学C语言—— 第一个 C 程序:Hello World

第1章:第一个 C 程序:Hello World


​ 学习一门新语言,最好的方式就是从创建一个简单的程序开始。
​ 编程的核心是通过指令让计算机完成特定任务,而简单程序能帮助我们快速熟悉语言的基本逻辑和语法框架
​ 在编程界,一直保留着第一个程序是 “Hello World” 的传统。这个传统起源于 1978 年布莱恩·威尔森·克尼汉Brian Wilson Kernighan)和丹尼斯·麦卡利斯泰尔·里奇Dennis MacAlistair Ritchie)合著的《C 程序设计语言》,此后成为无数程序员入门新语言的起点,它能快速验证开发环境是否配置成功,同时让初学者体验 “让计算机输出内容” 的核心流程
​ 首先,我们需要在集成开发环境(IDE)或文本编辑器中创建一个新文件,并将其保存为hello.c(.c 扩展名是 C 语言源文件的标识,编译器通过该扩展名识别 C 语言代码)。然后,输入以下代码:
hello.c

#include<stdio.h>intmain(){printf("Hello, World!\n");return0;}

​ 这个简单的程序包含了 C 语言最基本的框架,看似简短却涵盖了程序运行的核心要素。我们来逐行解析它的含义和作用:
​ ●#include <stdio.h>:这行代码是预处理器指令,作用是告诉编译器在编译前 “包含” 标准输入输出头文件(stdio.h)。可以把它理解为 “导入工具库”——stdio.hstdio.h中封装了打印输出、读取输入等基础功能函数,printf就是其中之一,没有这行代码,计算机无法识别printf函数的功能。
​ ●int main() { ...... }:这是程序的主函数,也是 C 程序的唯一入口点。每一个可运行的 C 程序都必须有且仅有一个main函数,计算机运行程序时,会从main函数里的第一条指令开始执行。int表示函数执行完毕后会返回一个整数给操作系统。花括号{}界定了函数体的范围,所有需要执行的指令都必须写在这对花括号内。
​ ●printf("Hello, World!\n");:这是函数调用语句,功能是向屏幕打印双引号内的字符串printf来自之前包含的stdio.h头文件,双引号中的 “Hello, World!” 是要输出的内容;末尾的\n是转义字符,代表 “换行”,能让输出后光标自动移到下一行,使结果更整洁。需要注意的是,C 语言中每条语句的结尾都必须加半角分号;,用于标记语句结束,这是语法强制要求。
​ ●return 0;:这是主函数的返回语句。返回值 0 是编程中的约定,用于告诉操作系统 “程序正常执行完毕,没有出现错误”;如果返回非 0 值,则通常表示程序运行过程中出现了异常。

​ C 语言是编译型语言,我们编写的源代码(hello.c)是人类可读的文本文件,计算机无法直接执行。必须通过编译器(如 GCC、Clang、MinGW 等)将其翻译成机器能识别的二进制指令,这个过程称为 “编译”,编译后会生成可执行文件。
​ 编译和运行的操作方式因开发工具不同而有所差异:
​ ● 若使用 IDE(如 Dev-C++、Code::Blocks、Visual Studio):通常只需点击界面上的 “构建”(Build)或 “运行”(Run)按钮,IDE 会自动完成编译、链接和运行步骤,无需手动输入命令。
​ ● 若在命令行中使用 GCC 编译器:打开命令行终端,切换到hello.c所在的文件夹,输入以下命令:

gcc hello.c

​ 这条命令中,gcc是编译器指令,hello.c是要编译的源文件,编译后生成的可执行文件名为 hello(Windows 系统下会自动生成 hello.exe,Linux 和 macOS 下为 hello)。
​ 如果编译没有错误,运行可执行文件后,你将在屏幕上看到一行清晰的输出:

Hello, World!-------------------------------- Process exited after0.04838seconds withreturnvalue0请按任意键继续...

​ “Hello, World” 程序虽然简单,但它的意义远不止于输出一句话。它是你理解C 语言程序结构(头文件包含、主函数、语句格式)、编译流程(源代码→编译器→可执行文件)的第一个实践案例,为后续学习更复杂的逻辑和功能打下基础。

笔记

  1. .c文件 是 C 语言源文件的标准扩展名,用于区分其他类型的文件(如 C++ 的.cpp、Java 的.java)。

  2. #include< >是 C 语言的预处理命令,用来导入系统头文件(如stdio.h);若导入自定义头文件,需使用#include ""

  3. 每一个可运行的 C 程序都必须有且仅有一个main函数。计算机运行程序时,会从main函数里的第一条指令开始执行。

  4. C 语言用花括号{}界定代码范围,常见于函数体、代码块的开始与结束。

  5. printf()函数是 C 语言的标准输出函数,用于向屏幕打印字符串或变量值,需导入stdio.h头文件才能使用。

  6. 语句结尾的分号;不能遗漏,它是 C 语言的语句结束标记,遗漏会导致编译语法错误。

  7. \n是转义字符,代表 “换行”,能让输出后光标自动移至下一行,类似键盘的回车键功能。

  8. return 0;是主函数的返回语句,返回值 0 代表程序正常执行完毕,非 0 值通常表示程序运行异常。

  9. 我们需要简化出C语言代码的通用结构:

    #include<XXX.h>//导入需要的工具。intmain(){//在这里写代码。return0;}
  10. C 语言是编译型语言,源代码(.c 文件)需通过编译器(如 GCC、Clang)翻译成二进制可执行文件后,才能被计算机执行。

  11. Windows 系统下,编译生成的可执行文件扩展名为.exe(如hello.exe)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 0:30:43

从贝叶斯网络到结构因果模型:因果推理在可解释AI中的实践

1. 从概率关联到因果认知&#xff1a;为什么我们需要超越贝叶斯网络在机器学习项目里摸爬滚打十几年&#xff0c;我见过太多“相关性不等于因果性”带来的坑。一个经典的场景是&#xff1a;你的模型精准地预测到&#xff0c;每当冰淇淋销量上升&#xff0c;溺水事故也会增加。模…

作者头像 李华
网站建设 2026/5/10 0:29:55

AI工作流集成:从自动化到智能化的任务处理系统构建

1. 项目概述&#xff1a;当AI工作流遇上任务自动化最近几年&#xff0c;我身边做项目管理、运营和研发的朋友&#xff0c;几乎都在抱怨同一件事&#xff1a;日常工作中充斥着大量重复、琐碎但又必须有人去做的“计算型”任务。这里的“计算”不单指数学运算&#xff0c;而是泛指…

作者头像 李华
网站建设 2026/5/10 0:25:11

ChatGemini部署指南:基于React与反向代理的Gemini AI客户端实战

1. 项目概述与核心价值如果你和我一样&#xff0c;对ChatGPT的交互体验爱不释手&#xff0c;但又想体验一下Google Gemini模型的能力&#xff0c;或者手头正好有Gemini的API额度&#xff0c;那么ChatGemini这个项目绝对值得你花时间研究一下。简单来说&#xff0c;它是一个用Re…

作者头像 李华
网站建设 2026/5/10 0:23:56

CANN/AMCT算法介绍文档

算法介绍 【免费下载链接】amct AMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。 项目地址: https://gitcode.com/cann/amct 仅权重量化算法 ARQ ARQ &#xff08;Adaptive Range Quantization&#xff09;算法是对权重直接量化的算法。该算法提供了两种方式&…

作者头像 李华
网站建设 2026/5/10 0:23:05

基于SocialDAO的性勒索防御系统:技术架构与工程实践

1. 项目概述&#xff1a;一个面向未来的性勒索综合防御体系在数字生活的阴影面&#xff0c;性勒索&#xff08;Sxtortion&#xff09;正成为一种日益猖獗且极具破坏性的网络犯罪。它利用受害者的私密信息或影像进行威胁、敲诈&#xff0c;造成的心理创伤和社会伤害往往难以估量…

作者头像 李华
网站建设 2026/5/10 0:19:10

基于深度学习的咳嗽音诊断:从声学特征到AI模型实战解析

1. 项目概述&#xff1a;从“听声辨病”到智能诊断的跨越作为一名在医疗科技领域摸爬滚打了十多年的从业者&#xff0c;我见证过太多技术从实验室走向临床的曲折历程。最近几年&#xff0c;一个听起来颇具科幻感的概念——“AI听咳嗽声诊断疾病”&#xff0c;正以前所未有的速度…

作者头像 李华