C语言的分支与循环

本文详细介绍了C语言中的if、while、dowhile、switch和for等基本循环及分支语句,通过实例演示了如何使用它们进行条件判断和控制程序流程,包括年龄判断、打印数字序列、猜数字游戏以及九九乘法表的实现。
摘要由CSDN通过智能技术生成

C语言的分支与循环

c语言中常用的循环语句有:if语句、while语句、do while语句、switch语句、for语句。简单介绍一下这几种语句。

if语句

语法定义形式

if(条件表达式)
{ }
else
{ }
条件表达式中,真用非0表示,假用0表示。
运行流程图:
在这里插入图片描述
用if语句判断一个人时儿童、青年、壮年还是老年。年龄12岁以下为儿童,12-25为青年,25-55为壮年,55岁以上为老年。

#include <stdio.h>
int main()
{
	int age=0;
	printf("请输入年龄:\n");
	scanf("%d",&age);
	if(age<=12)
	{
		printf("儿童\n");
	}
	else if(12<age<=25)
	{
		printf("青年\n");
	}
	else if(25<age<=55)
	{
		printf("壮年\n");
	}
	else
	{
		printf("老年\n");
	}
	return 0;
}

运行结果:
运行结果
注意:程序中有多个if或else时,else自动与最近的一个if组成一对。

while语句

语法定义形式

while(条件表达式)
{ }
运行流程图:
在循环语句中,遇到break直接结束所有循环,遇到continue跳过本次循环,进行下一次循环。
在这里插入图片描述
用while语句打印出1-20。

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

运行截图
在这里插入图片描述

do while语句

语法定义形式:

do
{ }
while(条件表达式)
运行流程图:
在这里插入图片描述

switch语句

语法定义形式

switch( )
{
case 0:
break;
case 1:
break;

default:
break;
}
注意:case后面只能跟整形常量,switch后面的条件表达式只能是常量
执行流程图:
在这里插入图片描述

用do while语句、switch语句实现一个猜数字游戏

#include <stdio.h>
void menu()
{
	printf("********************\n");
	printf("*******1.paly*******\n");
	printf("*******0.exit*******\n");
	printf("********************\n");
}
void game()
{
	int num = 0;
	num = srand((unsigned int)time(NULL)) % 100 + 1;//生成一个1到100之间的随机数
	int guess = 0;
	while(1)
	{
		printf("请输入:");
		scanf("%d", &guess);
		if (guess > num)
			printf("猜大了!\n");
		else if (guess < num)
			printf("猜小了!\n");
		else
		{
			printf("恭喜你,猜对了!\n");
			break;
		}
	}
}

int main()
{
	int input = 0;
	do
	{
		menu();
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("游戏结束,下次再见\n");
			break;
		default:
			printf("输入错误,请重新输入:\n");
			break;
		}
	} while (input);
	
	
	return 0;
}

运行结果:
在这里插入图片描述

for语句

语法定义形式

for( 表达式1 ;表达式2 ;表达式3 )
{ }
运行流程图:
在这里插入图片描述
用for语句打印一个九九乘法表

#include <stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	for (i = 1; i <= 9; i++)
	{
		//j = 1;
		for (j = 1; j<=i;j++)
		{
			printf("%d*%d=%2d\t", j, i, j * i);
		}
		printf("\n");
	}
	return 0;
}

执行结果图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值