分支与循环

分支与循环

一,选择分支

1, 单分支结构

			if(表达式)
			   语句;

当if后的表达式判断为真(非零),继续执行下面的语句,如若判断为假(0),即跳过if语句,执行下一条语句。
加号在这里注重说一下表达式的判断
1.表达式为赋值运算式(这个是我自己瞎叫的。。。)
在这里插入图片描述
这里要进行运算判断,计算b%c,如果a=0,即为假,如若a!=0,即为真
在这里插入图片描述
如图,4%3结果为1,所以执行语句,结果为1.
在这里插入图片描述
如图,3%3结果为0,所以不执行if语句。
2.关系表达式
就简单啦,就是>,<,>=,<=,==,!=,这几个,进行判断,再决定要不要执行语句。
3.逻辑表达式
也是简单的,“!” “&&” “||”这三个就是了,进行判断真假,再决定执不执行语句。

话说回if语句,当语句只有一条时,直接写在if语句下行。如果有多条语句的话,要写成复合语句的形式。

2.双分支结构

			if(表达式)                          ;;;表达式同上;;;
				语句;
			else
				 语句;

双分支也是判断表达式,如果为真即进行第一条语句,如果为假即执行第二条语句。其他的同单分支语句

3.多分支语句

	if(表达式)											///表达式同上///
		语句;
	else if(表达式)
		语句;
	.....
	else 
		语句;	

多分支结构从上至下依次判断表达式是否为真,遇到真的表达式,即运行对应的语句,如果所有表达式都为假就执行else的语句。

二.选择结构的嵌套

选择结构的嵌套,就是上述三种语句的相互嵌套。
在这里插入图片描述
like this 就是双分支与单分支的嵌套,在嵌套时要找到配套的if结构,
if与离它最近的else相互配对。

循环

switch(表达式)===》(整数类型)
{
	case 常量表达式:语句;
	case 常量表达式:语句;
	....
	default:语句;
}

此表达式,运行也是进行判断,只不过表达式里一定是整数的数据类型
结构里面的表达式一定要是常量
运行逻辑是,进行判断,运行时从上到下依次判断,当遇到第一个符合条件的表达式,即执行后续语句,并且运行后续的语句。

像这样输入2却输出了后续所有语句。

如果要进行选择执行的话,在每个语句后面加上break,break意思为中断/跳出,break可以结束循环。
在这里插入图片描述
再加入break后输入2就只输出星期二
default可有可无,default的作用是当上方所有语句都不执行就执行default后的语句
当没有default时,上方所有语句都为假时,就不会有任何执行,跳过switch结构

while语句

while(表达式)
	语句;

判断表达式,然后运行语句。如果为真,即运行完后再进行表达式判断,如果为真就继续循环下去,直到表达式判断为假。结束循环
break和continue可以用于跳出循环,break上面加号说啦,终止循环。那么continue是什么作用呢?continue是break的小弟,break是终止循环,continue是跳过一次循环。

用法补充

清空输入缓冲区

int main()
{
	int ch=0;
	while ((ch=getchar())!='\n')                       
			{
			;
			}
}

在这里插入图片描述
在这个代码运行中,加号输入了123456,却没有再次输入Y或者什么字符,就直接输出了确认失败。。。。
就是输入缓冲区的问题,编译器读取的是”123456\n“,123456被赋给s,缓冲区里留着\n,因为缓冲区里有东西,所以编译器就直接读取了,所以我们没有输入,而代码就已经执行了
所以要进行的清空缓存区的操作

for语句

for(表达式;表达式;表达式)
		语句;

表达式1:给循环变量设置初始值,只执行一次。
表达式2:循环条件表达式,据此判断是否执行语句
表达式3:改变循环变量初始值
在这里插入图片描述
像这样初始值a=1,判断a<11,执行语句b=b*a,结束语句后,a=a+1,再进行判断a<11,循环,直到a=11时,循环结束。for结构也可以用break和confinue结束

do while

	#include <stdio.h>
int main()
{
int i=1,sum=0;
do
{
	sum+=i;
	i++;	
}while(i<=24);
printf("%d",sum);
return 0; 
 } 

先执行do后面的语句,再去判断while后的表达式,如果表达式为真,则再执行do后的语句,如此以往,直到while判断为假。结束循环

加号

好了,这些就是本次的内容了,加号在努力加油阿!最近的烦心事也是很多阿,大家都要加油阿,加号也在加油!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值