选择结构
if语句
单分枝 if 语句
双分枝 if-else 语句
多分枝 if-else-if 语句
switch语句
switch(表达式)
{
case 常量表达式1:语句组1;break;
case 常量表达式2:语句组2;break;
……
case 常量表达式n:语句组n;break;
default: 语句组 n+1;
}
switch后表达式类型须为整型或字符型
case后的常量表达式须为可一一列举的具体取值,不能是取值范围
多个常量表达式可共用一组语句
循环语句
while语句(当型–先判断后执行)
while(表达式–循环条件)
循环体
- 循环体语句只能有一条,但可以复合 用“{ }”
- 结束的括号后面不能有“;” 会出现死循环
- 复合语句中“{ }”也不能省 也会死循环
- 循环体可能一次都不执行
do while语句(直到型–先执行后判断)
do
语句
while(表达式)
- 循环体语句只能有一条,但可以复合 用“{ }”
- 表达式结束的括号后必须有“;”
- 循环体至少执行一次
for语句(当型–先判断后执行)
for(表达式1 - - 赋初值 ;表达式2 - - 循环条件 ;表达式3 - - 循环变量变化情况)
循环体语句
- 循环体语句只能有一条,但可以复合 用“{ }”
- 结束的括号后面不能有“;” 会出现死循环
- 三个表达式都可以省略,但两个分号不能省
- 表达式1只在最初执行一次
- 表达式1 可以放在for语句之前,表达式2、表达式3、可以放在适当位置
eg:
int i,s(0);
for(i=1;i<100;i++)
s=s+i;
相同效果:
int i(1), s(0);
for( ; ; )
{
if (i>=100)
break;
s+=i;
i=i+2;
}
求 t=mm
for (k=1; k<=; k++)
t*=m;
break - - 跳出整个语句 循环体
continue - - 跳过下一句
goto语句 - - !!!不加限制的使用会破坏结构化设计风格
break - -
用于跳出switch语句
不能用于switch和循环以外的结构
用于循环语句时,一般与if一起使用
continue - -
不是退出本层循环,仅仅结构本次循环
只能用于循环语句,且一般与if语句一起使用
对比如下:
for (m=10;m>0;m--)
{
if (m % 3==0)
break;
cout<<m<<" ";
}
跳出了整个循环,遇见一个3的倍数就停止循环
for (m=10;m>0;m--)
{
if (m % 3==0)
continue;
cout<<m<<" ";
}
只退出了一次循环,只没有了3的倍数