从零开始的C++第一天:搭建环境、编写代码到成功运行
写给所有想学C却不知从何下手的初学者一、引言为什么要从C开始在开始动手之前先花两分钟回答一个你最可能有的疑问市面上编程语言那么多为什么偏偏要学CC能做什么C的应用场景比你想象的要广泛得多领域代表产品/应用操作系统Windows内核、macOS部分组件、Linux驱动游戏开发虚幻引擎Unreal Engine、Unity底层、3A大作嵌入式系统汽车ECU、智能家电、医疗设备、航天器控制金融高频交易毫秒级响应速度C是首选数据库MySQL、PostgreSQL等核心引擎均用C/C编写人工智能/机器学习TensorFlow底层、PyTorch部分核心为什么值得花时间学习理解计算机的本质C让你直接操作内存、管理资源这种“贴近硬件”的特性能帮你真正理解计算机是如何工作的。一通则百通学好了C再去学Java、Python、Rust等语言会发现很多概念类、继承、多态、异常处理都是相通的。就业前景广阔C开发者一直是高薪岗位的常客尤其是在游戏、金融、自动驾驶等高性能计算领域。经久不衰C已经有40多年的历史至今仍在不断更新C20、C23是真正的“常青树”。二、第一步搭建开发环境安装Visual Studio原则用最省事的方式让电脑准备好C编译环境。为什么推荐Visual Studio对小白来说Visual Studio 是最省心的选择因为它一站式安装装一个软件编译器、调试器、代码编辑器全有了无需手动配置不像VSCode需要自己折腾json配置文件官方支持微软出品Windows平台体验最佳。详细安装步骤步骤1下载安装程序访问 Visual Studio 官网找到Visual Studio 2022 Community社区版的下载链接。Community版对个人开发者、学生完全免费。步骤2运行安装器双击下载的vs_community.exe点击“继续”等待安装器下载必要文件。步骤3选择工作负载最关键的一步在“工作负载”选项卡中务必勾选“使用C的桌面开发”。这个选项包含了MSVC编译器Microsoft C编译器Windows SDK调用Windows系统功能所需核心库和调试工具如果漏选装完会发现无法编译任何C程序还得回头补装。![工作负载选择示意勾选“使用C的桌面开发”]步骤4点击右下角的“安装”按钮之后系统会下载并安装所选组件这个过程可能需要10-30分钟取决于网速建议泡杯咖啡耐心等待。步骤5启动Visual Studio安装完成后在开始菜单找到“Visual Studio 2022”并打开。首次启动时可能会让你登录微软账号可以跳过和选择主题颜色推荐深色主题保护眼睛。 备选方案轻量级工具如果你电脑配置较低或者暂时不想安装庞大的Visual Studio也可以考虑方案适用场景特点VSCode MinGW追求轻量化、喜欢折腾配置需要手动安装GCC编译器并配置环境变量对新手不太友好在线编译器临时体验、无安装环境推荐 Programiz 或 OnlineGDB打开网页即写即跑⚠️建议第一天先用Visual Studio跑通流程之后再考虑换其他工具。不要因为工具折腾而消磨了学习热情。三、第二步创建并运行你的第一个程序——“Hello, World!”环境准备好之后我们来完成那个经典时刻让计算机对你说“Hello, World!”。3.1 创建新项目步骤1启动Visual Studio在启动窗口点击“创建新项目”。步骤2在弹出的模板列表中在搜索框输入“控制台”然后选择“控制台应用”语言为C图标是一个黑色的终端窗口。步骤3填写项目信息项目名称输入HelloWorld位置可以保留默认路径或选择自己熟悉的文件夹解决方案名称通常和项目名保持一致即可点击“创建”按钮。3.2 Visual Studio会自动帮你生成代码项目创建完成后你会看到编辑器中已经有一段现成的代码。它长这样cpp复制下载#include iostream int main() { std::cout Hello World!\n; }恭喜这其实就是你的第一个C程序了。但在运行它之前我们先来逐行理解它。3.3 逐行解读这六行代码到底在做什么cpp复制下载#include iostream // 第1行引入“工具箱”#include是预处理指令意思是“把后面这个文件的内容拿过来用”。iostream是C标准库中的输入输出流头文件它提供了向屏幕输出内容cout和从键盘读取内容cin的能力。翻译成人话就是“我要用屏幕和键盘请帮我准备好相关工具。”cpp复制下载int main() // 第2行程序的大门main是程序的唯一入口。无论你的程序有多少万行代码计算机永远从main函数开始执行。int表示这个函数执行完后会返回一个整数用来告诉操作系统程序是否正常结束。()里可以放参数这个版本我们先空着。翻译成人话“这里是程序的起点一切从这里开始。”cpp复制下载{ // 第3行代码块的开始左花括号{标记着一个代码块的开始。它和后面的}成对出现包裹着main函数的所有指令。cpp复制下载std::cout Hello, World!\n; // 第4行核心指令std::cout标准输出流standard output可以想象成一个指向屏幕的“打印机”。输出操作符意思是“把右边的数据送进左边的‘打印机’”。Hello, World!\n要打印的文本内容。\n是一个转义字符表示换行。;分号表示这句指令结束。C中每条执行语句后面都必须有分号。翻译成人话“在屏幕上打印‘Hello, World!’然后换行。”cpp复制下载return 0; // 第5行报告结果return是返回语句把后面的值返回给调用者这里是操作系统。0在C的约定中表示“程序运行成功一切正常”。翻译成人话“任务完成一切顺利我退出了。”cpp复制下载} // 第6行代码块的结束右花括号}标记着main函数代码块的结束。程序运行到这里就正式结束了。3.4 运行你的第一个程序代码写完并理解之后终于到了动手的时刻确保上面的代码正确输入在编辑器中其实VS已经帮你写好了。点击顶部菜单栏的“调试” → “开始执行不调试”或者直接按快捷键Ctrl F5。这时候会弹出一个黑色的命令行窗口屏幕上显示text复制下载Hello, World!太棒了你成功运行了人生中第一个C程序温馨提示程序运行完后窗口会自动关闭。如果你想让它停留住看结果可以在return 0;之前加一行std::cin.get();这样窗口会等待你按任意键再关闭。四、第三步第一天还需要了解什么成功运行程序后你已经迈出了最艰难的一步。在第一天结束前再补充四个核心概念为明天的学习打下基础。4.1 变量与基础数据类型程序本质上就是“处理数据”。而变量就是存放数据的“盒子”。C中最常用的几种基础数据类型数据类型中文名用途举例int整型存储整数int age 25;double双精度浮点型存储小数精度高double price 99.99;float单精度浮点型存储小数精度低省内存float score 95.5f;char字符型存储单个字符char grade A;bool布尔型存储真/假bool isPass true;示例代码cpp复制下载#include iostream int main() { int age 18; // 声明一个整数变量 double height 1.75; // 声明一个小数变量 char grade A; // 声明一个字符变量 std::cout 年龄 age std::endl; std::cout 身高 height 米 std::endl; std::cout 等级 grade std::endl; return 0; }4.2 基本输入输出让程序和你对话我们已经会用std::cout向屏幕输出内容。现在来学习std::cin它让程序从键盘读取用户的输入实现最简单的互动。cpp复制下载#include iostream #include string // 使用字符串需要引入这个头文件 int main() { std::string name; // 声明一个字符串变量用于存放姓名 std::cout 请输入你的名字; std::cin name; // 从键盘读取输入存入 name 变量 std::cout 你好 name 欢迎来到C的世界 std::endl; return 0; }运行后程序会等待你输入名字按回车后它就会向你打招呼——你写的程序已经能和你“对话”了4.3 条件判断让程序做决策程序之所以“智能”是因为它能根据不同情况做出不同的反应。if语句就是实现决策的基础工具。cpp复制下载#include iostream int main() { int score; std::cout 请输入你的考试分数; std::cin score; if (score 60) { std::cout 恭喜你及格了 std::endl; } else { std::cout 别灰心继续加油 std::endl; } return 0; }这就是程序做决策的逻辑条件成立时走一条路不成立时走另一条路。五、进阶视野C的“三驾马车”如果你学有余力可以了解一下C开发者在Windows平台上经常打交道的三个核心领域。这能帮你建立对C生态的全局认知名称全称作用STL标准模板库C自带的“百宝箱”包含容器vector、map、算法排序、查找、迭代器等是日常开发中最常用的库MFC微软基础类库微软提供的C类库用于快速开发传统Windows桌面应用程序带窗口、按钮、菜单的GUI程序Windows APIWindows应用程序编程接口最底层的Windows系统调用接口直接用C语言风格函数操作窗口、进程、文件、网络等第一天你只需要知道它们的存在以后学到的知识最终都会和它们产生交集。六、第一天的最后一件事到此你的C第一天学习旅程已经圆满完成。请记住你安装了专业的开发工具Visual Studio你成功编写并运行了第一个程序Hello, World!你了解了变量、输入输出和条件判断三大基石你对C的应用领域和生态有了初步认知。第一天的目标不是记住一切而是体验完整流程建立信心。明天你可以沿着官方的学习路径继续前进Microsoft Learn 官方视频课程“C常规用途语言和库”系列官方教程“用C创建控制台计算器”——在Hello World的基础上做一个真正能用的计算器种一棵树最好的时间是十年前其次是现在。恭喜你在今天种下了一棵C之树。欢迎正式踏入C的世界。我们明天见

