很多人觉得if嵌套比较难,其实理清楚程序结构很简单。
if(条件)
{分支1} //当条件为真,执行分支体1
else
{分支2} //当条件为假,执行分支体2
//分支体可以是一条语句,此时“{ }”可以省略,
//也可以是多条语句即复合语句。
这是一般的选择结构,而if嵌套就是在分支里面又包含了一个if语句。分支可以是复合语句,多条语句里面某一条语句可以是if选择、循环什么都可以。
if(条件)
{//分支1
语句1
if(条件) 语句;//嵌套if语句
else 语句;
语句n
} //当条件为真,执行分支体1
else
{//分支2
for(表达式1;表达式2;表达式3)//循环
{
循环体;//又可以嵌套循环结构或者选择结构
}
} //当条件为假,执行分支体2
//分支体可以是一条语句,此时“{ }”可以省略,
//也可以是多条语句即复合语句。
注意:else不能单独使用,必须有对应的if。配对原则是: else 总是与其前面最近的尚未配对的if结合。需要注意的是if else是否为同一级。
写代码时,要注意缩进,分清层次。嵌套语句缩进能清楚地看到if else配对关系,方便阅读,理清思路。
switch case:引入关键字:switch case break default
switch (变量) // 执行到这一句时,变量的值是已知的
{ // switch case语句执行时,会用该变量的值依次
//与各个case后的常数去对比,
//试图找到第一个匹配项,找到匹配的项目后,
case 常数1: // 就去执行该case对应的代码段,如果没找到则继续下一个case,直到最后default
代码段1; // 如果前面的case都未匹配,则default匹配。
break;
case 常数2:
代码段2;
break;
……
default:
代码段n;
break;
}
注意:
第一,case中必须是常数,而且必须是整型(char也可以按整型处理,取ASCII值;enum枚举常量,在C++中bool类型也属于整型常量的一种)。
第二,一般来说,每个case中代码段后都必须有一个break;若没有break,则继续执行下一个case,直到遇到break或者到最后switch结束。
第三,case之后一般都会有default,虽然语法上允许没有default,但是建议写代码时一定要写。