(C++) 循环。带参数的循环 (for)


编程中的循环
想象一下我们需要在屏幕上显示同一个词的情况,比方说“HELLO”这个词 10 次。我们该怎么办?
你可以取和写 10 次 cout << “你好”;

但是,如果您不需要 10 次,而是 20、30、40 次,如果需要 200 次呢?在这种情况下,复制将花费很长时间。以及是否需要用户选择在屏幕上显示多少次信息? 

为了完成这项任务,我们将使用一种称为循环的特殊结构。
 
循环是一种算法构造,其中特定的命令序列被重复多次。< /分区>
在C++编程语言中,有两种循环:变量循环(for)和条件循环(whiledo...while)

让我们从第一种类型开始认识循环。
 
带变量的循环(for)

经常发生的情况是,我们知道某些动作的重复次数,或者我们可以使用已知的数据来计算重复次数。一些编程语言有一个命令,在俄语中听起来像repeat(number of times),在括号中表示准确的重复次数。 

有趣的是看看这个循环在机器级别是如何工作的:
1.在内存中分配一定的内存单元,并写入重复次数;
2. 当程序执行一次循环体时,这个单元格(计数器)的内容减一;
3.当这个单元格为零时,循环执行结束。

C++ 编程语言中没有这样的结构,但是有一个for 结构。  

for循环语句的一般形式如下: for (/*表达式1*/; /*表达式2*/; /*表达式3*/ ) { /*一个语句或语句块 - 循环体*/; } 此设计要求我们:
1. 显式分配一个内存单元作为计数器并设置其初始值;
2. 写了循环体执行的条件;
3. 指定此单元格中的值将如何更改。

在实践部分,我们将尝试显示单词“Hello 10 次。在接下来的任务中,我们将更详细地分析这个结构。

for
循环
for 循环是一种逐步执行重复操作的方法。让我们仔细看看它是如何工作的。

运行 for 循环包含以下 步骤: 
1. 设置循环变量(计数器)初值;
<分区>2。检查继续循环的条件;
<分区>3。执行一个步骤(循环体); 
<分区>4。改变循环变量的值。
此外,重复步骤 2-4,直到第 2 步的条件变为假。一旦条件变为假,循环终止并执行循环语句 for.
之后的语句。

让我们回到循环语句的一般形式,更详细地分析所有部分。
for (/*表达式1*/; /*表达式2*/; /*表达式3*/ ) {       /*一个语句或语句块 - 循环体*/;

表达式1 负责设置循环变量(计数器)的初值,以分号结束

例如,

1)i=0;    // 将等于零的初始值赋给循环变量 i。
                 // 使用这种表示法,变量 i 必须在循环之前声明。

2) int i=0; // 变量 i 可以直接在循环头中声明,但是
                     // 在这种情况下,循环从内存中删除之后

3) ;    // 完全没有循环变量的初始化和声明,
          // 在这种情况下,它可以在循环之前定义。


表达式2 是循环继续条件 for被测试为真。

i<=10  // 只要变量 i 小于等于10,循环就会运行。 条件可以是任何东西。
 

表达式 3 更改计数器变量的值。没有这个值,循环将被认为是无限的。

i++  // 变量每一步递增1。
 

如果循环体中只有一条语句

如果循环体只有一条语句,则括号可以省略。

循环 for -features

每个标题部分可以有多个语句,用逗号分隔。
 
例子
对于 ( i = 0, x = 1.; i < 10; i += 2, x *= 0.1 ) { ... } 在本例中,我们使用了两个在循环体执行后会发生变化的变量——它们是变量 i x。变量i在步骤2中变化:i += 2i = i + 2的简写。变量x每步增加0.1倍x = x * 0.1,简称x *= 0.1

重复N次

到目前为止,我们编写的所有带有for 循环的程序都不能称为通用的。因为我们自己设定了循环体的重复次数。但是,如果重复次数取决于其他值怎么办?比如用户自己想设置循环的重复次数。
在这种情况下该怎么办?一切都很简单。我们可以使用任何可以由用户计算或设置的变量,而不是数字开始值和结束值。

例如,我们需要显示从1N的数字的平方,其中变量N的值是通过键盘输入的用户。
该程序将如下所示:
  #include ; 使用命名空间标准; 主要的() { 诠释我,N; // 我 –循环变量,N - 我们计算平方的最大数 辛>>否; for ( i = 1; i <= N; i ++) // 循环:for all i from 1 to N. 变量i会依次取值从1到N { 输出 << "平方数"< 当进入循环时,语句i = 1被执行,然后变量i每一步递增1(i ++ ).当条件 i <= N 为真时执行循环。在循环体中,唯一的输出语句根据指定格式在屏幕上打印数字本身及其正方形。
对于平方或其他低指数,最好使用乘法。

运行程序并查看变量 N 的不同值的运行结果。