当前位置: 首页 > news >正文

cpp 02

😇就这么从基础语法开始速通速通速通,用c刷算法题实在是好痛苦自己要造太多轮子了!

不要完完整整看视频看课,直接上小案例和看文档。速通就好了。

1 打印99乘法表

#include <iostream>
using namespace std;int main() {// 外层循环控制行数(1到9)for (int i = 1; i <= 9; ++i) {// 内层循环控制每行的列数(1到当前行数)for (int j = 1; j <= i; ++j) {// 打印乘法表达式,使用setw(4)控制宽度,使输出对齐cout << j << "×" << i << "=" << j * i << "\t";}// 每行结束后换行cout << endl;}return 0;
}

这个程序的工作原理:

  • 外层循环变量i表示乘数,从 1 循环到 9
  • 内层循环变量j表示被乘数,从 1 循环到当前的i值(确保每行的表达式数量与行数相同)
  • 使用\t(制表符)来对齐输出,使乘法表看起来更整齐
  • 每行输出完成后使用endl换行

运行程序后,会输出标准的 99 乘法表,格式如下:

1×1=1    
1×2=2    2×2=4    
1×3=3    2×3=6    3×3=9    
...
1×9=9    2×9=18   ...    9×9=81

2 cpp的换行

在 C++ 中,换行需要显式输出,常用的方式有两种:

  1. 使用 endl:如示例中所示,cout << endl; 会输出一个换行符,并且会刷新输出缓冲区。

  2. 使用转义字符 \n:直接在输出字符串中加入 \n,例如 cout << "\n";,仅输出换行符,不主动刷新缓冲区(性能略好,适合大量输出场景)。

在 99 乘法表的例子中,两种方式都可以实现换行效果。修改为 \n 的写法如下:

#include <iostream>
using namespace std;int main() {for (int i = 1; i <= 9; ++i) {for (int j = 1; j <= i; ++j) {cout << j << "×" << i << "=" << j * i << "\t";}cout << "\n"; // 用 \n 换行}return 0;
}

两种方式的输出结果完全一致,区别仅在于是否刷新缓冲区,日常使用中可根据需求选择。

【就是加endl是有换行的,类似于java的print和println?】

你说得非常对!C++ 中的 endl 和 Java 中的 println 确实很相似,都在输出内容后自动添加换行符,并且会刷新输出缓冲区;而如果只用 cout << "内容"(类似 Java 的 print),则不会自动换行,需要手动添加 \n(C++)或 \n(Java)来实现换行。

简单总结对应关系:

  • C++ 的 cout << "内容" << endl; ≈ Java 的 System.out.println("内容");(换行 + 刷新)
  • C++ 的 cout << "内容\n"; ≈ Java 的 System.out.print("内容\n");(仅换行,不主动刷新)

这种设计思路在很多编程语言中是共通的,核心就是区分 “单纯输出内容” 和 “输出内容并换行” 两种场景。

在打印 99 乘法表时,由于需要每行结束后换行,用 endl 或 \n 都能达到目的,根据代码风格选择即可。

3 解释头文件

C++ 基本语法 | 菜鸟教程https://www.runoob.com/cplusplus/cpp-basic-syntax.html

在 C++ 程序中,#include <iostream> 是一个非常基础且常用的头文件,它的作用是引入输入输出流(Input/Output Stream)相关的功能,让程序能够实现数据的输入(如从键盘读取)和输出(如打印到屏幕)。

具体解释:

  1. #include 指令这是 C++ 的预处理指令,用于告诉编译器:“在编译当前代码前,先将指定头文件中的内容包含到当前文件中”。头文件中通常包含了函数声明、类定义、常量等,引入后程序才能使用这些功能。

  2. <iostream> 的含义

    • i 代表 Input(输入),o 代表 Output(输出),stream 表示 “流”(数据传输的抽象概念,类似水流的连续传输)。
    • 这个头文件定义了 C++ 标准库中用于输入输出的核心类和对象,例如:
      • cout:用于标准输出(默认是屏幕),我们用 cout << "内容" 打印信息到屏幕,就依赖它。
      • cin:用于标准输入(默认是键盘),可以通过 cin >> 变量 从键盘读取数据。
      • 还有 cerr(标准错误输出)、clog(带缓冲的错误输出)等,以及相关的操作符(如 << 输出运算符、>> 输入运算符)。
  3. 为什么打印乘法表需要它?我们的程序中使用了 cout 来输出乘法表的内容(如 cout << j << "×" << i << "=" << j * i << "\t";),而 cout 的定义和功能实现就包含在 <iostream> 中。如果不包含这个头文件,编译器会不认识 cout,从而报错。

  4. using namespace std; 与 <iostream> 的关系标准库中的 coutcin 等都属于 std(标准命名空间,namespace),用于避免不同库中同名标识符的冲突。using namespace std; 这句话的作用是 “引入 std 命名空间”,这样我们可以直接写 cout,而不用每次都写 std::cout(全称)。(如果不写这句话,代码中需要用 std::cout 代替 cout 才能正常使用。)

总结:<iostream> 是 C++ 实现输入输出功能的基础头文件,没有它,程序就无法与用户进行基本的交互(如打印信息到屏幕、读取键盘输入)。我们的 99 乘法表程序正因为依赖 cout 输出内容,所以必须包含这个头文件。

4 goto

C++ goto 语句 | 菜鸟教程https://www.runoob.com/cplusplus/cpp-goto-statement.html

 知道但是不建议用

http://www.dtcms.com/a/556958.html

相关文章:

  • 中国建设银行官网网站忻州市城乡建设管理局网站
  • 【机器学习深度学习】强化学习与监督学习SFT、RL、RLHF、PPO、DPO
  • CSS3 框大小:深入解析与优化技巧
  • 用web端实现抠图,以及大模型本地化部署遇到坑
  • 【推荐系统9】重排模型:基于贪心、个性化的重排
  • Pandas-之Series 数据结构详解
  • 关键词解释:多视图学习(Multi-view Learning)
  • 类与对象(上):面向过程到面向对象的跨越,类的定义、封装与 this 指针等核心概念深度剖析
  • 医院手机网站中国建设银行预约网站
  • MATLAB实现模糊PID控制
  • 长沙有实力seo优化公司昆明网站seo报价
  • RuoYi-Vue3项目定制修改全攻略
  • 用Python来学微积分24-洛必达法则
  • 银川建网站全国统一核酸检测价格
  • Android WebView 最佳实践:Fragment 版本 + Token 注入 + 离线包热更新
  • 509-Spring AI Alibaba Graph Parallel Stream Node 示例
  • GitHub 热榜项目 - 日榜(2025-11-01)
  • 【愚公系列】《MCP协议与AI Agent开发》004-LLM 在应用中的典型接口模式
  • 【2025-10-31】软件供应链安全日报:最新漏洞预警与投毒预警情报汇总
  • 《网络云服务》
  • 本地南昌网站建设上海网站建设企业
  • xshell设置跳板机登录内网服务器
  • 晴天小猪历险记之Hill---Dijkstra算法
  • 【pdf-rs】color.rs 文件解析
  • 网站后台的功能手机触屏网站开发
  • 盐城建设网站国外优秀购物网站设计
  • ARP 欺骗深度解析:从原理到防御的全方位拆解
  • 7-1 最大子列和问题
  • day23_密码加密 前端验证码 监听器 svn版本控制
  • 做的网站不能放视频播放器wordpress清空数据