分支和循环语句(3)

这篇具有很好参考价值的文章主要介绍了分支和循环语句(3)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

3.4.6 猜数字游戏
  1. 打印菜单
void menu()
{
	printf("***************************\n");
	printf("***** 1.play   0.exit *****\n");
	printf("***************************\n");
}

  1. 选择玩游戏或退出游戏
int main()
{
	//打印菜单
	//1. 玩游戏
	//0. 退出游戏
	int input = 0;

	do
	{
		menu();

		printf("请选择:>");
		scanf("%d", &input);//1 0

		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误\n");
			break;
		}
	} while (input);

	return 0;
}

  1. 猜数字游戏主体
//void srand (unsigned int seed);
void game()
{
	//RAND_MAX;
	
	//1. 生成随机数
	int ret = rand()%100+1;//可以生成随机数,随机数的范围是:0~32767
	//1~100
	//printf("%d\n", ret);

	//2. 猜数字
	int guess = 0;
	
	while (1)
	{
		printf("请猜数字:>");
		scanf("%d", &guess);

		if (guess > ret)
		{
			printf("猜大了\n");
		}
		else if (guess < ret)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");
			break;
		}
	}
}

int main()
{
	//time函数可以返回一个时间戳
	srand((unsigned int)time(NULL));//要给srand传递一个变化的值,计算机上的时间是时刻发生变化的
	
	return 0;
}

完整代码:

#include <stdio.h>
#include <stdlib.h>//rand和srand需要一个stdlib.h的头文件
#include <time.h>

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

//void srand (unsigned int seed);
void game()
{
	//RAND_MAX;
	
	//1. 生成随机数
	int ret = rand()%100+1;//可以生成随机数,随机数的范围是:0~32767
	//1~100
	//printf("%d\n", ret);

	//2. 猜数字
	int guess = 0;
	
	while (1)
	{
		printf("请猜数字:>");
		scanf("%d", &guess);

		if (guess > ret)
		{
			printf("猜大了\n");
		}
		else if (guess < ret)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");
			break;
		}
	}
}

int main()
{
	//打印菜单
	//1. 玩游戏
	//0. 退出游戏
	int input = 0;
	//time函数可以返回一个时间戳
	srand((unsigned int)time(NULL));//要给srand传递一个变化的值,计算机上的时间是时刻发生变化的

	do
	{
		menu();

		printf("请选择:>");
		scanf("%d", &input);//1 0

		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误\n");
			break;
		}
	} while (input);

	return 0;
}

4. goto语句

C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。

#include <stdio.h>

int main()
{
again:
	printf("hehe\n");
	printf("hehe\n");
	printf("hehe\n");
	printf("hehe\n");
	
	goto again;//可以向前跳,也可以向后跳

//end:

	return 0;
}

注:

#include <stdio.h>

void test()
{
flag:
	printf("test\n");
}

int main()
{
	printf("hehe\n");
	
	goto flag;//goto 语句只能一个函数内部跳转,不能跨函数跳转的

	return 0;
}

从理论上, goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。

//关机程序 
//1. 程序运行起来后,1分钟内电脑关机
//2. 如果输入:我是猪,就取消关机
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int main()
{
	char input[20] = { 0 };
	//程序倒计时关机
	system("shutdown -s -t 60");

again:
	printf("请注意,你的电脑在1分钟内关机,如果输入:我是猪,就取消关机\n");
	scanf("%s", input);//输入
	
	if (0 == strcmp(input, "我是猪"))
	{
		system("shutdown -a");
	}
	else
	{
		goto again;
	}

	return 0;
}

//不用goto语句

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
	char input[20] = { 0 };
	//程序倒计时关机
	system("shutdown -s -t 60");
	while (1)
	{
		printf("请注意,你的电脑在1分钟内关机,如果输入:我是猪,就取消关机\n");
		scanf("%s", input);//输入

		if (0 == strcmp(input, "我是猪"))
		{
			system("shutdown -a");
			break;
		}
	}

	return 0;
}

附:关于shutdown命令的扩展


但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。例如:一次跳出两层或多层循环。多层循环这种情况使用break是达不到目的的,它只能从最内层循环退出到上一层的循环。
分支和循环语句(3),C语言,c语言,c++,单片机文章来源地址https://www.toymoban.com/news/detail-563899.html

