C/C++条件判断
条件判断
if语句的三种形态
if(a<b){} 、 if(a<b){}else{} 、 if(a<b){}else if(a>b) else{}
if语句的嵌套
嵌套的常见错误(配对错误),与前面最近的,而且还没有配对的if匹配
错误避免方法:严格使用 { }、先写{}再写里面的内容、保持良好的“缩进”
switch语句
switch的基本使用
语法:
switch (x) {
case 表达式1:语句1break;case 表达式2:语句2break;case 表达式3:语句3break;default 表达式1:语句1break;
}
流程图:
switch和if的选择
switch: 用于int/char/long/long long 类型的变量,和多个特定常量的判断处理。(float和double类型不可以)
if: 适用于各种逻辑判断
循环
while循环
使用场合:当需要反复执行某些“过程”时,就可以使用while循环。
使用方法 while (条件) { 语句1 语句2 ....... }
强烈建议,无论循环体内有几条语句,都使用{}
break的作用:跳出所在的循环。
死循环:有些场合(比如,游戏引擎的主循环, 就是一个死循环),更多场合,需要避免死循环。
while循环流程图
for循环
从功能上,for循环和while循环是完全等效的!
使用场合:在循环次数已经确定的情况下,使用for循环更方便!
使用方法:
for (表达式1; 表达式2;表达式3){
循环体
}
说明:表达式1:为循环做准备、表达式2:循环条件、表达式3: 改变循环计数
注意:表达式1、表达式2、表达式3, 这3个表达式的任意一个或多个,都可以省略!但是其中的“;”不可以省略!
for (; ; ) { 循环体 } 相当于: while (1) { 循环体 }
for循环的表达式1:在C89标准中,表达式1不能定义变量;在C99标准和C++中,表达式1可以定义变量;表达式1中定义的变量,仅在for循环中有效。
forx循环流程图
for (表达式1; 表达式2;表达式3){ 循环语句 }
for 循环的次数控制:for (int i=0; i<10; i++) { ... } //常用方式
for (int i=1; i<=10; i++) { ... } //较少使用
for和while的选择
当已经确定了循环次数时,建议使用for;其他情况,可以使用for ,也可以使用while, 建议使用while。
do-while循环
使用场合:先执行一次循环体,然后再判断条件,以判定是否继续下一轮循环!即:至少执行一次循环体!
//使用方法:
do {循环体
} while (条件)
//特殊用法:【在特殊的宏定义中使用】
do {// 循环体
} while(0);
循环中的特殊控制:continue与break
break:结束本层循环。 continue:结束本次循环,进入一次循环
for语句中的continue
while语句中的continue
for (初始化; 条件; 增量) {// 代码1if (某些条件) {continue; // 跳过本次循环剩余部分}// 代码2 (当continue执行时,这部分会被跳过)
}
goto语句
goto是C++中的一个跳转语句,它允许程序无条件跳转到同一函数内的标记语句处。尽管goto在某些情况下很有用,但过度使用会导致代码难以理解和维护(被称为"面条代码"),因此应当谨慎使用。
循环嵌套
要点:把内层的循环,看成一个完整的“大语句”