C语言中的真假定义
c 语言中把非零的值定为true,把零定为false。判断表达式中把常量放前面能有效避免把判断语句(5==a)写成赋值语句(5=a)的情况。
if(a==5)易错写成if(a=5),且编译器不报错
if(5==a) 错写成 if(5=a)编译器报错,提示“5=a”语法错误
C语言中的分支语句
if
语句if (表达式) 语句 1 例: if(a>b) max = a;
if...else
语句if (表达式) 语句 1 else 语句 2 例: if(a>b) max = a; else max = b;
if...else if...else
语句if (表达式 1) 语句 1 else if (表达式 2) 语句 2 else if (表达式 3) 语句 3 ... else 语句 n
例: if (i > 90) a = 1; else if (i > 70 && i < 90) a = 2; else if (i > 60) //(i < 70 && i > 60)可省略上限的判断,上一 if 已判断过上限 a = 3; else a = 4;
if
的嵌套
下一层有双分支,优先放在本层 else ,增加可读性,避免else与if匹配引起思维混乱。else总是与它上面未配对的 if 配对,而花括号可以确定配对关系。
if() { if() 语句 1 } else 语句 2 //“{}”限定了内嵌的 if 语句的范围,else与第一个 if 配对
switch
语句可以没有
default
,当表达式与所有 case 不匹配则执行 default ,default 位置不影响整体效果。进入 case 后没遇到 break 则一直执行到 switch 最后或遇到 break;switch(表达式) { case 常量 1: 语句 1 //case后有一个空格 case 常量 2: 语句 2 ... case 常量 n: 语句 n default : 语句 n+1 } 例: switch (a) { case 1: printf("星期一\n"); //a=1,输出星期一、星期三、星期二、星期日 case 3: printf("星期三\n"); //a=3,输出星期三、星期二、星期日 case 2: printf("星期二\n"); //a=2,输出星期二、星期日 default: printf("星期日\n"); //除1、2、3、4、5、6,输出星期日 break; case 4: printf("星期四\n"); //a=4,输出星期四、星期五 case 5: printf("星期五\n"); //a=5,输出星期五 break; case 6: printf("星期六\n"); //a=6,输出星期六 }
switch
的嵌套
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1401362462@qq.com