IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 初始C语言(分支和循环语句)-下 (猜数字游戏实现) -> 正文阅读

[C++知识库]初始C语言(分支和循环语句)-下 (猜数字游戏实现)

分支语句?if switch;?循环语句?while;?for? ;do while?;goto语句

?1.for循环

当我们知道while循环后,但是为什么要知道一个for循环呢,首先让我们来看看for循环的语法:

for(表达式1;表达式2;表达式3

? ? ? ? 循环语句;

* 表达式1为初始化部分,用于初始化循环变量的。

* 表达式2为条件判断部分,用于判断循环时候终止。

*? 表达式3为调整部分,用于循环条件的调整。

来个练习题感受一下:“使用for循环 在屏幕上打印1-10的数字”

#include <stdio.h>

int main()
{
 int i = 0;
 //for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/) 需要注意逻辑顺序别弄乱啦,铁铁们!
 for(i=1; i<=10; i++)
 {
 printf("%d ", i);
 }
 return 0;
}

那现在咱们对比一下for循环和while循环,感受一下

int i = 0; //实现相同的功能,使用while

i=1;//初始化部分

while(i<=10)//判断部分

{

? ? ? ?printf("hehe\n");

? ? ? ?i = i+1;//调整部分

}

//实现相同的功能,使用while

for(i=1; i<=10; i++)

{

? ? ?printf("hehe\n");

}

就是怎么说呢,用while循环时等后期查找修改就不够集中和方便了,总体来说,for循环的风格和使用频率都是最好的。

1.2?for循环中 break continue

//代码1
#include <stdio.h>
int main()
{
    int i = 0;
    for (i = 1; i <= 10; i++)
    {
        if (i == 5)
            break;
        printf("%d ", i);
    }
    return 0;
}
//代码2
#include <stdio.h>
int main()
{
    int i = 0;
    for (i = 1; i <= 10; i++)
    {
        if (i == 5)
            continue;
        printf("%d ", i);
    }
    return 0;
}

我们发现在for循环中也可以出现break和continue,他们的意义和在while循环中是一样的。 但是还是有些差异:但其实大同小异,在做题中就会慢慢的体会到。

在for语句的循环控制变量里建议for语句的循环控制变量的取值采用“前闭后开区间”写法。不可以在for 循环体内修改循环变量,防止 for 循环失去控制。

来一道作业题看看

#include <stdio.h>
int main()
{
 int i = 0;
 int k = 0;
 for(i =0,k=0; k=0; i++,k++)
        k++;
 return 0;
}

这个循环要循环多少次呢?

第一次看到题就知道首先表达式1( i = 0,k = 0;) 表达式2( k = 0; ) 表达式3( i++, k++?)然后 k++;

意思就是当i等于0,k等于0时,如果k等于0,则i循环,k循环(重点在于表达式2,因为k本身就是0那怎么办)

所以到k++那里就直接跳过了所以无输出

?

?2.do...while()循环

2.1 do语句的语法

do

? ? ? ? 循环语句;

while(表达式);

?do的特点:循环至少执行一次,使用的场景有限,所以不是经常使用

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

? do while循环中的break和continue

#include <stdio.h>
int main()
{
 int i = 1;
 do
 {
        if(5 == i)
            break; // continue;
 printf("%d ", i);
        i=i+1;
 }while(i<=10);
    
 return 0;
}

3.goto语句

C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。 从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。 但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过 程。 例如:一次跳出两层或多层循环。 多层循环这种情况使用break是达不到目的的。它只能从最内层循环退出到上一层的循环。

4.经过学习循环我们可以简单的写一个小游戏,“ 猜数字游戏的实现

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu()
{
	printf("**********************************\n");
	printf("*********** 1.play     **********\n");
	printf("*********** 0.exit     **********\n");
	printf("**********************************\n");
}
//RAND_MAX--rand函数能返回随机数的最大值。
void game()
{
	int random_num = rand() % 100 + 1;
	int input = 0;
	while (1)
	{
		printf("请输入猜的数字>:");
		scanf("%d", &input);
		if (input > random_num)
		{
			printf("猜大了\n");
		}
		else if (input < random_num)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");
			break;
		}
	}
}
int main()
{
	int input = 0;
	srand((unsigned)time(NULL));
	do
	{
		menu();
		printf("请选择>:");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			break;
		default:
			printf("选择错误,请重新输入!\n");
			break;
		}
	} while (input);
	return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 00:08:17  更:2022-09-21 00:11:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:03:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码