1、程序的结构 程序默认从上到下顺序执行(顺序结构) 程序的结构:顺序结构、分支结构、循环结构 2、if分支语句 程序执行的过程中可以有多个选择 格式: if(表达式){ 语句块; } ...... 进行表达式的求值:如果表达式的值为非0(真) 会执行语句块 0 (假) 不会执行语句块, 3、if分支语句的几种形式 1)最简单的,要不执行,要不是不执行 if(表达式){ 语句块; } 2)if.....else...... if(表达式){ 语句块1; }else{ 语句块2; } 进行表达式的求值:如果表达式的值为(真) 会执行语句块1 0 (假) 会执行语句块2 注意:语句块1和语句2只可能被执行一次 3)if...else...的嵌套问题 if(表达式1){ if(表达式2){ //表达式1值为1,并且表达式2值为1 语句块1; }else{ 语句块2; //表达式1值为1,但是表达式2的值为0 } }else{ 语句块3; //表达式1为0的时候 } 4)if..... else if ......else.... if(表达式1){ 语句块1; //表达式1为真 }else if(表达式2){ 语句块2; //当表达式1不成立,但是表达式2成立 }else{ 语句块3; //当表达式1和表达式2都不成立的时候 } 4、if注意点 1)if(1)、if(-1)、if(a=5) 永真式 if(0) 永假 2)if(表达式); 表示判断完了什么都不做 3) if(表达式) return 0; //程序退出,代码不会再往下执行了 4) if(表达式){int num=10;} printf("%d",num);(错误的) 5)if(表达式) int num=10; (作用域紊乱) 5、switch分支语句 也是用于条件判断,当表达是的结果有多种情况,用switch比较方便一些 格式: switch(表达式){ case 整型常量或者字符常量: 语句; ..... default: //如果上面的条件都不满足,执行default } 计算表达式的值,用这个值和case后的常量进行比较,如果这个值等于了某个常量值,会执行case对应的分支语句,遇到break;才结束,如果没有遇到break,程序一直会往下执行,直到switch语句结束 6、switch的注意点 1)switch(表达式) 表达式:返回值是整型 2)case 常量 常量:必须是整型的 ,不能是flaoat cast 2.3: 可以放常量表达式,但是不允许:a+3 3) 作用域的问题 case 3: { int num=-1; } case 4:printf("%d\n",num); 不允许的 4)case分之语句可以有多句,可以使用大括号,也可以不使用 5)作用域紊乱的问题: case 4:int a=4; (错误的)
|