栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言学习笔记:do..while循环、

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言学习笔记:do..while循环、

do…while()循环,do语句的语法:

do

   循环语句;

while(表达式);

例:

int main()

{

    int i = 1;

    do

    {

         printf("%d ", i);

         i++;

    } while (i <= 10);    //最后的分号;不可缺少

    return 0;

}

do…while中的break和continue:

int main()

{

    int i = 1;

    do

    {

         if (i == 5)

             break;         //break是跳出循环

         printf("%d ", i);

         i++;

    } while (i <= 10);

    return 0;

}

程序结果是:1234之后死循环(continue同样)


关于do..while循环的一个游戏制作:

写一个猜数字游戏,(1)自动产生一个1-100的随机数 (2)猜数字,猜对了“恭喜你,游戏结束”;猜错了会告诉猜大了猜小了(3)游戏可以一直玩,除非退出游戏。

#include
#include
#include

void menu()
{
	printf("      1.play     n");
	printf("      0.exit     n");
}


void game()
{
//猜数字游戏的实现:先生成随机数-->猜数字。rand函数返回了一个0-32767之间的数字,但是不够随机。
//所以添加srand(具体查看MSDN里的概念)

	int ret = rand() %100+1;   //%100的余数是0-99,然后+1.范围就是1-100
	int guess = 0;             //猜数字
	while (1)
	{
		printf("猜数字");
		scanf_s("%d", &guess);
		if (guess < ret)
		{
			printf("猜小了n");
		}
		else if (guess > ret)
		{
			printf("猜大了n");
		}
		else
		{
			printf("猜对了n");
			break;
		}
	}
}

int main()
{
	int input =0;                          //时间--time时间戳:相较于计算机的起始时间之间的差值换算成以秒为单位的一个数字
	srand((unsigned int)time(NULL));      //不需要使用time函数里的参数,所以参数填null
	do
	{
		menu();                           //打印菜单
		printf("请选择");
		scanf_s("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏n");
			break;
		default:
			printf("选择错误,重新选择n");
			break;
		}
	} while (input);
		return 0;
}


//假定rand取得是1,3,5,7,9的随机值,那srand可以把初始值改成3开始,就会变成3,7,9......
//srand只是输出了固定的随机数开始地址

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1004672.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号