判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句和条件为假时要执行的语句
c++编程语言提供以下类型的判断语句
if语句
if(boolean_expression)
{
如果布尔表达式为真将执行的语句
}
如果布尔表达式为真,则if语句内的代码块将被执行,如果为false,则if语句结束后的第一组代码将被执行
c语言 把任何非零和非空的值假定为true,把零或null假定为false
if else语句
if(boolean_expression)
{
如果布尔表达式为真将执行的语句
}
else
{
如果布尔表达式为假将执行的语句
}
如果布尔表达式为真,则执行if块内的代码,如果布尔表达式为false,则执行else块内的代码
一个if语句后可跟一个可选的else if语句,这可用于测试多种条件
当使用if else语句时应注意
一个if后可跟零个或多个else,else必须在所有else if之后
一个if后可跟零个或多个else if,else if必须在else之前
一旦某个else if匹配成功,其他的else if或else将不会被测试
嵌套if语句
用户可以在一个if或else if语句内使用另一个if或else if语句
switch语句
一个switch语句允许测试一个变量等于多个值的情况,每个值成为一个case,且被测试的变量会对每个switch case进行检查
switch(expression){
case constant-expression:
statement(s);
break; //可不加
default:
statement(s);
}
switch语句必须遵循下面的规则
switch语句中的expression必须是一个整型或枚举类型,或者是一个class类型,其中class有一个单一的转换函数将其转换为整型或枚举类型
在一个switch中可以有任意数量的case语句,每个case后跟一个要比较的值和一个冒号
case的constant-expression必须与switch中的变量具有相同的数据类型,且必须是一个常量或字面量
当被测试的变量等于case中的常量时,case后跟的语句将被执行,直到遇见break语句为止
当遇到break语句时,switch终止,控制流将跳转到switch语句的下一行
不是每一个case都需要包含break,如果case语句不包含break,控制流将会继续后续的case,直到遇见break为止
一个switch语句可以有一个可选的default case,出现在switch的结尾,default case可用于在上面所有case都不为真时执行一个任务,default case中的break语句不是必须的
嵌套switch语句
用户可以在一个switch语句内使用另一个switch语句