相关新闻

为什么你的Claude解释总被质疑可信度?:权威认知科学×LLM推理机制双验证的6步概念锚定法

为什么你的Claude解释总被质疑可信度?:权威认知科学×LLM推理机制双验证的6步概念锚定法

更多请点击: https://intelliparadigm.com 第一章:为什么你的Claude解释总被质疑可信度? 当用户向Claude提问“这段Python代码为何抛出 KeyError?”并获得看似合理的解释时,却常被同行指出结论错误——这并非偶然。背…

2026/8/2 15:17:55 阅读更多 →
模型上下文窗口崩溃故障全解析,深度解读Claude 3.5长文本处理的3层缓冲隔离设计

模型上下文窗口崩溃故障全解析,深度解读Claude 3.5长文本处理的3层缓冲隔离设计

更多请点击: https://kaifayun.com 第一章:模型上下文窗口崩溃故障的典型现象与根本归因 当大语言模型超出其预设上下文窗口长度处理输入时,常触发不可恢复的推理中断或静默截断,表现为输出突兀终止、关键信息丢失、生成逻辑断裂…

2026/8/1 9:06:28 阅读更多 →
Perforce ALM 对比 Jama Connect:选型指南与核心差异深度解析

Perforce ALM 对比 Jama Connect:选型指南与核心差异深度解析

