📅  最后修改于: 2023-12-03 14:59:35.787000             🧑  作者: Mango
在C/C++语言中,while循环是一种基本的循环控制结构,它可以使程序在满足一定条件的情况下反复执行一段代码,直到不满足条件为止。
while循环的语法格式如下:
while (condition)
{
statement(s);
}
其中,condition
是一个布尔表达式,它的值决定了循环是否继续执行。如果condition
为真,则执行statement(s)
中的语句;否则跳过循环体,继续执行循环后面的语句。
下面是一个简单的例子,演示了如何使用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;
}
以上代码使用了两个变量i
和sum
,用于循环计数和累加自然数的和。while循环的条件是i
小于等于100,循环体内累加自然数和并递增i
,直到i
大于100时退出循环。最后输出自然数1到100的和。
下面是另一个例子,演示了如何使用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++中最常用的循环控制结构之一,在实际编程中会经常用到。需要注意的是,如果循环条件不满足,就会导致死循环,程序无法正常结束,需要避免这种情况的出现。