作者:咏方舟-长江支流  日期:2026-02-19

  《C++ 零基础到底层实战-全套31篇 · 体系化教程》,从环境安装→基础语法 → 面向对象 → 多线程 → 智能指针 → 鸿蒙原生开发,一套打通:桌面开发 / 嵌入式 / 鸿蒙 / 高薪底层开发。

🔰 C++零基础入门 · 第2篇 第一个HelloWorld程序

✅ 标准C++ 🖥️ Windows VS2022 📱 鸿蒙 DevEco 🐧 Linux GCC 🍎 macOS Clang

📌 标准C++跨平台说明

本系列所有代码均采用标准C++,不依赖任何平台特有API。今天学习的HelloWorld,今后可以直接运行在鸿蒙Native C++工程、Linux、macOS等任何支持标准C++的环境。VS2022是我们高效的开发工具,但你的代码属于全平台。

【C++零基础入门】第2篇:第一个 C++ 程序- HelloWorld 、逐行详解

本节目标

  • 创建项目(C++控制台应用)
  • 了解项目结构目录
  • 看懂最简单 C++ 程序
  • 运行
  • 知道每一行代码作用
  • 能自己修改输出内容
  • 单步调试代码(逐语句、逐过程、断点)
  • 跨平台

创建项目

在开始菜单中点击 Visual Studio ,打开Visual Studio ,可以“打开最近使用的内容”,也可以直接点击“创建新项目”,还可以点击“继续但无代码”而打开Visual Studio集成开发环境,简称IDE

在 Visual Studio 中,打开 “文件 ”菜单,然后选择“ 新建 > 项目 ”以打开“ 创建新项目 ”对话框。 选择C++ 控制台应用,然后选择“下一步”。

“配置新项目”对话框中,在“项目名称编辑”框中输入 HelloWorld,因为VS中一个解决方案可以包含1个或多个项目,这里只一个演示项目,所以钩选“将解决方案和项目放在同一个目录中,可以在“位置”中更改项目目录。  

然后选择“创建”,以创建项目,系统自动生成代码。

项目目录结构

在解决方案资源管理器(如果已隐藏或关闭,主菜单“视图”>“解决方案资源管理器”)中,有一个解决方案(HelloWorld.sln,注VS2026扩展名是.slnx),包含了一个项目,项目中只有一个HelloWorld.cpp源文件。如下图,可以用记事本打开文件,内容是用文本或xml格式记录了它们之前的关系。

代码分析

系统生成的代码只有一个main()函数用{开头}结尾包含一个或多个用半角英文分隔符;分隔的语句,调用标准输出方法cout在输出设备如屏幕显示Hello World并换行,其中\n是C或C++语言中的转义符表示换行,经常见到\r是回车。在cout(你可以理解为C语言out输出)有个前缀std::对初学者不是很好了解,举个例子,我们说仙桃,坐过飞机的人以为你说错了以为是口误应该是桃仙机场,甚至有的知道有一个仙桃机场,而湖北人一说仙桃都知道是说的体操之乡湖北省仙桃市,而前缀就是我国的省级行政湖北省,它其实在国家内部也有统一管理库的,就像cout是由std标准库(标准库是指在编程语言中预先定义的程序,旨在提供常用的功能和工具,以便开发者能够更快速、更高效地编写程序)管理实现,所以std::cout就像是说湖北省.仙桃市带了前缀。因此,在代码第一句#include <iostream>就指出了我们要引用的标准库输入输出流,C或C++有一个.h开头的文件叫头文件用于申明程序功能,而用.cpp文件即C或C++代码去实现头文件的功能。而用#include就是说我们这段代码要借用它的功能调用之,把它包含进来好给我用。而为了去掉这烦人的前缀避免总要键盘输入提高编码效率和程序可读性,就使用它对应的规范名字空间(就是为了分类、也避免重名即使重名在不同分类中也可以区别),这样,我们就如我们像本地人一样直接知道仙桃,而外国人还得加上中国.湖北省.仙桃市,(现在好像更明白外国人写英语件地址为什么倒着写了吧:)

终上所述,一段C++代码,通常用#include包含头文件并有一个.cpp文件实现功能。但是所有程序,有且包含有一个程序运行的入口,这个入口就是main()函数。为了简化或方便快速编写程序,省略前缀,我们就要用到using关键字例如using namespace std;

运行

按F5或点「本地Windows调试器」

运行结果
Hello World!

完整代码

经过上述代码分析,我们对代码作如下改动:

我们增加using namespace std并用;结束这个语句

去掉cout的前缀,编译器会去寻找匹配namespace

