c++while循环

1.while循环

  • 格式:
while(循环条件){
循环体;
}

c++while循环_第1张图片

  • 循环中,我们通过控制变量来控制循环次数。
    循环3要素:
    循环变量的初值
    循环变量的判断
    循环变量的更新

eg1:

#include 
using namespace std;
int main()
{
    int i = 1;
    while(i <= 10)
    {
        cout <<"小人本住在苏州的城边..\t第"<<i<<"遍\n";
        i++;
    }
    return 0;
}

输出:

小人本住在苏州的城边..1遍
小人本住在苏州的城边..2遍
小人本住在苏州的城边..3遍
小人本住在苏州的城边..4遍
小人本住在苏州的城边..5遍
小人本住在苏州的城边..6遍
小人本住在苏州的城边..7遍
小人本住在苏州的城边..8遍
小人本住在苏州的城边..9遍
小人本住在苏州的城边..10

eg2:

#include 
using namespace std;
int main()
{
    //目的:使用循环计算1-100的和
    int num=1;//循环变量的初值
    int sum=0;
    while(num<=100) //循环变量的判断
    {
        sum+=num;
        num++;//循环变量的更新
    }
    cout<<sum<<endl;

    return 0;
}

eg3

#include 
#include 
using namespace std;
int main()
{
    //目的:输入密码,3次都输入错误退出登录
    int i=1;
    string password;

    while(i<=3)
    {
        cout<<"请输入密码:"<<endl;
        cin>>password;
        if(password!="123456"&&i==3)
        {

            cout<<"3次密码输入错误,系统强制退出"<<endl;
            exit(0);//0是错误码

        }
        else if(password=="123456")
        {
            break;
        }
        i++;
    }

    cout<<"登陆成功!"<<endl;
    return 0;
}

习题:
1.

#include 
#include 
using namespace std;
int main()
{
    int k=2;
    int i=0;
    while(k=1)
    {
    k=k-1;
    cout<<"第"<<++i<<"次循环"<<endl;
    }
    return 0;
}

这是个死循环,因为 k=1是赋值运算,返回值是1,就会执行 while(1),是个死循环。

2.判断一下语句输出是:

    int n=0;
    while(n++<=2);
    cout<<n;

答案是4.
分析:n++<=2,所以n最后一次进入的时候n=2,之后再执行n++,即n=3;
别忘了最后跳出循环的时候还要进行一次判断,再执行一次n++<=2语句,此时n=3,不满足条件,但是还是要执行++语句,即n=n+1=4。

例子:

#include 
#include 
#include 
using namespace std;
int main()
{
    //使用循环模拟拳皇对战
    int hp1=100;
    int hp2=100;

    int attack1=0;
    int attack2=0;

    int randNum;

    srand(time(NULL));//更新随机种子

    while(hp1>=0&&hp2>=0)
    {

        //玩家出招,可以采用随机数是奇数还是偶数决定谁先攻击
        randNum=rand();
        if(randNum % 2==1)
        {
            //随机产生5到15的随机数
            attack1=(int)(5 + 10 *rand()/(RAND_MAX+1));
            attack2=(int)(5 + 10 *rand()/(RAND_MAX+1));

            hp2-=attack1;
            hp1-=attack2;

        }
        else
        {
            attack2=(int)(5 + 10 *rand()/(RAND_MAX+1));
            attack1=(int)(5 + 10 *rand()/(RAND_MAX+1));

            hp1-=attack2;
            hp2-=attack1;
        }

    }

    cout<<"玩家1:"<<hp1<<endl;
    cout<<"玩家2:"<<hp2<<endl;


    return 0;
}

你可能感兴趣的:(C++,c++,开发语言)