您的位置:首页 > 新闻 > 会展 > 重庆网站制作外包_网页无法访问未连接上服务器_对网站进行seo优化_关键词有几种类型

重庆网站制作外包_网页无法访问未连接上服务器_对网站进行seo优化_关键词有几种类型

2025/7/24 0:27:26 来源:https://blog.csdn.net/ALISHENGYA/article/details/144835795  浏览:    关键词:重庆网站制作外包_网页无法访问未连接上服务器_对网站进行seo优化_关键词有几种类型
重庆网站制作外包_网页无法访问未连接上服务器_对网站进行seo优化_关键词有几种类型

假设现在要求编程实现输出10行'*',每行20个'*',可以使用前面的for循环来实现,通过计算总共输出200个'*',定义循环变量i,初始值为1,终值为200,循环体内首先输出一个'*',并对循环变量i进行判断,当i对20取余为0时,输出一个换行,循环更新变量进行自增运算,具体代码如下所示:

for(int i=1;i<=200;i++){cout<<'*';if(i%20==0){cout<<endl;}
}

那么在代码实现时能不能将10行当成一部分,每行对应的20个'*'看成列,用一个for来表示行,另一个for来表示列呢?这就需要用到for循环语句的嵌套。接下来介绍该内容。

for循环语句嵌套:

当一个循环语句的循环体又包含循环语句时,这种结构称为多重循环,也称为循环的嵌套。外层的循环叫做外循环,内层的循环叫做内循环。各层循环的循环控制变量不能相同。嵌套循环中的变量(如i和j)只在各自的循环中有效,互不干扰。for循环嵌套的基本语法为:


for(循环变量1初始表达式;循环变量1终值条件;循环变量1更新表达式){//循环体11for(循环变量2初始表达式;循环变量2终值条件;循环变量2更新表达式){//循环体2}//循环体12
}

向这种for语句的循环体中有引入循环结构的方式称为循环嵌套,处于外层的循环叫作外循环,处于内层的循环称为内循环,外循环执行一次,内层循环执行一遍,具体执行过程:

1)首先外层循环初始化:执行外层循环的循环变量1初始表达式,为循环变量1赋初始值;

2)其次外层循环条件判断:判断外层循环的循环变量1终值条件,如果条件为真(即循环变量1满足继续循环的条件),则进入外层循环体;如果条件为假,则外层循环结束,整个嵌套循环执行完毕;

3)进入外层循环体:

①执行循环体11的代码,

②紧接着执行内层循环初始化:在外层循环体内,首先执行内层循环的循环变量2初始表达式,为循环变量2赋初始值;

③内层循环条件判断:接着判断内层循环的循环变量2终值条件,如果条件为真(即循环变量2满足继续循环的条件),则进入内层循环体;如果条件为假,则内层循环结束,回到外层循环的下一步;

④进入内层循环体:执行循环体2的代码;

⑤内层循环变量更新:执行内层循环的循环变量2更新表达式,更新循环变量2的值;

⑥重复内层循环条件判断:重新判断内层循环的终止条件。如果条件为真,则继续执行循环体2;如果条件为假,则内层循环结束;

⑦执行外层循环剩余部分:内层循环结束后,执行循环体12的代码。

4)外层循环变量更新:执行外层循环的循环变量1更新表达式,更新循环变量1的值;重复外层循环条件判断:重新判断外层循环的终值条件,如果条件为真,则继续执行外层循环体;如果条件为假,则外层循环结束,整个嵌套循环执行完毕。

总结来说,嵌套循环的执行过程就是外层循环和内层循环交替进行的过程,直到两个循环的终值条件都不再满足为止。

例如将打印10行20列'*'代码使用for嵌套语句来实现:


#include<bits/stdc++.h>
using namespace std;
int main(){for(int i=1;i<=10;i++){for(int j=1;j<=20;j++){cout<<'*';}cout<<endl;} return 0;
}

对于该程序,外循环变量i循环1次,内层循环中的控制变量j要从1循环到20次,外循环变量总共循环10次,所以总的循环次数为10*20=200。即外层循环控制变量i用来表示行变量,意味着总共打印10行,每行末端都有一个换行;在换行之前,需要打印20列'*',内循环变量j来控制列;将内层循环和输出换行语句共同构成了外层循环的循环体。可见,循环嵌套就是一个循环出现在另一个循环里,对于外循环的每次迭代,内循环都要完成它的所有迭代。根据循环嵌套的层数不同,可以有双重循环、三重循环……,如果循环体不仅仅有一条语句时,要用{}括起来,组成复合语句。

实战训练1—字符图形

问题描述:

输入一个整数 n(1≤n≤30),绘制一个由n 行n列的由*号构成的三角形图案,字符图形参照输入输出样例。

输入格式:

一行一个整数n。

输出格式:

由n行构成,每行有n列'*',即由n行n列构成的字符三角形。

输入输出样例:

输入样例1

输出样例1

3

*

**

***

输入样例2

输出样例2

5

*

**

***

****

*****

问题分析:

根据题意,字符图形由行和列构成,所以可以采用for循环语句嵌套,行可以由外层循环来表示,列由内层循环来表示,对于外层循环,字符图形总共由n行构成,所以外层循环变量起始值为1,终值为n,循环更新变量为自增运算,对于内层循环,每行的'*'的个数就是所在的行数,第一行有1个'*',第二行有2个'*'……最后一行有n个'*',所以列数受到行数的限制,即内层循环起始值为1,终值为外层循环变量,更新也为自增运算,内层循环体输出'*',内层循环和每行结束输出换行符共同构成了外层循环的循环体,具体程序代码如下所示:


#include<bits/stdc++.h>
using namespace std;
int main(){int n;//定义字符行数变量n cin>>n;//输入n的值 for(int i=1;i<=n;i++){//外层循环,用i来表示行,从1到n for(int j=1;j<=i;j++){//内层循环,用j来表示列,从1到i cout<<'*';}cout<<endl;//输出换行符 }return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com