ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

第 1 课 · 第二部分:C++ 程序从哪里开始执行?

第 1 课 · 第二部分:C++ 程序从哪里开始执行? 第 1 课 · 第二部分C 程序从哪里开始执行我们看一个最小的程序#include iostream int main() { std::cout 123 std::endl; return 0; }今天先重点认识#include iostream和int main() { }一、先理解main()这一段int main() { // 程序内容 }你现在可以把main理解成程序的入口。电脑运行这个程序时会去找main()然后从这里开始执行。可以想象成一栋楼C 程序 ↓ ┌─────────┐ │ main() │ ← 大门 └─────────┘ ↓ 一行一行执行例如int main() { int a 3; int b 5; int c a b; std::cout c std::endl; return 0; }电脑大致按照进入 main ↓ 创建 a存 3 ↓ 创建 b存 5 ↓ 计算 ab ↓ 把结果存入 c ↓ 输出 c ↓ return 0 ↓ 程序结束二、main()后面的()是什么你会看到main()这里()是一对圆括号。在 C 里看到这种形式名字()通常和一个非常重要的概念有关函数我们后面会专门学函数。现在只需要知道main()表示main是一个函数。所以完整来说main()是程序开始执行时进入的主函数。以后你会自己写moveArm()openGripper()calculateAngle()这些也会是函数。所以它和机械臂编程其实非常相关。例如以后可能看到int main() { moveArm(); openGripper(); }你现在暂时可以理解成程序开始 ↓ 执行 moveArm ↓ 执行 openGripper三、{ }是什么看int main() { int a 3; int b 5; }这里有{和}它们叫花括号 / 大括号你可以暂时理解为划出一个范围。例如int main() { 这里面的代码属于 main }画出来就是main │ ├── { │ │ int a 3; │ int b 5; │ └── }所以{ }非常像一个“盒子”。以后你会大量看到if (...) { }for (...) { }while (...) { }class Robot { };所以花括号是 C 中非常重要的符号。四、int main()前面的int又是什么你已经知道int a 3;里面的int表示整数。可是这里int main()为什么也有int这里的意思不完全一样。先简单理解main()执行结束后会返回一个整数。比如最后return 0;就是main 执行完以后返回整数0。所以int main()可以粗略理解成这是一个叫 main 的函数 它最后会返回一个 int 类型的整数现在先记住这个关系int main() { return 0; }前后是对应的int ↓ 我最后会返回一个整数 return 0; ↑ 实际返回整数 0五、return 0;是什么意思对于现在的初学阶段可以理解为return 0;表示程序正常执行完了。其中return就是返回。而0通常表示正常结束。所以int main() { return 0; }可以先翻译成进入 main 什么也不做 正常结束程序六、那最上面的#include iostream是干什么的现在进入一个新的东西。#include iostream这句话和std::cout有关。我们想使用std::cout来向屏幕输出内容。但是cout并不是你自己写出来的。它是 C 已经帮我们准备好的工具。这个工具放在一个叫iostream的东西里。所以#include iostream你可以先理解为我要使用 C 提供的输入输出工具请把它准备好。用机械臂来类比假设你要拧螺丝。但是你的工作台上目前没有螺丝刀。你先说把螺丝刀工具箱拿过来然后才能使用螺丝刀在 C 里类似#include iostream相当于把输入输出工具准备进来然后std::cout相当于使用其中的输出工具因此#include iostream int main() { std::cout 123 std::endl; return 0; }你可以暂时翻译成准备输入输出工具 程序从 main 开始 输出 123 然后换行 程序正常结束七、为什么是iostream这里iostream是一个名字。先不用深挖它的内部结构。iostream可以粗略拆成io stream其中I/O是Input / Output 输入 / 输出所以你以后经常听到I/O 操作其实就是输入输出操作。比如键盘输入 屏幕输出 文件读取 文件写入 串口收发这些都和“输入输出”有关。这个概念以后对机器人编程非常重要。例如摄像头 → 输入 编码器 → 输入 串口接收电机状态 → 输入 发送电机目标角度 → 输出 打印调试信息 → 输出 保存实验数据 → 输出八、现在把整个程序重新翻译一遍#include iostream int main() { int a 3; int b 5; int c a b; std::cout c std::endl; return 0; }现在你已经能理解大部分了#include iostream ↓ 准备输入输出相关工具 int main() ↓ 程序从主函数开始 { ↓ main 的内容开始 int a 3; ↓ 创建整数变量 a初始值 3 int b 5; ↓ 创建整数变量 b初始值 5 int c a b; ↓ 创建整数变量 c 计算 ab 把结果存到 c std::cout c std::endl; ↓ 输出 c 的值然后换行 return 0; ↓ 程序正常结束 } ↓ main 的内容结束最终屏幕显示8
返回列表