24.dowhile

24.循环语句-dowhile


24.1 知识点

do while基础语法

while 循环的执行逻辑是“先判断条件,再执行代码块”,而 do while 循环则是“先执行一次代码块,再判断条件是否继续”。
do while 循环的基本结构如下:

do
{
    // do while 语句块
} while (布尔表达式); // 注意这里有一个重要的分号

do while实际使用

以下是一个 do while 循环的示例:

int a = 0;
do
{
    cout << a << endl;
    ++a;
} while (a < 2);

输出结果为:

0
1

在这段代码中,程序会先执行一次 do 块中的内容,然后判断条件 a < 2 是否成立。如果条件成立,则继续循环;如果条件不成立,则退出循环。

多种语句嵌套使用

do while 循环可以与 ifswitchwhile 等语句嵌套使用,示例如下:

do
{
    // if 判断
    if (true) 
    {
        // 在这里编写 if 的代码块
    }

    // while 循环
    while (true)
    {
        // 在这里编写 while 的代码块
    }

    // 嵌套 do while 循环
    do
    {
        // 嵌套的 do while 代码块
    } while (true);

    // switch 语句
    int i = 0;
    switch (i)
    {
        default:
            break; // 退出 switch
    }

    // 使用 break 退出外层 do while 循环
    cout << "1" << endl;

    // 使用 continue 跳过本次循环的剩余代码,直接回到条件判断处
    continue;
    cout << "2" << endl;

} while (false);

在上述代码中:

  • if 用来判断条件是否成立。
  • while 循环用于反复执行代码块。
  • 嵌套的 do while 用来模拟复杂的循环逻辑。
  • switch 用于多分支选择。
  • break 可以立即终止外层的 do while 循环。
  • continue 会跳过当前循环的剩余语句,直接返回到条件判断处。

24.2 知识点代码

Lesson24_循环语句_dowhile.cpp

#include <iostream>
using namespace std;
int main()
{
    std::cout << "do while循环语句\n";

    #pragma region 知识点一 do while基础语法

    // while循环 是先判断条件再执行
    // do while循环 是先斩后奏 先至少执行一次循环语句块中的逻辑 再判断是否继续
    //do
    //{
    //    //do while 语句块
    //} while (bool类型的值 - 表示真假的值);
    //注意 do while 语句 存在一个重要的分号

    #pragma endregion

    #pragma region 知识点二 do while实际使用

    /*do
    {
        cout << "do while循环语句块";
        cout << "do while循环语句块";
        cout << "do while循环语句块";
    } while (true);*/

    int a = 0;
    do
    {
        cout << a << endl;
        ++a;
    } while (a < 2);

    #pragma endregion

    #pragma region 知识点三 多种语句嵌套使用

    // if switch while do while 嵌套使用
    do
    {
        if (true) {

        }

        while (true)
        {

        }

        do
        {

        } while (true);

        int i = 0;
        switch (i)
        {
            default:
                break;
        }

        //break;退出dowhile循环
        cout << "1" << endl;

        //continue 回到while处 去进行判断
        continue;
        cout << "2" << endl;
    } while (false);

    #pragma endregion
}

24.3 练习题

要求用户输入用户名和密码,只要不是 admin8888 就一直提示用户名或密码错误,请重新输入

// 为了能够在 while 处使用变量进行判断 
// 所以我们需要把记录输入信息的变量放到语句块外部声明
string name;
string password;
bool isShow = false;

do {
    // 第一次不要输出这个内容,应该至少是玩家输入了内容后,错误后才需要输出
    if (isShow)
        cout << "用户名或密码错误" << endl;

    cout << "请输入用户名" << endl;
    cin >> name;
    cout << "请输入密码" << endl;
    cin >> password;
    isShow = true;

} while (name != "admin" || password != "8888");

cout << "登录成功" << endl;

不断提示请输入你的姓名,直到输入 q 结束

string input;

do {
    cout << "请输入你的姓名" << endl;
    cin >> input;
} while (input != "q");

24.4 练习题代码

Lesson24_练习题.cpp

#include <iostream>
using namespace std;
int main()
{
    std::cout << "do while 练习题\n";

    #pragma region 练习题一

    //要求用户输入用户名和密码,只要不是admin和8888就一直提示用户名或密码错误,请重新输入

    //为了能够在while处使用变量进行判断 
    //所以我们需要把记录输入信息的变量放倒语句块外部声明
    string name;
    string password;
    bool isShow = false;
    do
    {
        //第一次不要输出这个内容 应该至少是玩家输入了内容后 错误后才需要输出
        if(isShow)
            cout << "用户名或密码错误" << endl;

        cout << "请输入用户名" << endl;
        cin >> name;
        cout << "请输入密码" << endl;
        cin >> password;
        isShow = true;

    } while (name != "admin" || password != "8888");
    cout << "登录成功" << endl;

    #pragma endregion

    #pragma region 练习题二

    //不断提示请输入你的姓名,直到输入q结束

    string input;
    do
    {
        cout << "请输入你的姓名" << endl;
        cin >> input;
    } while (input != "q");

    #pragma endregion

}


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