到了这里,关于分支和循环语句(3)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 『C语言入门』分支和循环语句

    在编程中,我们需要让程序 根据不同情况作出选择,并重复执行某些任务 。C语言的分支和循环结构为实现这些目标提供了强大的工具。本文将探索C语言中的分支(如 if 和 switch )以及循环(如 while 、 for 和 do...while )结构,帮助你理解如何更有效地控制程序的流程和逻辑。

    2024年02月11日
    浏览(57)
  • 初阶C语言-分支和循环语句(下)

    “花会沿途盛开,以后的路也是。” 今天我们一起来继续学完分支语句和循环语句。 3.4.1 do语句的用法 在前面,我们学过了用 while循环 和 for循环 在屏幕上打印1~10的数字,那么在 do...while()循环 中,如何实现这步操作呢? 接下来,让我们用一张图了解一下 do...while()循环 的

    2024年02月15日
    浏览(58)
  • C语言_分支和循环语句(2)

    C语言:结构化的程序设计语言 顺序结构、选择结构、循环结构 导引 过于分散 使用for循环打印1~10 循环体默认只能控制一条语句 想控制多条语句的话,要加大括号 示例 建议: 1.不可在 for 循环体内修改循环变量,防止 for 循环失去控制。 2.建议 for 语句的循环控制变量的取值

    2024年02月10日
    浏览(43)
  • 【C语言】深入了解分支和循环语句

    💓 博客主页:江池俊的博客 ⏩ 收录专栏:C语言初阶之路 🎉如果觉得博主的文章还不错的话,请点赞👍收藏🌟 三连支持一下博主💞 💫“每一天都是一个全新的机会,用积极的心态去迎接挑战吧!” 前言  一、什么是语句? 二、分支语句(选择结构) 2.1.if语句 2.1.1 悬

    2024年02月17日
    浏览(52)
  • C语言学习笔记---C语言分支与循环语句

    前言: 什么是语句? C语言可分为以下五类: 表达式语句 函数调用语句 控制语句 复合语句 空语句 语句 :C语言中,由分号隔开的句子就是一条语句 如: C语言中用 非零 表示 真 ,用 零 表示 假 ,即: 逻辑真,逻辑假 三大语法结构 :顺序结构、分支(选择)结构、循环结构

    2024年02月16日
    浏览(51)
  • C51单片机-2只LED灯循环闪烁

    keil uVision4界面: ISIS仿真界面:

    2024年02月08日
    浏览(44)
  • 单片机原理及应用 实验三 指示灯循环控制

    单片机原理及应用(C51语言版) 实验三 指示灯循环控制 实验功能如下: 实现8个LED灯依次点亮的功能:P0.0→P0.1→P0.2→P0.3→ ┅ →P0.7→P0.6→P0.5→ ┅ →P0.0的顺序,无限循环,间隔约50ms。 环境配置: Proteus 7;Keil 步骤: 1.根据实验要求绘制电路图。   绘制时(1)选择并摆放

    2023年04月23日
    浏览(97)
  • 【C语言+代码风格】认识分支与循环语句及代码风格

    🚩 纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:C语言 ⚡注:此篇文章的 代码风格部分 将根据 《高质量 C++/C 编程指南》 —— 林锐 进行说明。 该部分将用紫色表示 此篇文章将详细说明 分支与循环语句 以及它们的 代码风格 c语言是 结构化 的程序设计

    2024年02月05日
    浏览(115)
  • C语言初学者:原来分支和循环语句可以这样简单!

    目录 1.分支语句 1.if 语句 2.else语句 3.嵌套if  4.悬空else的问题 5.Switch语句 2.循环语句  1.while循环 2.for循环 3do-while循环 3.break和continue语句 1.break语句 2.continue语句 4.goto语句  5.小结 6.为你们点赞呢~ 7.完结散花                            不是每个人都能做自己想做的事,成

    2024年04月12日
    浏览(46)
  • 【初始C语言】分支语句和循环语句和转向语句的用法,文章末尾还有精品小礼物噢。

     夜里醒来,听雨滴 打在窗台雨搭上,更细密的一阵雨 落在窗外小树林里 雨落在更远的地方,落在另一场雨中 绵密的一片雨声 从芭蕉的昏暗 词林升起。一场夜雨紧邻古代 在巴山秋池,无需梦 无需修剪火焰,听雨 是一个人靠近古人的地方 而今晚是另一个夜晚 时间稀落,听

    2024年02月05日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包