C++零基础到工程实战(1.1):理解第一个简单且重要的cpp程序

张开发
2026/4/3 16:27:15 15 分钟阅读
C++零基础到工程实战(1.1):理解第一个简单且重要的cpp程序
目录一、本节学习内容概要图二、前言三、先整体理解这个程序在做什么四、逐个拆解每一个部分4.1 #include 是什么1它的作用是什么2#include 是什么3 是什么4为什么用尖括号 4.2 int main() 是什么1main 为什么这么重要2为什么只能有一个 main3int 是什么意思4为什么有时候没写 return 0;5() 是什么4.3 {} 大括号有什么作用1它表示代码块2为什么 C 离不开大括号4.4 std::cout 是什么1它是标准输出对象2为什么前面要加 std::3为什么不能直接写 cout4.5 是什么1它在这里表示“输出”2为什么符号长得像左移运算符3它可以连续输出多个内容4.6 Hello World!\n 是什么1双引号里的内容叫字符串常量2为什么一定要加双引号3\n 是什么意思4.7 ; 分号有什么作用1它表示一条语句结束2为什么分号不能省略五、把整段代码重新翻译一遍六、本小节需要掌握的内容1#include2main()3int4{}5std::cout67双引号8\n9;七、总结一、本节学习内容概要图二、前言对于很多刚接触 C 的同学来说第一个程序通常都是下面这段代码#include iostream int main() { std::cout Hello World!\n; }别看它只有短短几行但这里面其实已经包含了 C 最基础的一套程序结构。很多初学者第一次看到时往往会有很多疑问#include iostream是什么意思为什么必须写main()std::cout又是什么为什么长这样Hello World!\n后面的\n有什么作用为什么最后还要加一个分号;{}又是干什么的这篇文章就从零开始把这段代码里涉及到的每一个部分都讲清楚。你不需要一开始就把所有底层原理完全吃透但至少要知道每一部分是干什么的、为什么这么写、以后还会在哪里用到。三、先整体理解这个程序在做什么如果把它翻译成人话大概就是先把输出功能对应的工具拿进来告诉系统程序从main()这里开始执行在函数内部输出一句Hello World!输出完成后程序结束。也就是说这段代码不是随便拼起来的而是有明确顺序的头文件提供功能主函数作为入口语句完成具体任务程序结束返回控制权给系统四、逐个拆解每一个部分4.1#include iostream是什么1它的作用是什么这一句的作用可以先简单理解为把 C 标准库中与输入输出相关的功能“引入进来”。也就是说如果没有这句后面你写的std::cout编译器可能就不认识。2#include是什么#include是一个预处理指令。所谓预处理你可以先理解为在真正编译代码之前编译器会先做一些“提前准备工作”。其中一种准备工作就是把你需要的头文件内容“包含”进当前源文件里。所以#include iostream并不是让你手动复制一个文件而是告诉编译器请在编译前把iostream这个头文件里的相关声明处理进来。按住 “Ctrl“ 点击 iostream作用等同于将内部内容复制粘贴过主程序里面去但是会比较乱因此写#include iostream会比较简单3iostream是什么iostream是 C 标准库中的一个头文件名字可以拆成两部分理解ioinput / output输入输出stream流所以它主要用于提供输入输出流相关功能。最常见的就是std::cout标准输出向控制台输出内容std::cin标准输入从键盘读取输入std::endl换行并刷新缓冲区在这个 Hello World 程序里我们只用到了其中的std::cout。4为什么用尖括号 你会看到它写成// 你会看到 #include iostream // 而不是 #include iostream这是因为两种写法一般有不同含义 通常表示包含系统或标准库头文件 通常表示包含自己项目中的头文件对于iostream这种 C 标准库头文件通常写成iostream。4.2int main()是什么1main为什么这么重要main是程序入口函数。简单说就是一个 C 程序运行时系统会从main()这个函数开始执行。不管你的程序多复杂最终都必须有一个开始位置而这个开始位置通常就是main()。所以你可以把它理解为这是程序的起点这是程序“第一步”执行的地方没有它程序就不知道从哪里开始2为什么只能有一个main在一个可执行程序里main一般只能定义一次。因为程序入口只能有一个。如果写多个main编译器就会不知道到底该从哪一个开始执行。所以你要记住一点一个程序只能有一个主函数main()。3int是什么意思int是整数类型这里它表示main()这个函数执行结束后会返回一个整数值给操作系统。也就是说main()不只是程序入口它还是一个函数既然是函数就有返回值类型。这里的返回类型写成int表示返回一个整数。通常返回0表示程序正常结束返回非 0通常表示程序异常或出错例如下面这种写法更完整#include iostream int main() { std::cout Hello World!\n; return 0; }这表示程序执行成功后返回 0。4为什么有时候没写return 0;这在现代 C 中通常也是可以的。因为对于main()来说如果执行到结尾没有显式写返回值编译器通常会默认补一个return 0;5()是什么函数名后面的圆括号()表示这是一个函数。在这里main()表示定义了一个名为main的函数。括号里本来是可以写参数的例如int add(int a, int b)但当前这个例子中main()后面没有参数所以括号里为空。你现在可以先记住函数名后面有括号表示这是函数括号里面可以放参数当前这段代码先不用管参数后面学函数时会详细接触4.3{}大括号有什么作用1它表示代码块{}表示一个代码块。例如int main() { std::cout Hello World!\n; }这里的大括号表示main()这个函数中的代码范围从左大括号开始到右大括号结束。也就是说大括号里面的内容都属于这个函数。2为什么 C 离不开大括号在 C 中大括号非常重要因为很多结构都依赖它来界定范围例如函数体if 语句for 循环while 循环类定义命名空间所以你可以把大括号理解成划定“这一块代码属于谁”的边界。4.4std::cout是什么1它是标准输出对象cout的意思可以理解为character output字符输出。它用于把内容输出到标准输出设备通常就是控制台窗口。而完整写法是std::cout表示它位于std这个命名空间中。2为什么前面要加std::因为 C 标准库里的很多内容都放在std命名空间中。所以在使用cout时要写成std::cout这里的::叫做作用域解析运算符意思相当于到std这个作用域里去找cout。你可以简单理解为std是一个“名字仓库”cout是这个仓库里的一个工具std::cout就是在说使用标准库里的cout3为什么不能直接写cout因为编译器默认并不知道你说的cout是哪个cout。C 里可能有不同作用域、不同库中的同名标识符。所以标准写法是std::cout后面你会学到一种简化写法using namespace std;这样可以临时省略std::直接写cout。但对于初学阶段我更建议你保留std::因为这样能帮助你更清楚地理解这个东西来自标准库。4.5是什么1它在这里表示“输出”在下面这句里std::cout Hello World!\n;的作用可以先理解为把右边的内容送给左边的输出对象。也就是说左边std::cout是输出目标右边Hello World!\n是要输出的内容表示把内容传给输出流所以整句话的意思就是让控制台输出Hello World!然后换行。2为什么符号长得像左移运算符确实在 C 里本来也是一个运算符叫左移运算符。但在流输出场景里它被重载成了输出运算符。这也是 C 的一个特点同一个符号在不同上下文里可能有不同含义。对于初学者你先不用纠结重载机制只要先记住在std::cout ...里表示输出它的读取方式就是“把右边内容输出到左边”3它可以连续输出多个内容例如std::cout 我的年龄是 18 \n;这表示连续把多个内容输出到控制台。所以后面不一定只能接字符串还可以接整数小数字符变量表达式结果4.6Hello World!\n是什么1双引号里的内容叫字符串常量Hello World!\n这是一段字符串。在C 中用双引号括起来的一串字符通常表示字符串字面量。例如你好 abc C都属于字符串。2为什么一定要加双引号如果不写双引号Hello World!编译器会把它当成一些它看不懂的标识符而不是文本内容。所以双引号的作用就是告诉编译器这是一段普通文本请按字符内容处理。3\n是什么意思\n是一个转义字符表示换行。所以Hello World!\n实际上表示的是先输出Hello World!然后光标移动到下一行如果没有\n下一次输出内容时就可能会接在同一行后面。4.7;分号有什么作用1它表示一条语句结束在 C 中分号通常表示这一条语句到这里结束。2为什么分号不能省略如果漏掉分号编译器会报错因为它无法正确判断这条语句在哪里结束。所以分号在 C 中非常关键。很多初学者写程序报错原因并不是逻辑复杂而只是漏了一个分号。五、把整段代码重新翻译一遍现在我们已经把每个部分都拆开了再来重新理解整段代码#include iostream int main() { std::cout Hello World!\n; }它的意思就是引入输入输出功能对应的头文件iostream定义一个名为main的函数程序从这里开始执行在函数体内部通过std::cout向控制台输出字符串Hello World!\n让输出后换行分号表示这条输出语句结束大括号表示main函数的代码范围六、本小节需要掌握的内容学完这一节后至少应该掌握下面这些最核心的点1#include iostream用于引入标准输入输出相关功能。2main()程序入口程序从这里开始执行。3int表示函数返回一个整数值。4{}表示函数体也就是代码块范围。5std::cout标准输出对象用于向控制台输出内容。6输出运算符把右边内容送到左边的输出流中。7双引号表示字符串内容。8\n表示换行。9;表示一条语句结束。七、总结Hello World虽然是 C 中最简单的程序但它并不只是“打印一句话”这么简单。它其实是你理解 C 程序结构的第一扇门。通过这一个程序你已经接触到了头文件程序入口函数代码块标准输出字符串转义字符语句结束符

更多文章