选择结构、分支结构

在C语言中有3种结构,分别为顺序结构、选择结构、循环结构,本文着重探讨后两者的基本类型和用法。

一、选择结构

1.if语句

包括简单if语句和if_else语句

1.1 简单if语句

1.1.1 简单if语句的语法形式

if(表达式)
  语句;

1.1.2 简单if语句的功能

if后面的表达式为真(非0),执行if下面的语句;否则跳过。

e.g. 判断奇数:

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

如果输入的是偶数,利用上面的代码则无法判断,此时就要用到if_else语句。

1.2 if_else语句

1.2.1 if_else语句的语法形式

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

1.2.2 if_else语句的功能

if后面的表达式为真(非0),执行if下面的语句;否则执行else下面的语句。

e.g. 判断奇数偶数

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

注:1.当if下面的语句有多条时,用{}括起来,否则只会判断第1条语句

2.else可以与if连用,构成多重判断。

e.g. 判断两个整数的大小

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d%d", &a, &b);
	if (a < b)
	{
		printf("%d<%d", a, b);
	}
	else if (a > b)
	{
		printf("%d>%d", a, b);
	}
	else
	{
		printf("%d=%d", a, b);
	}
	return 0;
}

3.else总是与最近的if相匹配。

2.switch语句

2.1 switch语句的语法形式

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

2.2 switch语句的功能

是一种特殊的if_else结构,用于判断条件有多个结果的情况。

e.g. 输入一个整数,计算除以3的余数

(1)if语句

#include<stdio.h>
int main()
{
	int num = 0;
	scanf("%d", &num);
	if (num % 3 == 0)
	{
		printf("余数是0\n");
	}
	else if (num % 3 == 1)
	{
		printf("余数是1\n");
	}
	else
	{
		printf("余数是2\n");
	}
	return 0;
}

(2)switch语句

#include<stdio.h>
int main() 
{
	int num = 0;
	scanf("%d", &num);
	switch (num % 3)
	{
	case 0:
		printf("余数是0\n");
		break;
	case 1:
		printf("余数是1\n");
		break;
	case 2:
		printf("余数是2\n");
		break;
	}
	return 0;
}

注:在switch语句中,使用break才能跳出switch语句。

二、循环结构

1.while循环

1.1 while循环的语法形式

while(表达式)
  语句;

与if语句不同的是,while语句可以实现循环效果。

1.2 while循环的功能

首先判断while后面的表达式,如果表达式的值为0,循环结束;如果不为0,执行循环语句,语句执行完后再继续判断,是否执行下一次循环。

e.g. 输出1~10的值

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

2.for循环

2.1 for循环的语法形式

for(表达式1;表达式2;表达式3)

表达式1:初始化

表达式2:判断

表达式3:调整

2.2 for循环的功能

首先执行表达式1,接下来执行表达式2,表达式2的结果如果为0,则循环结束;如果不为0,则执行循环语句,循环语句执行完后,执行表达式3,调整循环变量,再回到表达式2,判断循环是否继续。

e.g. 输出1~10的值

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

3.do-while循环

3.1 do-while循环的语法形式

do
  语句;
while(表达式);

3.2 do-while循环的功能

先执行语句,再去判断表达式,如果表达式的结果为真,则继续执行循环语句,否则循环结束。所以do-while语句的循环体至少执行一次。

e.g. 输出1~10的值

#include<stdio.h>
int main()
{
	int i = 1;
	do
	{
		printf("%d ", i);
		i += 1;
	} while (i <= 10);
	return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值