将/n换行去掉,我们使用endl用于实现换行,并且刷新缓冲区,但是我们不是直接改程序,而是在程序前增加 // 表示注释掉这一行,方便理解和阅读代码。编译器会忽略这行注释的代码。

注意main()函数前有一个 int关键字,表示函数要返回一个整数,我们写程序要严谨增加return 0表示函数结束后返回0。而增加system("pause");是为了程序运行时,不直接退出。有的编译器,从main函数第一句开始,除非遇到需要输入或system("pause"),否则一直运行到}就结束程序。

经过优化的完整代码如下:

#include <iostream>
using namespace std;

int main()
{
    //std::cout << "Hello World!\n";

    cout << "Hello World" << endl;
    system("pause");
    return 0;

}
注:新建项目过程,可参考 [连载] C++ 零基础入门-1.Visual Studio环境安装

​​及评论区的补充说明。

逐行解释
#include <iostream>:输入输出头文件
using namespace std;:标准命名空间
int main():程序入口
cout << ...:输出内容
system("pause");防止闪退
return 0;正常结束

动手练习 把字符串改成你的名字,运行看效果。

单步调试代码

  • 逐语句
    就是在IDE中,看程序运行时,一行一行的语句执行。按F11,程序开始运行,看系统有一个黄色的向右大箭头,表示编译器已运行到此行。系统是一行一行的运行。

    继续按F11,运行下一条语句,系统提示已用时时间...。
     

  • 逐过程
    就是在IDE中,按F10,看程序运行时,当是一个简单的变量或表达式时,黄色的向右大箭头在此行显示,当遇到一个函数时,在逐语句(F11)时会进入函数中一句一句执行,但是在逐过程(F10)中不会进入函数一句一句而是只执行函数一下黄色的向右大箭头之后然后就进入之后的下一句。
  • 断点
    当你想程序快速运行到你想要的地方后停止,方便你查看在那个地方时程序状态,你可以设置断点。在某一行切换烦恼点按F9,或将鼠标在想中断的语句前点一下,会标记一个大红点

    按F5运行程序,系统运行并直接停止留在设置断点的语句。此时你可以查看程序运行状态、监视变量变化。



    技巧:将鼠标光标移动到C++的常量、变量上,会显示对应的值。或在即时窗口、监视中查看变量在运行时的状态,更多技巧请关注公众号给作者留言。

关于跨平台

        在新建项目时,main()函数中,只有一句 std::cout << "Hello World!\n"; 用于输出Hello World!并换行,程序并没有退出,严格说int main()是需要一个返回因此我们增加了return 0;但是程序运行完后就会结束并退出程序,因此我们增加了system("pause")避免闪退,这个调用会暂停程序的执行,直到用户按下任意键继续。但是system("pause")只是针对windows平台特有的,而不是标准C++,为了让程序能在其它操作系统中运行,就要使用标准C++,因此我们需要使用替代方案,等程序运行完成后使用输入让用户敲回车后退出程序。


#include <iostream>
using namespace std;

int main()
{
    //std::cout << "Hello World!\n";
    cout << "Hello World" << endl;
   // system("pause");  
   //不要使用windows平台特有的system("pause"),而用友好提示结束
   
    cout << "程序运行完成,按回车键退出!" << endl;
    std::cin.get();
    return 0;
}

📘 本篇是【C++零基础到底层实战】系列免费教程第2篇,全文step-by-step,小白可直接复制运行。本系列一共分为三大模块:

免费入门:零基础快速上手

进阶精讲:面向对象/内存/STL核心

底层高阶:多线程、智能指针、性能调优、企业级规范(AI很难替代)

后续我会持续更新全套教程,需要的朋友可以关注+收藏,不迷路

如果你想一次性拿到整套体系化PDF,可以看我主页介绍或公众号 金质打印通,从入门到底层,一套打通,自学、做课都能用。


🔔 下一篇预告:第3篇 · 变量与数据类型。标准C++,鸿蒙通用,敬请期待。

—— 用标准C++,一套代码,全平台通行。

—— 本系列所有代码均为标准C++,兼容Windows/鸿蒙/Linux/macOS ——

  大家有什么想法和建议或意见,欢迎在评论区留言,点赞、关注、收藏不迷路!
对华为移动开发、ArkTS、金质打印通感兴趣的朋友,可关注公众号 GoldPrinter 一起交流,谢谢支持!
即日起公众号正式开放,需要本系列完整 PDF 的朋友可以关注领取。
 

声明:本文作者 咏方舟-长江支流 相应内容版权归原作者所有,如需转载,请保留完整的内容及出处。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