C语言程序设计——循环结构

循环控制结构是C语言学习中的基础,也是复杂程序设计的桥梁。它的主要作用是把一些重复执行的操作简化,从而增强程序的可读性和简洁性。
循环结构主要分为两种类型:当型循环结构和直到型循环结构。
当型循环结构:当条件成立时,反复执行操作,直到条件不成立时结束循环;
直到型循环结构:先执行操作,在判断条件是否成立,若成立,反复执行该操作,直到条件不成立时结束循环。
C语言提供三种语句来实现循环结构,分别是for语句、while语句、do while语句。下面介绍三种语句的使用。
一:for语句
格式:for(表达式;循环控制表达式;增值表达式)
{
语句序列;
}
注:for语句三个表达式的分隔符为分号,有且仅有两个分号!
如果在for语句之前为循环变量赋初值,则表达式1可省略;
int i=1;
for( ;i<10;i++)
{
语句序列;
}
如果在循环体中改变了控制变量,增值表达式可省略。
for(int i=1;1<10: )
{
语句;
增值表达式;
}
适用于:循环次数已知、计数控制的循环
二:while语句
格式:while(循环控制表达式)
{
语句序列;
}
适用于:循环次数未知、条件控制的循环
三:do-while语句
格式:do{
语句序列;
}while(循环控制表达式)
适用于:循环次数未知、条件控制的循环

do-while与while之间的区别:前者是先循环再判断条件,循环至少执行一次;
后者是先判断条件再循环,如果第一次判断不符合条件,则不会执行。

一些复杂程序并不只含有一个循环,往往需要多个循环来控制,由此就有了循环嵌套。 #include
#include
using namespace std;
int main()
{
int n,i,j,k;
char a;
while(cin>>n)
{
for(i=1;i<=n;i++)
{
a=‘a’;
cout<<a;
for(k=1;k<=n-i;k++)
cout<<" ";
for(j=1;j<=i;j++)
{
cout<<a;
a++;
}
cout<<endl;
}
cout<<endl;
}
return 0;
}
上述程序就是while、for嵌套循环。通过分别控制行数、列数、特殊情况,循环嵌套,从而达到“粘墙三角形”的效果
样例输入
3
7
样例输出
a a
a ab
aabc

a a
a ab
a abc
a abcd
a abcde
a abcdef
aabcdefg
循环嵌套注意事项
1.使用循环嵌套时,内层循环和外层循环的循环控制变量不能相同。

2.循环嵌套结构的书写,最好采用"右缩进"格式,以体现循环层次的关系。

3.尽量避免太多和太深的循环嵌套结构。

学习感悟:
解决循环结构这方面的问题,首先要有一个清晰地逻辑思路,不能被固化的思路束缚,有时不需要把一个大问题全部弄清再下手写程序,可以把它分成几小部分,分开来考虑,有时会得到事半功倍的效果;其次写代码要有良好的书写格式,既方便检查排错也增强了程序本身的可读性。

附 本章出现的函数、语句

rand() 随机产生一个0~32767之间的整数,可以利用求余运算rand()%b+a将随机数的取值范围平移到[a,a+b-1]之间
scand() 为函数rand()设置随机数种子
time() 返回以秒计算的日历时间
goto语句 不需要任何条件的情况下直接使程序跳转到语句标号所标示的语句去执行 if(表达式)goto语句标号
break语句 当循环遇到break语句时,循环立即终止。 注:不能用于跳出多重循环
continue语句 当循环体遇到continue时,程序将跳过continue语句后尚未执行的语句,进行下一次循环

猜你喜欢

转载自blog.csdn.net/Lj135328/article/details/84876391