判断结构:
1.大括号的意义,代码块
代码块用处:
1.将多句指令集合到一起执行
举例,
单句指令以‘ ;’分号结尾,
if语句想要同时执行一组指令,就用‘ { } ’大括号将语句组成代码块,此时代码以‘ } ’结尾
if (x > 0)
cout << "x 大于0" << endl; //此处if语句已经以‘ ; ’结束
cout << "x 不等于0" << endl; //此处为另一语句,与if语句无关
if (x > 0) {
cout << "x 大于0" << endl; //此处cout语句以‘ ; ’结束
cout << "x 不等于0" << endl; //此处cout语句以‘ ; ’结束
} //此处if语句以‘ } ’结束
2.划定作用域,一个指令结束,所有变量销毁,我们每次打代码的最后都有一个‘ } ’作为结束,在这个作用域结束以前,我们声明的变量都能使用
int main () {
int x1 = 0;
{
int x2 = 0;
} //此处作用域已结束,x2已经销毁
x1 = 1; //可以调用
x2 = 1; //报错,x2未定义,因为已经销毁了
return 0;
} //此处作用域结束
同理可以推断,以下代码同样会报错,一句指令同样也是作用域
if (x > 0)
int y = 0;
if (y > 0) ;
2.短路原则
逻辑与&& 逻辑或 ||
按顺序判断前后条件,如果能得出结果,就无需判断后续条件
条件1 && 条件2
条件1为false,直接得出运算结果为false
条件1 || 条件2
条件1为true,直接得出运算结果为true
3.真假判断语句为右值,右值只是一个执行结果,a < 1, a + 1,a++,a = 1都有一个右值也就是执行结果,判断语句并不只能用大于小于等于这些比较运算符
4.switch,case
使用break将顺序结构设计为判断结构,合理使用break可以达成多选的效果
switch (选项) {
case 1:
执行1;
case 2:
执行2;
break; //选1执行12多选,选2执行2
case 3:
执行3;
break;
}
switch
默认是顺序结构,break
把它变成判断结构;合理省略 break
可以实现多个选项对应同一个处理逻辑(多选效果)。