选择语句
int main(){
int age=10;
//选择语句的单分支,多分支写法
if(age<=20){
printf("未成年\n");
} //如果不加大括号,if后只能跟一行语句,要想跟多行必须加大括号
else
printf("成年");
//多分支
if(age<=20&&age>=15){
printf("青少年");
}
else if(age<15&&age>=10){
printf("少年");
}
else
printf("儿童");
return 0;
}
1,代码一定要规范,否则非常容易写出bug,同一级别的选择语句要用相同的缩进
2,在同一括号内,if跟最近的else匹配,故图下的输出无结果,应该将if下内容括号起来
#include<stdio.h>
//选择和条件语句的应用等等
int main(){
int a=0;
int b=2;
if(a==1)
if(b==2)
printf("hehe\n");
else
printf("haha\n");//运行的结果无法打印,因为同一括号内
// else跟最近的if匹配,而不是根据缩进 ,所以写代码时务必规范好看
return 0;
// 推荐图书:高质量cc+编程
}
#include<stdio.h>
int main(){
int a=0;
int i=1;
if(1==a%2)//if(num=5)//(代码风格优化)这种写法会避免少带一个等号的情况,可以容易检查出错误
{
printf("奇数") ;
}
else
printf("偶数");
//输出1-100中的数是奇数还是偶数
while(i<=100)
{
if(1==i%2)
printf("%d为奇数\n",i);
else
printf("%d为偶数\n",i);
i++;
}
return 0;
}
代码风格的优化
1.将选择语句的判断中==变量放在右边,数字放在左边,这样可以防止少打一个等号导致检查不出错误。
2.在选择语句的判断条件两遍加两个空格,以便使结构看起来清晰规整
选择结构switch:
注意点,Switch后的变量为进入Switch的入口,根据case后的值匹配,如果不输入break,则会连续打印直到遇到break或者结束为止,可以用下述用法将不同输入同输出的语句简化
若没有输入包含的case,则会进入default语句
Switch语句可嵌套
#include<stdio.h>
int main(){
int day=0;
scanf("%d",&day);
switch(day)
{
case 1://case后必须是整形或字符,不能是变量
printf("星期1\n");
break;//跳出,避免再做后面的选择
case 2:
printf("星期2\n");
break;
case 3:
printf("星期3\n");
break;
case 4:
printf("星期4\n");
break;
case 5:
printf("星期5\n");
break;
case 6:
printf("星期6");
break;
case 7:
printf("星期天\n");
break;
}
//简化为weekday和weekend,如何呀简化写法
switch(day)
{
case 1:
case 2:
case 3:
case 4:
case 5://删去1-5的break可使1-5的所有值都通向五的输出和跳出,达到了1-5同输出的效果
printf("weekday\n");
break;
case 6:
case 7:
printf("weekend\n");
break;
default:
printf("错误");
break;
}
return 0;
}