当前位置:C++技术网 > 精选软件 > C++ Primer Plus 6th 5.8 复习题 第1题 入口条件循环和出口条件循环

C++ Primer Plus 6th 5.8 复习题 第1题 入口条件循环和出口条件循环

更新时间:2019-04-22 10:11:11浏览次数:1+次

题目:
1.入口条件循环和出口条件循环之间的区别是什么?各种C++循环分别属于其中的哪一种?

答案: 输入条件循环在进入输入循环体之前将评估测试表达式。如果条件最初为false,则循环不会执行其循环体。退出条件循环在处理循环体之后评估测试表达式。因此,即使测试表达式最初为false,循环也将执行一次。for和while循环都是输入条件循环,而do while循环是退出条件循环。

C++技术网辅导详解解答:

    我们可以将循环体看做一次消费行为。输入条件循环(入口条件循环)则是先要付钱才能消费的场景,而输出条件循环(出口条件循环)则是后付费消费的场景。按照实际的生活场景来举例,有些餐馆流动性很大,顾客行为不好管理,比如开放性的美食城,必须采用这样的方法即预付费。所以,有钱就买,没有钱就滚蛋。这就是入口条件循环的逻辑。而在出入口只有一个口的餐馆,流动性是受控制的,顾客离店都会经过出口,那么就可以让顾客先消费,然后再结账,不怕顾客跑了。所以只要在顾客离店的时候做一次检测,检测顾客是否付钱,这就是出口条件循环。

    那么入口条件循环和出口条件循环是不是就固定不变了呢?不是的。比如出口条件循环的场景,为了需要,可能需要顾客吃到一半的时候就付钱,这就在出口条件之前就进行了处理。或者说,在刚点完菜就要付钱等等。虽然外面用了入口或出口条件循环的场景逻辑,却可以在执行体里做一些调整,让内部可以反转逻辑,以防止一些意外发生。

    所以,do while虽然看上去可以先执行一次测试条件为false的场景,但是我们可以在执行体里做一些检测,防止过于开放的问题。编程里没有一成不变的模式,这点需要记住。不过对于现有的模式需要熟悉,然后可以让今后的编程更加灵活多变,将灵活建立在现有的基础之上。