C语言分支循环语句

     C语言是一门结构化的语言,在C语言中,分支循环语句起到了巨大的作用,分支语句分为三种:1、switch语句;2、if语句;3、else-if语句循环语句又分为三种:1、while语句;2、do-while语句;3、for语句。以下介绍这几种常见分支循环语句的用法,

一、分支语句

     1.switch语句

           在面对多分支问题,并且各个情况能够用整形常量表达式表示的时候,可以使用switch语句,switch语句的流程图如下:

           

流程:进入switch语句后,根据switch()整形表达式来决定进入哪一个case,若没有找到匹配的case,那么会进入default,执行分别对应的语句,再通过break退出switch语句,如果没有break,那么会把后面所有case以及default中的语句执行,直到最后一行或者遇到break。可以这样理解:case决定入口,break决定出口。

:case和default没有严格的顺序,但一般default放在最后;

       字符也是整形表达式,其值是ASCII码值

应用实例:运用switch写一个简单的计算器

#define _CRT_SECURE_NO_WARNINGS 0
#include<stdio.h>
int main()
{
	float a = 0.0f, b = 0.0f;
	char  c;
	printf("请输入一组四则运算:\n");
	scanf("%f%c%f", &a, &c, &b);
	switch (c)
	{
	case '+':
		printf("%.2f", a + b);
		break;
	case'-':
		printf("%.2f", a - b);
		break;
	case'*':
		printf("%.2f", a * b);
		break;
	case'/':
		printf("%.2f", a / b);
		break;
	default:
		printf("输入错误!");
		break;
	}
	return 0;
}

     2.if语句

       在面对单分支语句的时候,可以使用if语句。if(表达式),表达式中的是判断条件,如果为真,进入语句一,如果为假,进入语句二,流程图如下:

注:if语句后面如果跟着单行语句,可以不加中括号,如果跟着多条语句,要加上大括号,不加大括号默认只有紧跟着if的语句包含在内

应用实例:运用if语句判断一个数是否是正数

#define _CRT_SECURE_NO_WARNINGS 0
#include<stdio.h>
int main()
{
	int a = 0;
	scanf("%d", &a);
	if (a > 0)
	{
		printf("%d是正数\n",a);
	}
	return 0;
}

         当面对双分支问题的时候,可以使用if和else,符合情况一的进入if,其余情况进入else,大括号的使用规则同上,流程图如下:

:else与上方离得最近的if匹配,而不是与对其的if匹配

应用实例:判断一个人是否是高度近视(以600度为标准)

#define _CRT_SECURE_NO_WARNINGS 0
#include<stdio.h>
int main()
{
	int degree = 0;
	printf("请输入你的度数:");
	scanf("%d", &degree);
	if (degree >= 600)
		printf("你是高度近视");
	else
		printf("你不高度近视");
	return 0;

}

      3.else-if语句

         当面对两个以及两个以上的多分支问题的时候,可以采用else if语句,else if语句其实是由if-else语句嵌套简化而来的,简化前如下面的代码:

#include<stdio.h>
int main()
{
  if(...)
  {
     ...
   }
  else
  {
       if(...)
       {
          ...
       }
  }
  return 0;
}

简化后的代码如下:

#incldue<stdio.h>
int main()
{
  if(...)
  { 
     ...
  }
  else if(...)
  {
     ...
  }
  return 0;
}

流程图如下:

应用实例:运用if-else语句判断一个数是正数、负数还是0

#define _CRT_SECURE_NO_WARNINGS 0
#include<stdio.h>
int main()
{
	int a = 0;
	scanf("%d", &a);
	if (a > 0)
		printf("%d是正数\n", a);
	else if (a < 0)
		printf("%d是负数\n", a);
	else
		printf("%d为0\n", a);
	return 0;
}

 二.循环语句

      1.while语句

       while语句可以实现循环,其流程是先根据while(表达式1)中的表达式1进行判断,如果为真,那么进入while语句,如果为假,那么结束循环,由此也可以知道,在有限循环的前提下,表达式1的执行次数要比while语句的执行次数多一次

        流程图如下:

应用实例:利用while循环语句打印1~10中的奇数

#define _CRT_SECURE_NO_WARNINGS 0
#include<stdio.h>
int main()
{
	int i = 1;
	printf("1~10内的奇数有:\n");
	while (i <= 10)
	{
		if (1 == i % 2)
			printf("%d ", i);
		i++;
	}
	return 0;
}

   2.do-while语句

  do-while语句和while语句不同,是先执行do-while中的语句,再进行判定,如果为真,那么进入下一次循环,如果为假,那么结束循环,do-while中的语句执行次数和判断表达式的执行次数相同,流程图如下:

应用实例:运用do-while打印1~10

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

:在while();后面的;绝对不能忘掉

3.for语句

    for语句是对while语句简化而来的,其格式为for(初始化语句;循环条件;调整语句),先对循环条件进行判定,如果为真,进入for语句,如果为假,退出循环

:初始化语句和调整语句可以省略,但循环条件一定不能省

       当省略初始化语句或调整语句的时候,“;”不能省略,依然保留

       当有多个初始化语句、循环条件或调整语句的时候,用“,”分隔开

应用实例:运用for语句打印100~200之间的素数

#define _CRT_SECURE_NO_WARNINGS 0
#include<stdio.h>
#include<math.h>
int main()
{
	int i = 100, j = 2, k = 0;
	for (i == 100; i < 200; i++)
	{
		k = sqrt(i);
		for (j = 2; j <= k; j++)
		{
			if (0 == i % j)
			{
				break;
			}
		}
		if (j > k)
		{
			printf("%d  ", i);
		}
	}
	return 0;
}

以上就是对C语言分支循环语句的介绍,所有的分支循环语句,只要能够满足实际要求,都可以嵌套搭配使用,哪种语句好用需要根据实际需求判断,没有绝对性。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值