C语言之分支循环语句(一)------介绍了循环的类型和应用

1.初步理解循环

为什么要有循环语句呢?循环语句的作用是什么?
C语言是一门结构化程序设计语言,它的结构分为顺序结构、选择结构、循环结构。通过分析其实不难理解我们生活中发生的事情都可以用这三种结构来进行解释。
其中循环结构就是将一个小动作重复的做,比如数学中我们需要求一个数是否是2的倍数,就需要不断的将这个数除以2,最后看结果是否能除的清,也就是说看对这个数取余,如果余数为0则是2的倍数,反之不是。将这个数除以2的这个动作就是一个小动作。
通过上述例子可知道,如果我们要用代码的方式实现,只需要完成一个小动作的代码,然后进行循环,就可以实现我们最终的目的。就像生产线一样,重复的动作只需要完成一次,剩下的教给机器循环即可。只不过循环的方式可以有好多种,所以就出现了好多分支语句,for循环、if循环、while循环等等循环分支语句。

2.if循环

(1)if循环

if(表达式)
{
   语句;
}

表达式成⽴(为真),则语句执⾏,表达式不成⽴(为假),则语句不执⾏
注意:在C语⾔中,0为假,⾮0表⽰真,也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果是
不是0,则语句执⾏。

例子:判断一个数是否能被2整除

#include <stdio.h>
int main()
{
    int i=0;
    scanf("%d",&i);
    if(i % 2 == 0)
    {
      printf("%d能被2乘除",i);
    }  
    return 0;
}

(2)if-else循环

if(表达式)
{
  语句1;
}
else
{
  语句2;
}

该语句的逻辑关系为:若表达式成立,执行语句;若表达式不成立执行语句2。
注意:这里的else不能加表达式,单独一个else就即可。
例:还是判断一个数是否能被2整除,若乘除输出:“该整数为偶数”,若不能输出“该整数为奇数”。

#include <stdio.h>
int main()
{
    int i=0;
    scanf("%d",&i);
    if(i % 2 == 0)
    {
      printf("该整数为偶数");
    }  
    else
    {
       printf("该整数为奇数");
    }
    return 0;
}

(3)if多分支

上述讲的if循环和if-else循环都可以使用多个if,但是else只能使用一个,也
可以不使用else。

if(表达式)
{
   语句;
}
if(表达式)
{
   语句;
}
if(表达式)
{
   语句;
}
............(可以使用多个if)

if(表达式)
{
   语句;
}

(4)if-else if-else语句

if(表达式)
{
   语句;
}
else if(表达式)
{
   语句;
}
else if(表达式)
{
   语句;
 }
 ..........(可以使用多个else if(表达式))
 else
 {
   语句;
 }
#include <stdio.h>
int main()
{
  int age = 0;	
  scanf("%d", &age);
   if (age < 18)
  printf("少年\n");
  else if (age <= 44)
  printf("青年\n");
  else if(age < 59)
  printf("中老年\n");
  else if (age < 89)
  	printf("老年\n");
  else
  printf("老寿星\n");
  return 0;
}

(5)if嵌套

下面是一些if嵌套的例子

#include <stdio.h>
int main()
{
   int num = 0;
   scanf("%d", &num);
   if (num > 0)
   {
   	if (num % 2 == 0)
   		printf("偶数\n");
   	else
   		printf("奇数\n");
   }
   else
   {
   	printf("不是正数\n");
   }

   return 0;
}
#include <stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age < 18)
		printf("少年\n");
	else
	{
		if (age <= 44)
		{
			printf("青年\n");
		}
	else
		{
			if (age < 59)
				printf("中老年\n");
			else
			{
				if (age < 89)
					printf("老年\n");
			else
					printf("老寿星\n");
			}
		}
	}
	return 0;
}

3、while循环

while(表达式)
 语句;//如果循环体想包含更多的语句,可以加上⼤括号

在这里插入图片描述
例:在屏幕上打印1~10的值

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

	return 0;
}

4、do while循环

do
 语句;
while(表达式);

在 do while 循环中先执⾏“语句”,执⾏完语句,在去执⾏“判断表达式”,判断表达式的结果是!=0,则继续循环,执⾏循环语句;判断表达式的结果==,则循环结束。
所以在 do while 语句中循环体是⾄少执⾏⼀次的,这是 do while 循环⽐较特殊的地⽅。
例:在屏幕上打印1~10的值

#Iinclude <stdio.h>
int main()
{
	int i = 1;
	do
	{
		printf("%d ", i);
		i++;
	} while (i<=10);

	return 0;

5、for循环

for(表达式1; 表达式2; 表达式3)
语句;//如果循环体想包含更多的语句,可以加上⼤括号

表达式1 ⽤于循环变量的初始化
表达式2 ⽤于循环结束条件的判断
表达式3 ⽤于循环变量的调整

例:在屏幕上打印1~10的值

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

6、go to语句

C语⾔提供了⼀种⾮常特别的语法,就是 goto 语句和跳转标号, goto 语句可以实现在同⼀个函数内跳转到设置好的标号处。

#include <stdio.h>
int main()
{
 printf("hehe\n");
 goto next:
 printf("haha\n");
 
next:
 printf("跳过了haha的打印\n"); 
 return 0;
}

在这里插入图片描述
goto 语句如果使⽤的不当,就会导致在函数内部随意乱跳转,打乱程序的执⾏流程,所以我们的建议是能不⽤尽量不去使⽤;
但是 goto 语句也不是⼀⽆是处,在多层循环的代码中,如果想快速跳出使⽤ goto 就⾮常的⽅便了。

for(...)
{
 for(...)
 {
 for(...)
 {
 if(disaster)
 goto error;
 }
 }

本来 for 循环想提前退出得使⽤ break ,⼀个 break 只能跳出⼀层 for 循环,如果3层循环嵌套就得使⽤3个 break 才能跳出循环,所以在这种情况下我们使⽤ goto 语句就会更加的快捷。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值