对分支语句和循环语句的学习(Last one)

目录

1.对goto语句的一个应用

  ~关机小游戏

2.大总结!利用分支循环游戏进行数字游戏

【1】关机小游戏

#include
#include
#include

int main(){
	char input[20] = {0};
	system("shutdown -s -t 60");
	
again:
	printf("我不做作业啦!DIO! 如果你说可以,就不给你关机了\n");
	scanf("%s",input);
	if(strcmp(input,"可以")==0)
	{
		system("shutdown -a");
	}
	else{
		goto again;
	}
	return 0;
}

我们对这个函数进行具体的分析    

1.我们直接从语句内看,因为我们要比较的是字符组,所以我们需要用到 strcmp要注意再上面用上他的头文件) ,使用他我们就可以在让我们输入的字和我们想要的字进行比较,做出我们想要的效果

2.  sysem("shutdown ")  :

shutdown命令
shutdown -a 取消关机
shutdown -s 关机
shutdown -r 重启
shutdown -s -t 设置关机时间
shutdown -r -t 设置重启时间
shutdown -h 休眠

3.  goto : 这个goto语句其实就是一个循环,让我们的回到again:,并继续向下执行。

但 其实这个goto是完全可以被while语句给取代的,所以很多时候我们并不用while语句

【2】猜数字游戏!

#include
#include
void menu()
{
	printf("1.开始游戏\n");
	printf("2.退出游戏\n");
}
void game()
{
	int guess = 0;
	int r = rand()%100+1;
	
	while(1)
	{
		printf("猜出你的数字:");
		scanf("%d",&guess);
		if(guess < r)
		{
			printf("猜小了\n");
			}
			else if(guess > r){
			printf("猜大了\n");
		}else{
			printf("对了哦\n");
			break;
		}
	}
}
int main()
{
	int input = 0;
	do
	{
		menu();
		printf("请选择:");
		scanf("%d",&input);
		switch(input)
		{
			case 1:
				game();
				break;
				case 2:
					printf("go out\n");
					break;
					default:
						while(1)
						printf("选择错误");
		 } 
	}while (input);
	return 0 ;
	
}

同样的,我们也对这个游戏进行一个分析

1. menu() :

这就是打印一个菜单,但是我们用void函数,把他放在外面写,等我我们需要的时候就把放进去

2.game  ()   :

同样,我们用void函数把他放在外面

1. 我们先定义出我们要猜的数字 guess,然后设置出电脑随机生成的数

   这个数我们在这里设置的为 时间戳(rand())因为我们要猜1~100 的数字,所以我们取他除以100后的余数(0~99) 加1

2. 接下来用 if语句 进行我们的对数字的判断,两数对比,来说明猜大 猜小 和 猜对(当我们猜对之后我们就用break来停止我们的语句)

3.但是我们的游戏不能只是进行一次,所以我们用到一个 while(1),也就是死循环函数,让我们在输错之后能够继续回去,直到我们输对了,遇到break跳出这个循环

3.对菜单的内容进行使用 :

    我们不单只是打出菜单,我们需要使用他,所以我们最后是用了一个 do...while语句,先强制的把我们的菜单打印一遍,让我们进行选择,当我们选择1时,开始游戏,选择2就会出现 go out然后结束这个 do 继续回到 我们这个程序开始循环,让我们继续输入选择下去(当然当我们不玩了直接右上角走人就好,就是走个样子),如果不输入 1 2 就会选择错误,进入死循环(这个是我自己设置的,大家需要的时候可以自己修改修改)

以上就是全部内容,至此 分支和循环语句我们已经全部学习完了,下次我们就会进入函数的学习

你可能感兴趣的:(c语言,c#,c语言)