顺序结构
程序按照语句的书写次序顺序执行。
选择结构
判断选择结构又称条件分支结构,是一种基本的程序结构类型。
在程序设计中,当需要进行选择、判断和处理的时候,就要用到条件分支结构。
条件分支结构的语句一般包括if语句、if--else语句、switch--case语句。
if语句在二选一的条件下,Switch则是在多选一的条件下。都是对条件表达式进行判断,针对不同结果,决定要执行的语句。
switch语句(多分支)
switch(表达式){
case 常量表达式1: 语句组1; break;
......
case 常量表达式n: 语句组n; break;
default: 语句组n+1;
}
switch语句的执行过程:
①先求出表达式的值;
②将表达式的值依次与case后面的常量表达式值相比较,若与某一常量表达式的值相等,则转去执行该case语句后边的语句序列,直到遇到break语句或switch语句的右花括号为止。
③若表达式的值与case语句后的任一常量表达式的值都不相等,如果有default语句,则执行其后边的语句序列。如果没有default语句,则什么也不执行。
循环结构
C++提供了3种循环语句:for语句、while语句和do-whi1e语句。
在循环语句中,重复执行的操作叫做循环体。
循环体可以是单条语句、块语句甚至是空语句。
while循环
while循环有两种循环控制语句实现,while语句和do...while语句。
while语句
格式: while(条件表达式) 语句
while语句执行过程为:
先计算条件表达式,如果该表达式的值为非零,则执行循环体的语句;
否则退出循环,不执行循环体,而执行该循环语句后面的语句。
也就是说,当循环条件为真时反复执行循环体。因此,while循环也被叫做"当"型循环。
do while 语句
格式:do 语句 while(条件表达式);
do...while语句执行过程为:
先执行循环体后判断条件表达式的值,若表达式的值为真则反复地执行循环体,直到表达式的值为假才退出循环。
因此,do...while语句也被叫做"直到"型循环。
区别:在一定条件下,while循环可能一次都不执行,而do...while循环在任何条件下都至少要执行一次。
for循环
格式:for(表达式1;表达式2;表达式3) 语句
就是:for( 循环变量赋初值;循环条件;循环变量增值) 循环体
for是关键字,语句为循环体,它可以是一条语句,也可以是复合语句,还可以是空语句。
for循环语句的执行过程:
① 计算表达式1的值。
② 计算表达式2的值,并进行判断,如果表达式2的值为0(false)则退出该循环,执该循环体后面的语句; 如果表达式2的值为非0(true)转(3) 。
③ 执行循环体的语句。
④ 计算表达式3的值。
⑤ 转 ②
跳转语句
提供:三个转移语句:break语句、continue语句和goto语句。
主要用于改变程序中语句的执行顺序,使程序从某一语句有目的地转移到另一语句继续执行。
break语句
break语句的功能是:中断所在循环体或switch...case语句块,跳转本层循环体外。
我们希望一个程序从中间某个地方停止运行,就需要使用循环控制语句break,break语句只能跳出直接包含它的for循环。
例如,输出100到999之间第一个15的倍数?
cpp
#include<iostream>
using namespace std;
int main(){
int i;
for(i = 100; i <= 999; i ++){
if( i % 15 == 0){
break;
}
}
cout << i << endl;
return 0;
}
continue语句
continue语句的作用是跳过本次循环的其它语句,直接进入下一次循环。
continue语句只能用在循环语句的循环体内。在循环执行的过程中,如果遇到continue语句,程序将结束本次循环,接着开始下一次的循环。
例如:
cpp
#include<iostream>
using namespace std;
int main(){
int i;
for(i = 100; i <= 110; i ++){
if( i % 17 == 0){
continue;
}
cout << i << endl;
}
return 0;
}
goto语句
格式: goto 语句标号;
程序跳到语句标号位置继续执行。语句标号属于标识符,格式:语句标号: 语句
其中的语句可以是任意语句,如:{、 while()、 for()...等。
goto语句的使用限制在一个函数体内,即goto语句只能在一个函数范围内进行语句转移。在同一函数中,语句标号应该是唯一的。