C++青少年简明教程:for循环语句

C++青少年简明教程:for循环语句

C++的for循环语句是一种迭代控制语句,用于重复执行一段代码。

语法格式:

for(表达式1;表达式2;表达式3)

循环体

for循环语句执行流程图:

不太好理解,请看下图:

用for语句计算1到10的整数之和的源码:

#include<iostream> 
using namespace std;int main(){int sum = 0, n = 10;for (int i = 1; i <= n; i++) {sum += i;}cout << "1到" << n << "的整数之和为:" << sum << endl;
}

for语句可以嵌套,下面是一个使用嵌套循环打印乘法口诀表的例子:

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

这个程序使用两个for循环嵌套,分别用于打印乘法口诀表的每一行和每一列。内层循环中,j从1逐渐增加到i,每次循环将j和i的乘积打印出来;外层循环中,i从1逐渐增加到9,每次循环打印出一个乘法口诀表的行。最终的输出结果如下:

1x1=1 
1x2=2 2x2=4 
1x3=3 2x3=6 3x3=9 
1x4=4 2x4=8 3x4=12 4x4=16 
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81

注意,在 C++ 的 for 循环语句中,控制变量的定义可以在括号内或括号外进行。

如果在括号内定义控制变量,那么该变量的作用范围仅限于 for 循环的代码块内部。这意味着该变量只在循环执行期间可见,并且在每次循环迭代结束时都会销毁和重新创建。

在括号内定义控制变量:

for (int i = 0; i < 5; i++) {

    // 在这里可以使用控制变量 i

    // 控制变量 i 的作用范围仅限于当前的循环代码块

}

// 这里无法使用控制变量 i,因为它已经超出了作用范围

如果在括号外定义控制变量,那么该变量的作用范围将扩展到整个循环语句所在的代码块内部。这意味着该变量在循环之外也是可见的,并且在循环迭代之间保持其状态。

在括号外定义控制变量:

int i;  // 在循环外定义控制变量 i

for (i = 0; i < 5; i++) {

    // 在这里可以使用控制变量 i

    // 控制变量 i 的作用范围扩展到整个代码块

}

// 这里可以使用控制变量 i,因为它仍然在作用范围内

因此,控制变量是在括号内还是括号外定义,会影响该变量的作用范围和可见性。根据您的需求选择适合的方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/18520.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VSCode配置Lua5.4安装

参考&#xff1a;VSCode 配置 Lua 开发环境(清晰明了)_lua vscode-CSDN博客 1.下载 Lua Binaries Download (sourceforge.net) 2.配置环境变量 解压放到某文件夹&#xff1a; 环境变量&#xff1a; 3.VSCode安装插件 4.配置 5.测试

Python | Leetcode Python题解之第116题填充每个节点的下一个右侧节点指针

题目&#xff1a; 题解&#xff1a; class Solution:def connect(self, root: Node) -> Node:if not root:return root# 从根节点开始leftmost rootwhile leftmost.left:# 遍历这一层节点组织成的链表&#xff0c;为下一层的节点更新 next 指针head leftmostwhile head:#…

快解析动态域名解析,实现外网访问内网数据库

今天跟大家分享一下如何借助快解析动态域名解析&#xff0c;在两种特定网络环境下&#xff0c;实现外网访问内网mysql数据库。 第1种网络环境&#xff1a;路由器分配的是动态公网IP&#xff0c;且有路由器登录管理权限。如何实现外网访问内网mysql数据库&#xff1f; 针对这种…

继承与Object

一.继承 Java语言的继承&#xff1a;单继承 1.类和类之间的关系 (1)组合关系 公司和员工&#xff0c;学校和学生 (2)继承关系 学生和人 二.Object类 public class Object {private static native void registerNatives();static {registerNatives();} 1.finalize() 对象…

FPGA时钟:驱动数字逻辑的核心

一、引言 在FPGA&#xff08;现场可编程门阵列&#xff09;设计中&#xff0c;时钟信号是不可或缺的关键要素。时钟信号作为时序逻辑的心跳&#xff0c;推动着FPGA内部各个存储单元的数据流转。无论是实现复杂的逻辑运算还是处理高速数据流&#xff0c;都需要精确的时钟信号来保…

Vanna使用ollama分析本地MySQL数据库

上一章节中已经实现了vanna的本地运行&#xff0c;但是大模型和数据库都还是远程的&#xff0c;因为也就没办法去训练&#xff0c;这节一起来实现vanna分析本地mysql数据库&#xff0c;因为要使用本地大模型&#xff0c;所以开始之前需要给本地安装好大模型&#xff0c;我这里用…

WPF/C#:理解与实现WPF中的MVVM模式

