零三课:扫雷项目_输入账号中

对于一些重复性的工作,用循环语句解决是方便的,今天我们来学习循环语句。

项目需求:输入账号、密码。判断用户是否有权进入游戏,当输入三次错误的账号密码后不允许用户继续输入。

知识点:变量和常量、数组、断点调试、循环语句与分支语句

项目实现:

         继续使用上一课的代码,观察第11行到第28行

代码解释:

运行程序,发现当输入的账号密码不正确时程序并没有进入菜单,而是让大家重新输入密码。

知识点讲解:

1、最简单的循环语句

         我们从最简单的语句讲起while循环。

格式:

while(条件)

{

       代码块;

}

此语句的作用是判断条件的真假,若条件为真则执行循环体内部的代码块,若条件为假,则跳过循环体,执行后面的内容。

条件的真假如何判断我们下一次课再来讲解。暂时先记住在C语言中0代表假,其他数代表真,记得字符也是一种数字哟,大小为其对应的ASCII码值。在C++中,有一种变量专门表示真假,及bool变量。true表示真,false表示假.试试将程序里while括号里的1改成true,看看程序的运行效果。

在解决方案上右键添加新项目。项目名字改为循环,然后添加源文件。写入如下代码:

#include<iostream>

using namespace std;

 

int main()

{

    int i=0;

    while(true)

    {

        cout<<i<<endl;

        i++;

    }

   

 

 

    system("pause");//使程序暂停

    return 0;

}

并且在i++那一行打上断点然后运行程序。然后依次点继续就是运行程序的哪个绿色箭头,观察每次程序输出的结果。体会循环的作用并体会变量的使用方法。

2、如何跳出循环

不知道大家发现没,刚才那段代码,每次点击继续按钮,程序都会进入循环体。这是不是意味着,这个程序永远也不会停止了呢。这对于程序来说是很可怕的。你可以试试把断点取消之后在点运行看看会发生什么?我们管这种会一直循环不会跳出的循环称为死循环。滥用死循环会造成很严重的后果的。那么如何让程序跳出循环呢?

观察我们上节课代码的第21行,发现了一个break;这个语句。这就是让程序跳出循环的方法。很简单吧。现在我们在刚才的循环项目上试着加一个break;语句。

其中的if语句下节课在讲,只要知道这句话的意思是当i大于等于100时执行break语句就行了。观察输出结果,发现当运行到输出100之后程序就结束了。这就是说当运行到break语句时跳出循环

再谈一谈循环条件,及跟在while后面的括号里的内容。若条件为真则执行循环体内部的代码块,若条件为假,则跳过循环体,执行后面的内容。那是不是如果我们控制条件的真假就可以控制程序的跳出循环了呢。将循环改成下面这样再去试者运行一下。重点体会i++的作用。

while(i<=100)

    {

        cout<<i<<endl;

        i++;

}

i++语句除了改变i的值之外,还起到了一个非常重要的作用:改变寻环的判断条件的真假。一般的循环语句这条语句都是很重要的。

试试将上节课的程序改成下面这样,自己运行调试一下,体会两种跳出循环的方法的应用。

不要觉得这些东西太基础就不加以重视哟。有很多大公司的笔试题就是这么基础的东西。下面看一道华为公司的笔试题:

有这样一道智力题:某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝? 

答案:

#include<stdio.h>

 

int main (){

 

    int m;

 

    while(~scanf("%d",&m)&&m!=0) printf("%d\n",m/2);

 

    return 0;

 

}

 

看到了没就是一个while循环就能解决。当然了这个条件判断中有一个与逻辑暂时可能还看不太懂。

 

While 循环中还有一个continue,意思是结束本次循环

while(i<10)

    {

        i++;

        cout<<"循环开始: "<<i<<endl;

       

        continue;

        cout<<"位于continue后面的语句不会被执行"<<endl;

    }

一段代码大家自己去运行一下。

练习题:

1、用while循环计算从1一直加到100的值是多少

2、思考break和continue的区别

3、思考死循环的优点和缺点

可关注我的个人微信公众号:

(豆浆and油条er

喜欢的朋友请点个赞支持一下,谢谢!~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值