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

吃透C++ for循环:框架+例题

来来来!听我给你唠唠这个神奇的for循环小怪兽!

一、for循环的"铁三角"框架

for循环就像一个有秩序的小团队,由铁三角(有人知道我在想什么吗。。)组成,长这样:

for (初始化条件判断更新操作) {
        // 这里是循环体,要重复执行的代码都塞这儿!
}

 

- 初始化:就像给循环定个起点,比如  int i = 0;  就是告诉计算机:从i等于0开始干活!

- 条件判断:是个"小门卫",每次循环前检查条件,满足就放行,不满足就罢工!比如  i < 10  表示只要i小于10就继续循环

- 更新操作:循环一次后就会执行,他会更新数据,比如  i++(自增,就是+1) 或 i=i+2之类的; 

举个超形象的栗子🌰:

for (int i = 1; i <= 5; i++) {cout << "第" << i << "次循环啦!" << endl;
}



 这段代码就像在喊口号,从1开始喊到5,每次循环i都会变大,直到i变成6不满足  i <= 5  就停止,运行结果是:


第1次循环啦!
第2次循环啦!
第3次循环啦!
第4次循环啦!
第5次循环啦!
 


二、超实用例题


例题1:打印1到100的数字
 

#include <iostream>
using namespace std;int main() {
for (int i = 1; i <= 100; i++) {cout << i << " ";
}
return 0;
}

就像用魔法棒一挥,1到100的数字全乖乖跑出来啦!记得循环体里用空格隔开数字,不然它们会挤成一团哦~
 

---------------------------------------------

例题2:计算1到100的和
 

#include <iostream>
using namespace std;int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum = sum + i; // 也可以写成 sum += i;}cout << "1到100的和是:" << sum << endl;return 0;
}


这里偷偷用了个小变量  sum  当存钱罐,每次循环把i的数字存进去,最后就能得到超准确的答案5050!

------------------------------------
 

例题3:打印乘法口诀表
 

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


 
这里居然藏了个双重for循环外层i控制行数,内层j控制每行的个数,运行结果会自动生成超整齐的乘法表,老师看了都直呼内行!//嘿嘿,这其实是很后面才会学的啦。
 



三、新手必看的防坑指南
 

初始化变量别重复:

在for循环里定义的变量(比如  int i ),出了循环就"消失"啦!要是再定义一次会报错哦~


条件判断要细心:

写成  i = 10  (赋值)而不是  i == 10 (判断相等)会让循环变成无限循环,电脑直接CPU爆炸!


更新操作别忘记:

如果少了  i++ ,循环条件永远满足,程序就会卡死,记得给循环加点"动力"!
 

//当然,我有些同学特别爱👆这样的bug,他们说好玩......好吧的确很好玩,嘻嘻......

Okk! 虽然刚开始学C++的时候,我也被这些代码搞得晕头转向,但多敲几遍例题,真的会突然开窍!下次再给大家分享更多编程小知识~

http://www.xdnf.cn/news/8599.html

相关文章:

  • 理解 Redis 事务-20 (MULTI、EXEC、DISCARD)
  • c/c++的opencv像素级操作二值化
  • 开发者工具箱-鸿蒙IPv6子网计算器开发笔记
  • .NET外挂系列:8. harmony 的IL编织 Transpiler
  • 如何通过EventChannel实现Flutter与原生平台的双向通信?
  • C++ 输入输出流示例代码剖析
  • 每日c/c++题 备战蓝桥杯(洛谷P1873 EKO砍树问题详解)
  • 几个MySQL系统调优工具
  • 黑马点评--基于Redis实现共享session登录
  • 《关于浔川社团退出DevPress社区及内容撤回的声明》
  • [C++面试] 基础题 11~20
  • 怎样改变中断优先级?
  • 酷柚易汛ERP仓储物流解决方案
  • CodeBuddy实现pdf批量加密
  • SQL注入基础
  • vue+threeJs 创造镂空管状
  • 配置tomcat时,无法部署工件该怎么办?
  • 深度学习损失“三位一体”——从 Fisher 的最大似然到 Shannon 的交叉熵再到 KL 散度,并走进 PET·P-Tuning微调·知识蒸馏的实战
  • Selenium自动化测试网页加载太慢如何解决?
  • 基于netty实现视频流式传输和多线程传输
  • 大模型的上下文context到底是啥
  • 环境搭建与工具配置
  • 博客打卡-八皇后问题
  • 用go从零构建写一个RPC(3)--异步调用+多路复用实现
  • 分布式事务知识点整理
  • ubuntu ollama /Dify/Docker部署大模型
  • 在单片机中如何在断电前将数据保存至DataFlash?
  • [docker]更新容器中镜像版本
  • Reason-ModernColBERT论文速览:Sentence- bert-基于孪生bert网络的句子嵌入
  • 【Web前端】jQuery入门与基础(一)