📜  C C++ while循环与示例(1)

📅  最后修改于: 2023-12-03 14:59:35.787000             🧑  作者: Mango

C/C++中的while循环与示例

简介

在C/C++语言中,while循环是一种基本的循环控制结构,它可以使程序在满足一定条件的情况下反复执行一段代码,直到不满足条件为止。

while循环的语法格式如下:

while (condition)
{
    statement(s);
}

其中,condition是一个布尔表达式,它的值决定了循环是否继续执行。如果condition为真,则执行statement(s)中的语句;否则跳过循环体,继续执行循环后面的语句。

示例
1. 使用while循环求自然数和

下面是一个简单的例子,演示了如何使用while循环求自然数1到100的和:

#include <stdio.h>

int main()
{
    int i = 1, sum = 0;

    while (i <= 100)
    {
        sum += i;
        i++;
    }

    printf("1+2+...+100=%d\n", sum);

    return 0;
}

以上代码使用了两个变量isum,用于循环计数和累加自然数的和。while循环的条件是i小于等于100,循环体内累加自然数和并递增i,直到i大于100时退出循环。最后输出自然数1到100的和。

2. 使用while循环实现猜数字游戏

下面是另一个例子,演示了如何使用while循环实现猜数字游戏:

#include <iostream>
#include <cstdlib>
#include <ctime>

int main()
{
    srand(time(NULL));  // 初始化随机数种子

    int secret_num = rand() % 100 + 1;  // 产生1~100之间的随机数
    int guess_num, guess_cnt = 0;

    std::cout << "Welcome to the guess number game!\n";
    std::cout << "Please guess a number between 1 and 100.\n";

    while (true)
    {
        std::cin >> guess_num;
        guess_cnt++;

        if (guess_num == secret_num)
        {
            std::cout << "Congratulations! You guessed the number in " << guess_cnt << " tries.\n";
            break;  // 猜对了结束循环
        }
        else if (guess_num > secret_num)
        {
            std::cout << "Too high. Please try again.\n";
        }
        else
        {
            std::cout << "Too low. Please try again.\n";
        }
    }

    return 0;
}

以上代码实现了一个猜数字游戏,通过srand()rand()函数随机生成一个1~100之间的整数secret_num,然后要求用户输入一个猜测的数字guess_num。如果猜对了,输出猜测次数并退出循环;如果猜错了,根据大小关系提示用户继续猜测。guess_cnt变量用于记录猜测次数。

结语

while循环是C/C++中最常用的循环控制结构之一,在实际编程中会经常用到。需要注意的是,如果循环条件不满足,就会导致死循环,程序无法正常结束,需要避免这种情况的出现。