C语言的分支结构

本文介绍了C语言中的分支结构,包括if和else语句以及switch语句的用法,展示了如何进行条件判断和嵌套条件处理,以及switch语句的特性和使用示例。后续将探讨循环结构,如while,for,do-while等。
摘要由CSDN通过智能技术生成

C语言是一种结构化的程序设计语言,其中包括顺序结构,循环结构,选择结构。今天我们就来学习一下C语言的分支与循环结构。

首先是我们的分支结构。在这里主要学习两种:if语句、switch语句。

1、if语句

if语句的表达试写法如下:

if(表达式)
 语句

当我们的表达式成立的时候(为真),语句执行,表达式不成立(为假),语句不执行。

(在C语言中,0表示假,非0表示真)

由此可知,当我们的表达式结果为0时,语句无法执行。当我们的表达式结果不为0时,语句可以执行。

举个例子:判断一个数是否为正数

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

此时我们的运行程序,当我们输入一个大于0的数,运行结果为输出x是正数,如:

由此产生了另一个问题,如果输入的数不是大于0的数,那这个数就为负数。如果要判断一个数为正数还是负数,就需要使用if....else语句了:

if(表达式)
    语句1
else
    语句2

该表达式的意思为如果表达式成立,执行语句1,否则执行语句2

例如:判断一个数为正数还是负数

int main()
{
	int x = 0;
	scanf("%d", &x);
	if (x > 0)
		printf("%d是正数\n", x);
	else
		printf("%d是负数\n", x);
	return 0;
}

 此时我们输入一个小于0的数,就会输出如下:

需要注意的是 if和else语句默认只能控制一条语句。如果要if语句控制两条及以上的语句时,就需要使用{}将代码括起来。else也是同理。

如果我们要对一个问题进行多重判断,在if....else语句中,我们可以将else与另一个if语句连用,形成多重判断。也就是我们的嵌套if语句。

例如:输入一个整数,判断输入的数为0,还是正数或者负数:

int main()
{
	int x = 0;
	scanf("%d", &x);
	if (x > 0)
		printf("%d是正数\n", x);
	else if (x < 0)
		printf("%d是负数\n", x);
	else
		printf("%d是0\n", x);
	return 0;
}

我们第一个if...else语句中的else与第二个语句中的if进行了嵌套,构成了我们的嵌套语句。

悬空else问题:

当我们的的代码中有多个if   else循环时,else总是跟最接近的if进行匹配。

2、switch语句

switch语句是另一种实现分支结构的语句,它是if   else语句的一种特殊形式。

switch (expression)
{
    case value1:statement
	case value2:statement
	default: statement
}

根据expression不同的值,来执行相应的case语句,如果找不到对应的值,则执行default语句。

switch语句后面的expression必须是整型表达式

case后的值,必须是整形常量表达式

每一个case语句后面都要加上break来跳出这个switch语句循环。

例如:输入任意一个整数值,计算除3之后的余数

int main()
{
	int x = 0;
	scanf("%d", &x);
	switch (x % 3)
	{
	case 0:
		printf("整除\n");
		break;
	case 1:
		printf("余数为1\n");
		break;
	case 2:
		printf("余数为2\n");
		break;
	}
	return 0;
}

本节课的分支语句我们就学到这里了,下一节课我们来继续学习循环结构的内容(while循环、for循环、do-while循环)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值