- 学习关于循环结构的知识后。我自己认为这在c++中肯定是一个非常重要的结构。在计算机巨大计算量中,经常计算机就需要是用循环来计算。在这一章我也努力学习这方面的知识。也通过练习openjudge中的题目来更加深入了解关于循环常考的题型和解题关键。
- 首先循环分两种。一是计数控制循环,二是条件控制循环。循环结构有两种类型。一是当型循环结构。二是直到型循环结构。在这个专题里,我们学习了while语句,for语句,do-while语句。其中while语句和for语句是当型循环结构。do-while语句是直到型循环结构。这些是关于这个章的基础。
- 接下来我来和说明一下循环结构深入知识和易错点,还有需要注意的地方。
- 1.while语句和do-while语句的差别是前者先判断再循环,后者先循环再判断。
- 2.在处理关于循环分题目时,经常会遇到多组输入。这时候大多用到while(cin>>)而不是cin>>。
- 3.循环变量可当一半变量使用。
- 4.当循环次数已知用for语句,循环次数未知大多用while语句,循环至少一次用do-while语句。
- 5.当循环控制表达式省略时代表条件永真,循环体一直循环。
- 6.当循环结构是一个无限循环分语句时,可以用break语句跳出循环,不过break语句不能挑出多重循环。
- 7.与之相似的是continue语句。当循环体遇到continue语句时,将直接跳过continue语句之后的内容,直接开始下一次循环。
- 8.穷举法也是一个编程方法,直接从1开始,直接到第一个使关系式成立的数。
- 9.循环嵌套也是一大内容。在一个循环语句中再放入一个循环语句。先从外部循环进去内部循环,内部循环结束后,在开始外部循环。
- 10.同时我们也学习了关于标志常量的知识,可以先设置一个标志常量,达到一定条件可以变成相反值。
- 11.for语句和while语句后面不能加分号,而do-while语句while后必须加分号。
- 在openjudge中题组三有一道题:
- 描述
- 【题目描述】
输入n,输出一个n*n的正方形,正方形由符号c1和c2组成,正方形的四条边和对角线由c1组成,其余部分由c2组成。
输入
一行一个整数,两个符号,分别以一个空格隔开。
输出
如题所述的正方形。
样例输入
10 X O
样例输出
XXXXXXXXXX
XXOOOOOOXX
XOXOOOOXOX
XOOXOOXOOX
XOOOXXOOOX
XOOOXXOOOX
XOOXOOXOOX
XOXOOOOXOX
XXOOOOOOXX
XXXXXXXXXX
我做出的解答是
#include<iostream>
using namespace std;
int main()
{
int a;
char c1,c2;
cin>>a>>c1>>c2;
for(int i=1;i<=a;i++)
{
for(int j=1;j<=a;j++)
{
if((i==j)||(i==1)||(i==a)||(j==a)||(j==1)||(i+j==a+1))
cout<<c1;
else
cout<<c2;
}
cout<<endl;
}
return 0;
}
这道题目用到了最为重要的循环嵌套。也让做题者充分思考所有情况,还有对于换行的掌握和使用。
这是我对于循环这章的认识。和我觉得需要注意和重点学习的地方。如有错误,请老师同学们指出。