在汽车、医疗器械与航空航天等高合规性行业,需求从定义到验证的全链路双向追溯,是满足 ISO 26262 等功能安全标准的绝对前提。然而,传统基于电子表格或割裂工具链的管理模式,正面临效率低下与合规举证困难的双重瓶颈。 面对严苛的…

2026/8/3 20:15:07 阅读更多 →

最新新闻

Godot 4.2 多平台安装配置全指南:从零到运行第一个项目

Godot 4.2 多平台安装配置全指南:从零到运行第一个项目

1. 项目概述:为什么你需要这份指南? 如果你正在寻找一个免费、开源、功能强大且对独立开发者极其友好的游戏引擎,那么Godot 4.2绝对是你绕不开的选择。无论是想制作2D像素风小品,还是尝试3D原型,Godot都能提供一套完整…

2026/8/4 8:10:22 阅读更多 →
企业招聘必备:背调软件核心技术与应用解析

企业招聘必备:背调软件核心技术与应用解析

1. 背调软件为何成为企业招聘刚需 最近三年,企业HR圈子里出现一个明显变化:10人以上的正规公司招聘,基本都会在发offer前加一道背调流程。上周帮朋友公司做招聘审计,发现他们去年因简历造假产生的用人风险直接导致近百万损失。这让…

2026/8/4 8:10:22 阅读更多 →
阿里云oss存储桶

阿里云oss存储桶

1)点击头像,然后创建key 2)阻止公共访问修改 3)下载终端 在Windows macOS和Linux上下载并安装ossbrowser 2.0-对象存储-阿里云-对象存储(OSS)-阿里云帮助中心 4)输入 AccessKey ID LTxxxxAccessKey Secret lxxxx

2026/8/4 8:10:22 阅读更多 →
4G低功耗土壤温湿度采集器:数据多人共享,团队协同监管更高效

4G低功耗土壤温湿度采集器:数据多人共享,团队协同监管更高效

在智慧农业、气象监测、市政绿化、生态种养等领域,土壤温湿度是衡量土地墒情、指导农事作业、监测生态环境的核心基础数据。传统土壤监测设备大多存在供电繁琐、防护性差、数据传输单一、平台适配难度高、野外续航能力弱等问题,难以适配田间、露天、盐碱…

2026/8/4 8:10:22 阅读更多 →
Unity开发核心:向量运算与坐标系转换实战指南

Unity开发核心:向量运算与坐标系转换实战指南

1. 项目概述:为什么向量和坐标系是Unity开发的基石如果你刚开始接触Unity3D,可能会觉得那些飞来飞去的游戏物体、流畅的镜头移动和精准的碰撞检测很神奇。但当你真正上手写代码,想让一个角色朝鼠标点击的位置移动,或者让一个物体绕…

2026/8/4 8:10:22 阅读更多 →
Godot GDScript性能优化:从类型注解到内存管理的实战技巧

Godot GDScript性能优化:从类型注解到内存管理的实战技巧

1. 项目概述:为什么GDScript性能优化是Godot开发者的必修课如果你正在用Godot引擎做项目,尤其是目标平台是移动端或者有大量实体交互的复杂场景,那么“性能”这个词迟早会跳出来敲打你。GDScript作为Godot的原生脚本语言,以其简洁…

2026/8/4 8:09:22 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/3 13:07:03 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/3 5:19:38 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →