C语言判断和循环介绍

本文详细介绍了C语言中常用的判断语句,包括if、if...else、if...elseif...else和switch,并通过实例演示了它们的用法。同时,也讲解了循环语句for、while和do...while,阐述了它们在处理大量数据和遍历场景中的应用。文章强调了在switch语句中使用break关键字的重要性,以及如何根据需求选择合适的循环结构。
摘要由CSDN通过智能技术生成

一.判断介绍

判断是C语言最常用的语法之一,判断是满足某种条件时,执行对应语句的一种语法结构。

下面介绍工作中最常用的几种类型的判断语句

语句介绍使用场景
if由一个布尔表达式后跟一个或多个语句组成。需要满足某种单个条件时,执行的语句。
if…else一个 if 语句加上可选的 else 语句。满足if条件时执行一种语句,不满足if条件时执行的另一种语句。
if…else if…else一个 if 语句加上可选的 else if 语句,再加上else 语句。存在三种及三种以上条件时需要执行对应的语句,最后的else是所有条件都不满足时,需要执行的语句。
switch语句一个 switch 语句由一个switch表达式满足表达式case执行的语句和一个default执行语句组成。存在三种以上不同的变量条件时,执行符合表达式case的后面的语句当表达式的值与所有case后面的常量表达式的值都不相等时,执行default后面的语句

二.实例演示

if…else
判断一个数是否是正数

#include <stdio.h>
bool IfPositiveNumber(int x);
bool IfPositiveNumber(int x)
{
	if (x > 0) {
		printf("这个数为正数! \n");
		return true;
	}
	printf("这个数不是正数! \n");
	return false;
}

int main()
{
	if (IfPositiveNumber(-1))
		printf("条件为真! \n");
	else
		printf("条件为假! \n");
	return 0;
}

在这里插入图片描述

if…else if…else

int main()
{
	int a = 0;
	if(a>0)
		printf("这个数是正数! \n");
	else if(a<0)
		printf("这个数是负数! \n");
	else
		printf("这个数是0! \n");
	return 0;
}

在这里插入图片描述

三.switch语句介绍

为什么要使用switch语句?

语句结构可读角度:
1、switch语句是多分支选择语句.用来实现多分支选择结构.if语句只有两个分支可供选择,而实际问题中常常要用到多分支的选择。
2、这些都可以用嵌套的if语句来外理(if else if else),但如果分支较多,则嵌套的if语句层数多,程序沉余长而且可读性降低.C语言提供switch语句直接外理多分支选择。

如何使用switch语句?
switch语句格式:

switch (表达式)
{
	case '常量表达式 1':	
		语句 1
	case '常量表达式 2':	
		语句2
	...
	case '常量表达式 n':	
		语句n
	default:
		语句 n+1
}

switch使用注意点
先看一个例子
举例:

int main()
{
	char grade = 'B';
	switch (grade)
	{
		case 'A':
			printf("85-100\n");
		case 'B':
			printf("70-84\n");
		case 'C':
			printf("60-69\n");
		case 'D':
			printf("<60\n");
		default:
			printf("error\n");
	}
}

这是一个根据等级来输出分数区间的例子。

注意点:
(1) switch括号内的"表达式",允许它为任何类型
(2) 当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,若所有的case中的常量表达式的值都没有与表达式的匹配的,就执行default后面的语句。
(3) 每一个case的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象。
(4) 各个case和default的出现次序不影响执行结果。例如,可以先出现"default: …",再出现"case ‘C’: …",然后是"case ‘A’: …"
(5) 重要:执行完一个case后面的语句后,流程控制转移到下一个case继续执行."case常量表达式"只是起语句标号作用,并不是在该处进行条件判断.在执行swith语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。

所以,以上的结果是
在这里插入图片描述
若想执行符合的语句后就停止执行,需要加上break。

char grade = 'B';
	switch (grade)
	{
		case 'A':
			printf("85-100\n");
			break;
		case 'B':
			printf("70-84\n");
			break;
		case 'C':
			printf("60-69\n");
			break;
		case 'D':
			printf("<60\n");
			break;
		default:
			printf("error\n");
	}

在这里插入图片描述

四.循环介绍

循环在各种语言中的使用也是非常多,主要的用途在于处理大量数据、遍历、长稳运行(重复运行)等等。
在C语言中,可以使用三种循环方式

语句说明
for多次执行一个语句,简化写代码的次数。
while当while中的条件为真时,反复执行while中的语句,直到条件语句不再符合。
do…while在循环主体的结尾进行条件判断,其余和while类似。

for循环

int main()
{
	for (int i = 0; i < 100; i++)
	{
		if (i % 2 == 0)
			printf("i=%d\n",i);
	}
	return 0;
}

注意:for 循环头部中的三个表达式可以省略一个或多个。这意味着 for 循环头部最短的形式是:for ( ; ; )

while

int main()
{
	int i = 0;
	while (i < 100)
	{
		if (i % 2 == 0)
			printf("i=%d\n", i);
		i++;
	}
	return 0;
}

注意:
一般来说,当循环内有计数器或索引变量需要被初始化,并且在每次循环时需要调整它们的值时,最好使用 for 循环,而不是 while 循环。

do…while

int main()
{
	do
	{
		if (i % 2 == 0)
			printf("i=%d\n", i);
		i++;
	} while (i < 100);
	return 0;
}

注意:
1.do…while格式中,在最后的while()后要加上;
2.在控制表达式被第一次计算之前,循环体语句会首先被执行一次与 while 和 for 循环不同,do…while 循环会确保循环体语句至少执行一次。如果控制表达式的值为 true,那么另一次循环就会继续;如果是 false,则循环结束。

以上三个例子都是输出100以内的偶数。
s
在这里插入图片描述

感谢阅读!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值