循环结构和循环语句
循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题, 这是程序设计中最能发挥计算机特长的程序结构
循环结构的三个要素:
循环变量
循环体
循环终止条件
C++语言可实现循环结构的语句:
goto语句
while 语句
do ~ while 语句
for 语句
while 语句
一般形式:
while(表达式)
循环体语句
特点:先判断表达式,后执行循环体(当型)
说明: 循环体有可能一次也不执行
循环体可为任意类型语句
下列情况,退出while循环:
条件表达式不成立(为零)
循环体内遇break,return,goto
无限循环:
do-while语句
一般形式:
do
循环体语句
while(表达式);
特点:先执行循环体,后判断表达式
说明: 至少执行一次循环体
do-while可转化成while结构
for 语句
过程:1.先求解表达式1; 2.求解表达式2,若其 值为真(非0),则执 行循环体的内容, 然后执行表达式3。 若为假(0),则结束 循环,执行for语句 下面一条语句。 3.若表达式为真,执 行指定的语句后, 求解表达式3。 4.返回第2步执行。
for语句一般应用形式:
for( 循环变量赋初值; 循环条件; 循环变量增值) 循环体语句
说明: for语句中表达式1、表达式2、表达式3类型任意 ,都可省略,但分号;不可省 无限循环: for(;? for语句可以转换成while结构
循环的嵌套
三种循环可互相嵌套,层数不限
嵌套循环的执行流程:
几种循环的比较
1.三种循环均可处理同一问题;
2.for和while语句为先判断后执行,do-while语句则 先执行后判断; 3.do-while和while 语句多用于循环次数不定的情况, for语句用于循环次数确定的情况;
4.do-while语句更适合第一次肯定执行的情况;
5.do-while和while语句只有一个表达式,用于控制循 环是否进行。for语句有三个表达式,不仅可以控 制循环是否进行,而且能为循环变量赋初值及不 断修改其值。故for语句功能更强,更灵活。
break 语句和continue语句
1 break语句
一般形式:break;
功能:在循环语句和switch语句中,终止并 跳出循环体或开关体
说明: break只能终止并跳出最近一层的结构
break只能用于循环语句和switch语句
2 continue语句
一般形式:continue;
功能:结束本次循环,跳过循环体中尚未执行的语句, 对于while 和 do-while,进行下一次是否执行循环体的判断。 对于for(e1;e2;e3),先执行e3,再进行下一次是否执行循环体的判 断。
说明: 仅用于循环语句中 continue 语句仅结束本次循环, break语句则是结束整个循环过程。
注:在c++程序里面的头文件:#include ,manip是 manipulator(操纵器)的缩写,主要是对cin,cout之类的一些操 纵运算子,其中: setw(n) 设域宽为n个字符, 保证输出宽度为n。如: cout<<setw(3)<<1<<setw(3)<<10<<setw(3)<<100; 输出结果为 1 10100 (默认是右对齐)当输出长度大于3时 (<<1000),setw(3)不起作用。 setw只作用于紧随其后的部分
**
总 结
** 循环结构可以减少源程序重复书写的工作量,用来 描述重复执行某段算法的问题,这是程序设计中最 能发挥计算机特长的程序结构 。
循环结构可以看成是一个条件判断语句和一个向回 转向语句的组合。
循环结构的三个要素:循环变量、循环体和循环终 止条件。
例:
打印出所有的"水仙花数",所谓"水仙花 数"是指一个三位数,其各位数字立方和 等于该数本身。例如:153是一个"水仙花 数" 。
程序分析:利用for循环控制100-999个数, 每个数分解出个位,十位,百位。
源代码:
#include
using namespace std;
main()
{ int i,j,k,n;
cout<<"'water flower’number is:\n";
for(n=100;n<1000;n++)
{ i=n/100; //分解出百位
j=n/10%10; //分解出十位
k=n%10; //分解出个位
if(i100+j10+k==iii+jjj+kkk)
{ cout<<n<<" "; }
}
}