【明解C语言】之do... while循环

目录

一、我爱代码,代码爱我。

1.do...while书写格式

2.do...while代码示例:

3.do...while循环的流程图

4.do...while循环中的break

5.do...while循环中的continue

二、猜数字游戏的实现

1.游戏的思想过程

2. 代码实现


【明解C语言】之for循环_马桶上看算法的博客-CSDN博客C语言、for循环、编程初级、for循环练习题https://blog.csdn.net/m0_63033419/article/details/123715284?spm=1001.2014.3001.5501

【明解C语言】循环语句之while_马桶上看算法的博客-CSDN博客C语言、while循环、编程语言、后端、初级、https://blog.csdn.net/m0_63033419/article/details/123677431?spm=1001.2014.3001.5501

一、我爱代码,代码爱我。

1.do...while书写格式

do
{
   循环语句;
}while(表达式);

2.do...while代码示例:

#include<stdio.h>

int main()
{
    int i = 1;
    do
    {
        printf("%d ",i);
        i++;       //i每次自加1
    }while(i<=10);//判断部分
    return 0;
}

输出:

先执行,后判断,所以do...while最少会执行一次

3.do...while循环的流程图

4.do...while循环中的break

#include<stdio.h>

int main()
{
    int i = 1;
    do
    {
        if (i == 5)
            break;//break跳出整个循环

        printf("%d ", i);
        i++;
    } while (i <= 10);
    return 0;
}

输出结果:1 2 3 4 

5.do...while循环中的continue

#include<stdio.h>

int main()
{
    int i = 1;
    do
    {
        if (i == 5)
        {   //跳过continue后面的语句
            continue;
        }
        printf("%d ", i);
        i++;
    } while (i <= 10);
    return 0;
}

分析:


二、猜数字游戏的实现

1.游戏的思想过程

1.自动产生一个1~100之间的随机数

2.猜数字

(1)猜对了 - 就恭喜猜对了 - 游戏结束

(2)猜错了 - 会告诉猜大了还是猜小了 - 游戏继续 - 直到猜对

3.游戏可以一直玩,也可以选择退出游戏

2. 代码实现

#include<stdio.h>

#include<stdlib.h>//rand()的头文件

#include<time.h>

void menu()//菜单函数
{
    printf("******************************\n");
    printf("*********   1.play   *********\n");
    printf("*********   2.exit   *********\n");
    printf("******************************\n");
}
void game()//实现游戏过程的函数
{
    //猜数字游戏的实现
    //1.生成随机数
    //rand函数返回了一个0-32767之间的随机值
    //时间- 时间戳

    int ret = rand() % 100 + 1;//rand()是库函数

    //%100的余数是0-99,然后+1,范围就是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()
{
    int input = 0;
    srand((int)time(NULL));
    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);//选择1就继续玩,0就退出,非1非0就提示错误
    return 0;
}

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

与大师约会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值