MVVM模式的介绍 MVVM&#xff08;Model-View-ViewModel&#xff09;是一种设计模式&#xff0c;特别适用于WPF&#xff08;Windows Presentation Foundation&#xff09;等XAML-based的应用程序开发。MVVM模式主要包含三个部分&#xff1a;Model&#xff08;模型&#xff09;、…

期权具体怎么交易详细的操作流程?

期权就是股票&#xff0c;唯一区别标的物上证指数&#xff0c;会看大盘吧&#xff0c;交易两个方向认购做多&#xff0c;认沽做空&#xff0c;双向t0交易&#xff0c;期权具体交易流程可以理解选择方向多和空&#xff0c;选开仓的合约&#xff0c;买入开仓和平仓没了&#xff0…

【Spring Cloud】API网关

目录 什么是API网关为什么需要API网关前言问题列表 API网关解决了什么问题常见的网关解决方案NginxLuaSpring Cloud Netflix ZuulSpringCloud Zuul的IO模型弊端 Spring Cloud Gateway 第二代网关——GatewayGateway的特征Spring Cloud Gateway的处理流程Spring Cloud Gateway的…

数据集要点和难点以及具体应用案例

数据集(Data set),又称为资料集、数据集合或资料集合,是一种由数据所组成的集合。它通常以表格形式出现,其中每一列代表一个特定变量,每一行对应于某一成员的数据集的问题。数据集列出的价值观为每一个变量,如身高和体重的一个物体或价值的随机数,每个数值被称为数据资…

我的又一个神奇的框架——Skins换肤框架

为什么会有换肤的需求 app的换肤&#xff0c;可以降低app用户的审美疲劳。再好的UI设计&#xff0c;一直不变的话&#xff0c;也会对用户体验大打折扣&#xff0c;即使表面上不说&#xff0c;但心里或多或少会有些难受。所以app的界面要适当的改版啊&#xff0c;要不然可难受死…

Android Surface对应的Buffer怎么传递给HWC

Android Surface对应的Buffer怎么传递给HWC 引言 因为要预研Android Video overlay&#xff0c;需要将SurfaceView对应的GraphicBuffer从drm_hwcomposer中剥离出来&#xff0c;这就需要们了解SurfaceView对应的GraphicBuffer的前世今生&#xff0c;以及它的数据流向以及在各个…

轻兔推荐 —— vfox

简介 vfox 是一个跨平台且可扩展的版本管理工具&#xff0c;终于有一个可以管理所有运行环境的工具了 - 支持一键安装 Java、Node.js、Flutter、.Net、Golang、PHP、Python等多种环境 - 支持一键切换不同版本 特点 支持Windows(非WSL)、Linux、macOS! 支持不同项目不同版本、…

(四)事件系统

视频链接:尚硅谷2024最新版微信小程序 文章目录 事件绑定和事件对象事件分类以及阻止事件冒泡事件传参-data-*自定义数据事件传参-mark 自定义数据事件绑定和事件对象 小程序中绑定事件与在网页开发中绑定事件几乎一致,只不过在小程序不能通过 on 的方式绑定事件,也没有 cli…

C# 9.0的init访问器

不控制可变性 下面是我们最常见的属性声明方式&#xff0c;允许属性在类的内部和外部都可以读取和修改 public int Id { get; set; }namespace Demo {public class Company{public int Id { get; set; }public Company(){}public Company(int id){Id id; // 可以在构造函数中…

22.Volatile原理

文章目录 Volatile原理1.Volatile语义中的内存屏障1.1.volatile写操作的内存屏障1.1.1.StoreStore 屏障1.1.2.StoreLoad 屏障 1.2.volatile读操作的内存屏障1.2.1.LoadStore屏障1.2.2.LoadLoad屏障 2.volatile不具备原子性2.1.原理 Volatile原理 1.Volatile语义中的内存屏障 在…

用于生成 Avatar 的文本引导式情感和运动控制-InstructAvatar

网址 https://wangyuchi369.github.io/InstructAvatar/ 用于生成 Avatar 的文本引导式情感和运动控制 官网翻译 最近的会说话的头像生成模型在实现与音频的真实和准确的嘴唇同步方面取得了长足的进步&#xff0c;但在控制和传达头像的详细表情和情感方面往往存在不足&#…

APM2.8如何做加速度校准

加速度的校准建议准备一个六面平整&#xff0c;边角整齐的方形硬纸盒或者塑料盒&#xff0c;如下图所示&#xff0c;我们将以它作为APM校准时的水平垂直姿态参考&#xff0c;另外当然还需要一块水平的桌面或者地面 首先用双面泡沫胶或者螺丝将APM主板正面向上固定于方形盒子上&…

JavaScrip原型对象

参考 JavaScrip原型对象 | LogDicthttps://www.logdict.com/archives/javascripyuan-xing-mo-shi

每天写两道(二)LRU缓存、

146.LRU 缓存 . - 力扣&#xff08;LeetCode&#xff09; 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存…