c++入门教程(八)

事前日常敲黑板

(1)事情从今天开始变得复杂了  需要用心了哦


首先,思考下面情形

输入一个数字,输出这个数到0之间的所有数字

不要挣扎了,流程图逃不掉的


仔细观察一下,看一下和前面的if 的流程图有什么区别

.

.

.

答案:if的判断框的两个分支都是向下的,这里面的一个分支是向上的,也就是说如果判断的结果满足某些条件则还需要重复这个判断过程


c++中用while来实现这个过程

具体语法如下

while(判断条件){

满足条件的时候要做的事情

}

注意:如果不满足则判断部分结束,程序将会直接向下执行(while结束后可能还会有一些语句的)

然后  开始我们的翻译过程

#include <iostream>
using namespace std;

void main(){
	int i;
	cin>>i;
	while(0 <= i){
		cout<<i;
		i = i - 1;
	}
	cout<<endl;
}


然后我们发现  i = i- 1;这句话仿佛比较熟悉,好像前面某个地方和这里差不多   恩,没错,就是--

于是,事情变成了

#include <iostream>
using namespace std;

void main(){
	int i;
	cin>>i;
	while(0 <= i){
		cout<<i--;
	}
	cout<<endl;
}
结果如下



值得注意的是 通过程序的操作,while中的判断条件一定要有不成立的时候.否则,程序将不断的重复 "昨天的故事"   也就是 陷入死循环   比如下面的代码

#include <iostream>
using namespace std;

void main(){
	int i;
	cin>>i;
	while(0 <= i){
		cout<<i;
	}
	cout<<endl;
}
当输入的i大于等于0时,由于i不会减小,所以就永远不会出现小于0的情况,所以程序将永远不会结束.


现在,我们在上面的情况下再改一点点需求.如果输入的值小于0则输出0,否则输出从0到输入的数字之间所有的数字

然后我们发现一个问题,无论如何 0 都是要输出的,其它的数字需要根据具体情况确定

于是  流程图如下


与上面的相似,这里也是满足条件的话 就重复某一部分的事情.但是与上面的不同的是 上面是先进行判断再确定是否重复,这里是先执行,然后再判断是否重复.所以这里有一个和上面差不多的用于循环的结构 do while  具体用法如下

do{

要执行的语句

}

while(判断条件);

注意:判断条件的括号后面有个分号的

整个过程是  先执行一次要执行的语句,然后进行判断,如果满足条件则继续执行上面的语句,否则循环结束  例子如下

#include <iostream>
using namespace std;

void main()
{
	int a;
	cin>>a;
	int b = 0;
	do{
		cout<<b++;
	}
	while(b <= a);
	cout<<endl;
}

结果如下


然后,来试一下下面的需求

输入一个数字,判断这个数字是否等于0  如果等于0  输出 "程序结束"  然后程序结束 。否则,继续重复输入判断的过程



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值