c++第五课(基础c)——掌握while循环:从入门到精通

发布于:2025-06-09 ⋅ 阅读:(19) ⋅ 点赞:(0)

1.前言

今天,我们来学while循环是一种新的循环结构

2.正文

2.1while循环的介绍

while循环是另一种循环,一共有三种循环

for循环(已学)

while循环(正在学)

do—while循环(未学)

while循环比for循环语句更简单,for循环需要填入三个值(一般情况下),while循环只要填入条件即可

2.2while循环的用法

while循环是这么用的

while(/*填入需要的条件*/);
{//花括号可别忘了
     //如果条件符合,就做什么
}

2.3while循环的事例

就来个栗子吧

比如说,你要输出1~100,就这么做

#include<bits/stdc++.h>
using nemespace std;
int main()
{
    int i=1;
    while(i<=100)
    {
         cout<<i<<" ";
         i++;
    }
    return 0;
}

或者

#include<bits/stdc++.h>
using nemespace std;
int main()
{
    int i=1;
    while(i<101)
    {
         cout<<i<<" ";
         i++;
    }
    return 0;
}

输出结果:1~100

但是,如果你把顺序弄反了的话

就是这样了

#include<bits/stdc++.h>
using nemespace std;
int main()
{
    int i=1;
    while(i<=100)
    {
         i++;
         cout<<i<<" "; 
    }
    return 0;
}

你会得到:2~100

为什么呢?

第二栗子是先i加上1,再输出

除非,把它改成这样

#include<bits/stdc++.h>
using nemespace std;
int main()
{
    int i=0;
    while(i<=100)
    {
         i++;
         cout<<i<<" ";
    }
    return 0;
}

这样子,i=0,i再输出前加上1(i=1),再一直循环下去就行了

2.4while循环的死循环

while循环和for循环是一样的

所以它们都有死循环

while循环的死循环有三种写法(不止)

第一种:

#include<bits/stdc++.h>
using nemespace std;
int main()
{
    int i=0;
    while(true)
    {
         i++;
         cout<<i<<" ";
    }
    return 0;
}

第二种:

#include<bits/stdc++.h>
using nemespace std;
int main()
{
    int i=1;
    while(i>=0)
    {
         i++;
         cout<<i<<" ";
    }
    return 0;
}

第二种可以写小于0的数字

第三种:

#include<bits/stdc++.h>
using nemespace std;
int main()
{
    int i=0;
    while(i<=i+1)
    {
         i++;
         cout<<i<<" ";
    }
    return 0;
}

2.5while循环的逻辑运算符的禁忌

while循环的逻辑运算符的主要问题就出现在(!!)逻辑符上

比如请看下面代码

#include<bits/stdc++.h>
using nemespace std;
int main()
{
    int i=1;
    while(i!=100)
    {
         i=i+2;
         cout<<i<<" ";
    }
    return 0;
}

输出结果:砰——砰——咚——哔——哔——哔……

你最大的错误就是运行了上面的代码

他会无限输出下去

1+2=3    3+2=5    5+2=7

永远都是奇数

所以……

97+2=99    99+2=101

此时,101不等于100,所以代码会一直运行下去

(除非你把运行框关掉了)

(逃!)

新手小白(基础c)