第一个程序:Hello World
嗨,我是长安!
还记得我大二第一次运行出Hello World的时候,那种激动的心情到现在还记得。虽然只是一行简单的输出,但它意味着你已经进入了编程的世界!
为什么是 Hello World?
这是编程界的传统。我当年也很好奇为什么是这个,后来才知道,这就像是编程世界的“你好”,是每个程序员的第一声问候。
这就像是:
- 学音乐时弹的第一个音符
- 学画画时画的第一笔
- 学说话时说的第一个词
简单,但意义重大!✨
完整代码
别担心,虽然看起来有点陌生,但我会一行一行给你讲清楚。我当年也是从这里开始的。
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
逼行解析
现在让我们像拆解乐高积木一样,一块一块来看。这是我当年最帮助我理解的方式。
第1行:#include <stdio.h>
#include <stdio.h>
这是在做什么?
#include的意思是"包含"、"引入"stdio.h是一个标准输入输出库的头文件
类比理解: 想象你要做饭:
#include= 把工具拿出来stdio.h= 锅碗瓢盆(输入输出工具箱)
长安的记忆技巧
stdio = standard input output(标准输入输出) 我当年就是这么记住的,分享给你!
第2行:空行
空行让代码更易读,没有实际功能。就像文章的分段一样。
第3行:int main() {
int main() {
这是程序的主函数,是程序的入口。
分解理解:
int= integer(整数),表示这个函数会返回一个整数main= 主函数的名字(固定的,不能改)()= 函数的参数列表(这里是空的){= 函数体的开始
类比:
main就像一个故事的开头- 程序从这里开始执行
- 就像电影从第一幕开始
第4行:printf("Hello, World!\n");
printf("Hello, World!\n");
**这是真正干活的一行!**打印文字到屏幕。我第一次看到这行代码运行出结果,那种成就感真的难忘!
分解:
printf= print formatted(格式化打印)"Hello, World!"= 要打印的内容(双引号表示这是文本)\n= 换行符(让光标移到下一行);= 语句结束符号(每条语句都要加)
注意:
- 前面有4个空格(缩进),让代码更整齐
- 分号
;千万不要忘!
第5行:return 0;
return 0;
含义:
return= 返回0= 返回值(0表示程序正常结束)
类比: 就像考试交卷:
return= 交卷0= 成绩(0表示满分,没错误)
第6行:}
}
函数体的结束标记,与第3行的 { 配对。
完整流程图
graph TB
A[程序开始] --> B[引入stdio.h库]
B --> C[进入main函数]
C --> D[执行printf打印Hello World]
D --> E[返回0]
E --> F[程序结束]
动手实践
步骤1:创建文件
- 打开你的编辑器(VS Code 或 Dev-C++)
- 新建文件,命名为
hello.c - 注意扩展名必须是
.c
步骤2:输入代码
把上面的代码一字不差地输入进去:
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
长安提醒细节
这些细节很重要,我当年就因为用了中文分号,找了两个小时的bug:
- 所有标点符号都是英文标点(半角)
- 大小写要准确(
main不能写成Main) - 分号
;千万别忘,这是我最常犯的错误 - 花括号
{}必须配对
步骤3:保存文件
- VS Code:按
Ctrl + S - Dev-C++:点击"文件" → "保存"
步骤4:编译运行
使用VS Code:
- 按
Ctrl + Shift + B编译 - 在终端输入:
.\hello.exe
使用Dev-C++:
- 按
F11(或点击"编译运行") - 会弹出一个黑色窗口
步骤5:查看结果
你应该看到:
Hello, World!
如果看到了,恭喜你! 🎉 你已经成为程序员了!
我还记得我第一次看到这行输出时,激动地发了朋友圈😂
常见错误及解决
错误1:找不到stdio.h
fatal error: stdio.h: No such file or directory
原因:编译器没装好或路径不对
解决:
- 检查编译器是否安装
- 重新配置环境变量
错误2:未声明的函数
error: 'printf' undeclared
原因:忘记写 #include <stdio.h>
解决:在文件开头加上这一行
错误3:找不到main函数
undefined reference to 'main'
原因:
- main拼写错误(比如写成Main)
- 没有main函数
解决:检查main的拼写
错误4:缺少分号
error: expected ';' before 'return'
原因:某一行少了分号
解决:在提示的位置加上 ;
进阶练习
现在你已经会写Hello World了,试试这些变化。这些都是我当年练手的小练习,分享给你:
练习1:打印你的名字
#include <stdio.h>
int main() {
printf("Hello, 我是小明!\n");
return 0;
}
练习2:打印多行
#include <stdio.h>
int main() {
printf("Hello, World!\n");
printf("这是我的第一个C程序\n");
printf("学编程真有趣!\n");
return 0;
}
输出:
Hello, World!
这是我的第一个C程序
学编程真有趣!
练习3:一次打印多行
#include <stdio.h>
int main() {
printf("第一行\n第二行\n第三行\n");
return 0;
}
练习4:打印图案
#include <stdio.h>
int main() {
printf(" *\n");
printf(" ***\n");
printf("*****\n");
printf(" ***\n");
printf(" *\n");
return 0;
}
输出:
*
***
*****
***
*
知识点总结
C程序的基本结构
#include <头文件> // 引入需要的库
int main() { // 主函数(程序入口)
语句1; // 执行的代码
语句2;
return 0; // 返回值
}
必须记住的点
- ✅ 每个C程序必须有一个
main函数 - ✅ 每条语句结尾要加分号
; - ✅ 花括号
{}必须配对 - ✅ C语言区分大小写
- ✅ 注释用
//(单行)或/* */(多行)
printf 的转义字符
| 转义字符 | 含义 | 示例 |
|---|---|---|
\n | 换行 | printf("第一行\n第二行"); |
\t | 制表符(Tab) | printf("姓名\t年龄"); |
\\ | 反斜杠 | printf("C:\\Windows"); |
\" | 双引号 | printf("\"Hello\""); |
小测验
试着自己写出下面的程序(不看答案):
题目1
打印你的个人信息:
姓名:xxx
年龄:xx
爱好:xxx
题目2
打印一个简单的边框:
**********
* *
* Hello! *
* *
**********
题目3
打印一个表格:
姓名 年龄 城市
---- ---- ----
小明 18 北京
小红 19 上海
答案参考
点击查看答案
题目1答案:
#include <stdio.h>
int main() {
printf("姓名:小明\n");
printf("年龄:18\n");
printf("爱好:编程\n");
return 0;
}
题目2答案:
#include <stdio.h>
int main() {
printf("**********\n");
printf("* *\n");
printf("* Hello! *\n");
printf("* *\n");
printf("**********\n");
return 0;
}
题目3答案:
#include <stdio.h>
int main() {
printf("姓名\t年龄\t城市\n");
printf("----\t----\t----\n");
printf("小明\t18\t北京\n");
printf("小红\t19\t上海\n");
return 0;
如果看到了,恭喜你! 🎉 你已经成为程序员了!
我还记得我第一次看到这行输出时,激动地发了朋友圈😂
下一步
学会了Hello World,我们继续学习变量和数据类型!
👉 变量和数据类型
🎯 长安的学习建议
这些建议是我用时间换来的:
- 把上面的每个练习都自己敲一遍,别复制粘贴
- 试着修改代码,看看会发生什么。我当年就是这么摸索的
- 不要怕出错,我现在还经常写bug呢
- 每天练习30分钟,比一次学5小时效果好得多(血的教训)