编程中的循环
想象一下我们需要在屏幕上显示同一个词的情况,比方说“HELLO”这个词 10 次。我们该怎么办?
你可以取和写 10 次 cout << “你好”;
但是,如果您不需要 10 次,而是 20、30、40 次,如果需要 200 次呢?在这种情况下,复制将花费很长时间。以及是否需要用户选择在屏幕上显示多少次信息?
为了完成这项任务,我们将使用一种称为 循环的特殊结构。
循环是一种算法构造,其中特定的命令序列被重复多次。< /分区>
在C++编程语言中,有两种循环:变量循环( for )和条件循环( while 和 do...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++ // 变量i 每一步递增1。
|
如果循环体中只有一条语句
如果循环体只有一条语句,则括号可以省略。
|
循环 for -features
每个标题部分可以有多个语句,用逗号分隔。
例子
对于 ( i = 0, x = 1.; i < 10; i += 2, x *= 0.1 )
{ ... }
在本例中,我们使用了两个在循环体执行后会发生变化的变量——它们是变量 i 和 x 。变量i 在步骤2 中变化:i += 2 是i = i + 2 的简写。变量x 每步增加0.1倍x = x * 0.1 ,简称x *= 0.1 。
|
重复N次
到目前为止,我们编写的所有带有 for 循环的程序都不能称为通用的。因为我们自己设定了循环体的重复次数。但是,如果重复次数取决于其他值怎么办?比如用户自己想设置循环的重复次数。
在这种情况下该怎么办?一切都很简单。我们可以使用任何可以由用户计算或设置的变量,而不是数字开始值和结束值。
例如,我们需要显示从 1 到 N 的数字的平方,其中变量 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 的不同值的运行结果。
|