C语言——判断补充和初识循环

判断补充

回顾上文,我总结到了if和else语句以及他们的嵌套式使用,而今天就补充级联的if和else if,以及switch的相关用法

级联的if和else if

级联if只是嵌套使用的换了个格式,但是却比嵌套更为简洁和鲜明。比如用级联来表示一个分段函数。在这里插入图片描述
如图所示,级联可以将一个范围分成多部分来减琐,而嵌套则是在if和else两种情况中一种再分两种。级联是一个很好的可以解决多种情况的手段。

if(x<0){
	f(x)=-1;	
}	
else if(x==0){
	f(x)=0
}
else{f(x)=2*x
}

switch和嵌套式switch语句

  • switch语句

① 定义: switch语句可以看作是一种基于计算的跳转,计算控制表达式的值后,程序会跳转到相匹配的case(分支标号)处。分支标号只是说明switch内部位置的路标,在执行完分支中的最后一条语句后,如果后面没有break,就会顺序执行到下面的case里去,直到遇到一个break,或者switch结束为止。Switch同样作为判断语句,它的优点是一个变量可测试多个值的情况

② 常见格式为

Switch(控制表达式){
Case 常量:
语句
......

Case常量:
语句


Default:
语句
......}

实例:

switch (a){
	case 1:
		a++;
		break;
	
	case 0:
		a--;
		break;
	
	default:
		printf("抱歉,您的输入有误。");
		break; 
}

①嵌套类比:
嵌套switch与嵌套使用if具有一定的相似性。同if,可以把一个 switch 作为一个外部 switch 的语句序列的一部分,即可以在一个 switch 语句内使用另一个 switch 语句。

②特别的是:
即使内部和外部 switch 的 case 常量包含共同的值,也没有矛盾

初识循环

while语句

  • 定义:
    循环是在判断的基础上,一直在循环体里做计算,直至离开循环。例如while循环。
  • 格式:
while( 循环条件){
循环体 
}

例如

while (x>0) {
		digit=x%10
		ret=ret*10+digit;
		x/=10;
	}

do while语句

do while是从while衍生出来的,它与while不同的是,是判断语句先执行还是循环体先执行。do while是先执行循环体,无论这个变量是否满足条件,都是先执行,然后判断条件;while是先判断是否满足条件,然后才进入循环体。

实用优点:比如在一个变量起始就需要做一个指令,然后再进入判断条件。这时候用do while就方便于while
例如

	srand(time(0));//先取到数 
	int number=rand()%100+1;//接着只取数字的后两位数 
	int count=0;
	int a;
	printf("我已经想好了一个1-100的数。\n"); 
	
	do
	{	printf("请输入您想到的数:  ");
		scanf("%d",&a);
		count++;
		if(a>number){
		printf("大了!"); 
		}
		else if(a<number){
		printf("小了!"); 
		}	
	}
	while(a!=number);
	
	 printf("您猜对了,您用了%d次就猜到了答案%d\n",count,a);
	return 0;

这时候do while就方便于while

循环执行的注意事项

  • 条件成立是循环的继续。
  • 以上两种循环体内要有改变条件的机会。

其他细节

验证
验证条件通常使用边界数据,如有效范围两端的数据、特殊的倍数。

  • 个位数
  • 10
  • 0
  • 负数
  • printf放在合适的位置上,也可表达循环的每轮输出,也能用来验证数据

路漫漫其修远兮,吾将上下而求索。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值