1、顺序结构:指程序按照从上到下按照语句的顺序执行;
2、选择结构:
(1)if语句-3种基本形式
形式一
if(表达式) {语句1;语句2;·····}
形式二
if(表达式)
{ 语句1;语句2····}
else
{语句1;语句2----}
形式三
if(表达式1) {语句1···}
else if(表达式2){语句2···}
else if(表达式3){语句3···}
·····
else if(表达式m) {语句m···}
else {语句n····}
另外,注意:if还有嵌套形式如下:
if(表达式1)
{
if(表达式2) 语句块1
else 语句块2
}else
{
if(表达式3) 语句块3
else 语句块4
}
注意:条件运算符形式: 表达式1?表达式2:表达式3;若表达式1为为真,则返回表达式2的值,否则返回表达式3的值。
(2)switch语句
switch语句一般常用于处理多分支选择的情况,虽然if也可以实现多分支结构,但其可读性没有switch语句高。
形式如下:
switch(表达式)//必须是一个整型表达式,意味着也可以包含运算符和函数调用
{
case 情况1://case语句检验的值必须是整型常量,即可以是常量表达式或者常量运算。
语句块1;
break;//break语句用于跳出switch结构,因此每种情况都有break,若果没有会继续将后面的 内容执行
case 情况2:
语句块2;
break;
case 情况3:注意:各case检验的常量的值不能相同
语句块3;
break;
·····
default://每一个switch结构只能有一个default语句,而且default语句是可以省略的
默认情况语句块;
break;
}
注意:多路开关模式的switch语句
switch(表达式)
{
case 1:
语句1;
break;
case 2:
case 3:
语句2;
break;
·····
default
默认语句;
break;
}
使用多路开关模式使得多种检验条件使用一种解决方式。
if--else语句和switch语句的比较:
当判定的情况占少数时,if-else结构比switch结构检验速度快。因此,一般情况下,如果分支在3个或者4个以下,用if-else结构比较好,否则选择switch结构。
3、循环结构
很好理解,循环结构的作用就是反复执行一段指令,直到满足某个条件为止。
3种基本结构如下:
(1)while(表达式){语句···} 其特点是先检验条件是否满足然后再执行语句的。
(2)do
{
语句
}while(表达式);
特点:先执行循环体语句,然后判断循环条件是否成立。因此,其至少执行1次。
(3)for(表达式1;表达式2;表达式3){ 语句}
特点:先求解表达式1(只1次),表达式2为循环条件,若条件满足就执行循环语句和求解表达式3。以后是以表达式2为判断,若成立就执行循环体语句和求解表达式3的循环反复执行。.
其实for语句可以用while循环的形式来表示:
表达式1;
while(表达式2)
{
语句
表达式3;
}
注意一 for循环的变体
表达式1:一般是给循环变量赋初始值;若缺,可以在定义该变量时,直接赋值;
表达式2:循环条件,若缺,则程序会无限循环下去;
表达式3:循环变量增量,若缺,会无限循环。为防止无限循环下去,可在循环体中加入循环变量增量表达式;
当3个表达式都缺时,相当于
while(1)
{
语句
}
会无限循环。
注意二 for语句中逗号应用
表达式1和表达式3都可以使用逗号表达式。
如 for(sum=0,count=1;count<100;count++,count++)
注意:凡用while循环能完成的,用for循环都能实现
(4)循环嵌套:顾名思义,指3种循环结构可以相互内包含。
(5)转移语句:转移程序执行的流程
3种语句如下所述:
语句一
goto语句(无条件转移语句),可以使程序立即跳转到函数内部的任意一条可执行语句。其形式:“goto 标识符;” 其中,该标识符是同一函数内某条语句的标号。标号可以出现在任何可执行语句的前面,并且一个冒号“:”作为后缀。
用法如下:
goto 标识符;
标识符:语句
当然,跳转的方向可以向前,也可以向后;可以跳出一个循环,也可以进入一个循环。
语句二
break语句:跳出循环,执行后面的代码。
用法如下:
break;
注:break语句只能用于循环语句和switch语句中。
语句三
continue语句:结束本次循环,执行下一次循环操作。
用法如下:
continue;
以上是关于程序结构的介绍。