c语言进阶内容补全1:分支循环,if switch语句

选择语句

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;
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值