循环;

while (//bool型 )
{
code为 ture 时执行的命令
}

这种是持续循环

1.错的

false 后面是 ;

终止循环的程序应在 while 里面

int main()
{
int num = 0;  //控制变量
bool is_run = ture;
while (ture)
      { cout<<"hello"<<endl;
       num++;
        //}
if (num>=5)
        }    //错误2
is_run = false
}

√的

#include <iostream>
using namespace std;
int main()
{
int num = 0;  //控制变量
bool is_run = true;
while (is_run)
      { cout<<"hello"<<endl;
       num++;
if (num>=5)
        {  //错误2
        is_run = false;
        }
      }
        return 0;
}

while循环猜数字案例

image.png

#include <random>
#include <iostream>
using namespace std;
int get_random_num(int min,int max) 
{
random_device rd;
mt19937 gen(rd());
uniform_int_distribution<> dis(min,max);
int random_number = dis(gen);
return random_number;
}
int main()
{
/**
 * 1.无限次机会
 * 2.提示大了还是小了
 * 3.提示总共猜了多少次
 */
 // 1.得到一个随机数1~100范围的数
 int num = get_random_num( 1,100 );
 // 2.提示用户输入数字进行猜测
 int guess_num;
 cout <<"请输入您猜的数字" <<endl;
 cin>> guess_num;
 int guess_count = 1;
 //如果猜错的话继续(循环)
 while (guess_num != num)   //ture即是猜错
 {
 // 1.判断条件
 // 2.循环控制因子就是guess_num变量
 // 3.控制因子的更新,即是如果用户更新,继续要求用户输入
     guess_count++;
     if (guess_num >num)
     {cout <<"您输入的的数字有点大"<<endl;
     cin >>guess_num;
     }
     else
     {cout <<"你输入的数字偏小"<<endl;
     cin >>guess_num;
     }
     //猜对的话,循环结束  
 }
 cout<<"对了,您总共猜了 "<<guess_count<<" 次"<<endl;
 return 0;
}

<aside> 💡

random库

1.随机数库

#include <random>
using namespace std;
int get_random_num(int min,int max)  //这个后面不用 ; 因为类似于 int main()是函数定义的头部
{
//构建随机数生成器 device:设备
random_device rd;
mt19937 gen(rd());
/定义一个均匀分布的整数范围  distribution:分布,在这个库中特指概率分布模型
uniform_int_distribution<> dis(min,max);
//生成一个随机数并输出
int random_number = dis(gen);
return random_number;
}

</aside>

distribution:分布,在这个库中特指概率分布模型

1.uniform_int_distribution:均匀分布

2.normal_distribution:正态分布

Q0422:

  1. true 写成 ture
  2. 你用来终止循环的判断语句 if (num>=5) 却写在了 while 循环的外部
  3. 改完代码后要 保存
  4. a +=b 就是说 这个算式的 a 等于原来的 a 加上 b 的值
  5. 为什么 int num =1 后面要加;
int guess_count = 1

是一条绝对独立、必须立刻结算的底层物理指令。它的完整含义是:

“立刻向操作系统申请 4 个字节的栈内存,在符号表里将这块内存命名为 guess_count,并将二进制的 1 强行写入这块内存。”