分支与循环(一)

本文介绍了C语言中的分支结构,包括if和switch语句的应用,通过实例演示如何使用if判断整数能否被3整除以及如何用switch判断游戏开始和输入错误。同时,讨论了如何处理多条件分支和提高代码可读性。
摘要由CSDN通过智能技术生成

分支与循环

C语言作为一门结构化的语言,主要有顺序结构、选择结构、循环结构。我们可以使用if、switch语句来实现分支结构,用while、for、do-while循环语句来实现循环结构。

在这里插入图片描述

分支与循环(一)——分支结构

1.if语句

if语句的结构很简单,它的语法形式如下:

if(表达式)
    语句

如果表达式为真,那么就执行语句;如果表达式为假,那么语句不执行。

例如:输入一个整数,判断是否能被3整除

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

if…else都只能控制一条语句,如果想要控制多条语句该怎么办呢?那就需要用{}将代码括起来。建议大家写代码的时候使用括号,让代码的可读性更高。

if…else语句其实就是一个简单的逻辑判断,使用起来并不难。如果我们需要构建一个多重判断,只需要将if语句进行嵌套。如果有多个if和else,else总是和最近的if匹配。

比如:输入一个整数,判断它是正数、负数还是0

#include <stdio.h>
int main()
{
	int i = 0;
	scanf("%d",&i);
	if (i == 0)
	{
		printf("输入的数字是%d\n", i);
		printf("这个整数为0\n");
	}
	else if (i >= 0)
	{
		printf("输入的数字是%d\n", i);
		printf("这个整数为正数\n");
	}
	else  //else后不加条件表达式
	{
		printf("输入的数字是%d\n", i);
		printf("这个整数为负数\n");
	}
	return 0;
}

接下来我们用一道编程题来帮助大家更深入地理解if分支语句。

例:编写一个程序,输入三角形的三条边,求其周长。注意:三条边的长度是否合理。

题解:

1.题目要求输入三条边的长度,在这里我们需要考虑两个问题:需要创建几个变量?变量的类型是什么?因为有三条边,所以需要创建三个变量,边长并不一定是整数,所欲i将变量类型定义为double。

2.要求三条边要构成一个三角形,根据三角形定义可知,两边之和必须大于第三边。这就是我们的判断条件,这就可以使用刚学过的if…else语句。

3.求周长,将三条边加起来。

代码实现如下:

int main()
{
	double a = 1.0;
	double b = 1.0;
	double c = 1.0;
	double zc = 1.0;
	printf("请输入三角形三条边的长度:\n");
	scanf("%lf %lf %lf", &a, &b, &c);
	if (a + b > c && a + c > b && b + c > a)
	{
		zc = a + b + c;
		printf("三角形的周长为%.2lf\n", zc);
	}
	else 
	{
		printf("长度输入不合理,三条边无法构成三角形\n");
	}
	return 0;

}

2.switch语句

C语言中也使用switch语句来实现分支结构。switch语句是一种特殊的if…else语句,它可以判断条件有多个结果的情况,比多重if语句可读性更好。

例如:输入数字判断游戏是否开始

switch (1) 
	{
	case 1:
			
		printf("游戏开始\n");
		break;
	case 0:
		printf("游戏结束\n");
		break;
	default:
		printf("输入错误,请重新选择\n");
		break;
		}

上面代码中,根据输入不同的值,执行相应的case分支,如果找不到对应的case分支,就执行default分支。switch后面的值必须是整型表达式,case后的值,必须是整型常量表达式。

例如:将上面if语句实现的”输入一个整数,判断是否能被3整除“改写为switch语句。

int main()
{
	int i = 0;
	scanf("%d", &i);
	switch (i % 3)
	{
	case 0:
		printf("%d能被3整除\n", i);
		break;
	default:
		printf("%d不能被3整除\n", i);
		break;
	}
	return 0;
}

注意:每一个case语句的代码执行完之后,必须在后面加上break才能跳出switch语句。

在switch分支中,case语句和default语句的顺序是没有要求的,不过一般情况下把default语句放在最后。

关于分支语句if和switch的介绍就到这里啦,下期见!

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值