【C语言】分支语句与循环语句

本文详细介绍了C语言中的分支语句,包括if-else和switch结构,强调了大括号用于包裹多条语句的重要性。同时,讲解了循环语句,如while、for和do-while,探讨了break和continue的使用,并给出了相关实例。此外,提到了代码风格的规范,以提高代码可读性。

分支语句

if else语句

由一个分号(;)隔开的就是一条语句,

int a=9;

a-c;

;

上面这些都是一个语句,哪怕只有一个分号。
接下来说明一下if else的结构

if//表达式)
   //语句;

这是一种结构,C语言中,0为假,非0为真,当表达式的结果为真时,则执行下面的语句,若结果为假,则不执行。

if//表达式)
   //语句1;
else
  //语句2;   

这则是第二种结构,使用else,此时,当表达式结果为真,执行语句1,当表达式结果为假,执行语句2.
还有一种结构适用于多种选择时,

if//表达式)
   //语句1;
else if
  //语句2; 
else if
  //语句3;
else if
  //语句4;  
else  

只要你想,else if可以有很多个,最后的一个else可要可不要,对结果没有影响。
这里要展示一种情况:

int a = 10,b=20;

	if (a < 20)
		printf("dsloqw");
	else
		printf("udu");
        printf("((")
	return 0;

我们想让他最后输出的结果是else下面两个,但是却只有udu,这是因为if和else默认的只控制一条语句,所以如果我们想让他执行多条语句,我们需要大括号将执行语句括起来,这样才可以。
还有当我们进行多选择程序时,例如

int age=20
if(age<18//语句1;
else if(18<age<36)
   //语句
else  

这样输入的话,结果会出问题,这里要表示这个不等式需要使用&&(并且)。


int main()
{
	int a = 10,b=10;

	if (a < 20)
		if (b < 15)
			printf("dsloqw");
	else
		printf("udu");

	return 0;
}

这种代码风格我们不支持,要知道,else与离他最近的if配对,这里的else与上面的if对齐,会给我们的阅读带来一定的误解,我们应让两个配对的if else对齐,提升我们的阅读体验,让我们更好理解代码。

switch语句

我个人感觉switch语句挺有意思的,他可以实现人与人隔着电脑的互动
switch的基本结构如下:

switch//整型表达式)
{
   //语句项;
}

switch的语句项是一些case语句,即case 整型常量表达式,
在这里我们还会用到break,表示跳出语句,结束进程,如下是switch语句的应用举例:

int main()
{
	printf("你是个男孩吗?\n");

	int a = 0;

	scanf("%d",& a);

	switch (a)
	{
	case 1:
		printf("呵呵\n");
		break;

    case 2:
		printf("woc\n");
		break;
	}
	return 0;
}

其实我们对于最后一个break也是可要可不要的,但是作为一个好习惯,我们应该保留,为了防止以后有人更改时因为break而出现错误。
就像上面那个代码,我们给了两个输入值,分别对应不同结果,那么当有人输入的不是这两个而是别的呢,这时我们可以使用default子句,表示输入错误。

循环语句

while循环

while循环语句的基本结构

while//表达式)
{
   循环语句;
}

while循环的流程如下:
while循环流程图
在while循环中我们也会使用到break,还有一个continue,break表示彻底的永久的结束循环,continue则表示跳过本次循环,

while(a<b)
{
   int c=a;
   break;//永久结束循环,直接跳到大括号外

  int h=9;
  continue;//跳过本次循环,跳过了h++这一语句,直接从while行重新开始
  h++;
}

for循环

在while循环中,整串代码分为三个部分

int a=0;//初始化部分
while//表达式)//判断部分
{
a++//调整部分
}

在某些情况下,这三个部分会相互之间隔的很远,不利于我们对整串代码的阅读,
这就是for循环的优势,他将三个部分放在一个括号内,便于我们对代码的整体掌握。

for(表达式1//初始化,表达式2//判断,表达式3//调整)
   循环语句

for循环流程图
for循环中也会使用到break和continue,在for循环中使用continue,有效的减少了死循环的发生。
对于for循环的使用有两条建议:
不在for循环体内修改循环变量,防止for循环失去控制。
循环控制变量取值采用前闭后开写法。前闭后开写法类比我们高中学的前闭后开区间,

for(i=0,i<10,i++);
for(i=0,i<=10,i++);

上面的就是前闭后开写法,下面的是前闭后闭,采用上面的那种写法使得10也可以拥有意义,比如说10个值,若是下面的写法则没有什么意义。
for循环有两个变种,实际上就是for循环的应用方法多样

for( ; ; )
{
  循环语句
}

这种是将初始化,判断,调整三个部分省略的写法,这种虽然简便,但是很容易出现错误,使循环陷入死循环。
还有一种是使用两个变量,这个比较好理解。

do while循环

do while 循环与while循环大同小异,只是他的结构是把循环语句放在上面,while对应的表达式则是在下面。这里面break和continue的用法以及作用与在while循环中一样。
do while循环至少循环1次,使用场景有限,不常用,更常用的循环结构是for循环。
do while 循环流程图

=========================================================================================================
今天的就到这里,因为时间原因,笔记并没有整理全,许多代码都没有写全,也有一些需要写下来实践的也没有进行,一些比较复杂的代码还没有研究,所以今天的内容有些简陋,虽然一直都挺简陋的。
明天暂停一天,不再学习新的内容,明天把这一周学习的东西复习总结一下,复杂代码也需要实操。
结束语 : 无。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒世伞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值