C++(6)--初识循环while,do-while


《老九学堂C++课程》《C++ primer》学习笔记。《老九学堂C++课程》详情请到B站搜索《老九零基础学编程C++入门》
-------------简单的事情重复做,重复的事情用心做,用心的事情坚持做(老九君)---------------

理解循环结构的基本原理
case1: 时钟,地球自传/公转, 游戏角色跑动,刷新数据,hz :每秒种多少次,
写10句台词(需要重复做的事情,用循环来写,循环变量在变化,循环变量可以控制循环的次数)

循环三要素:
循环变量的初值
循环变量的判断
循环变量的更新

1.使用while 循环结构

while-当条件为真的时候执行循环,循环体内部需要循环变量的更新操作,避免死循环。循环体语句执行完毕之后,重新判断条件是否成立。

先判断再执行

int i = 1;	//循环变量的初值,循环变量可以不是整形
while(i <= 10){
	cout << "小人本住在苏州的城边...\t 第" << i << "遍\n";
	i++;
}

demo1:使用循环计算1-100 的累加

int main(){
	//使用循环计算1-100的累加和
	int i = 1;
	int sum = 0;
	while(i < 101){
		sum += i;
		i += 1;	// i++
	}
	cout << sum << endl;
	return 0;
}

demo2:使用循环的方式来判断,三次密码输入错误退出系统

int main(){
	string password;
	int i = 0;
	while(i < 3){
		cout << "请输入密码: " << endl;
		cin >> password;
		cout << "您输入的密码是: " << password << endl;
		if (password == "12345678"){
			cout << "您输入的密码正确" << endl;
			// 继续之后的操作
		}
		i += 1;
	}
	cout << "三次输入密码错误,强制退出系统!" << endl;
	exit(0);
	return 0;
}

demo3: 某一公司2019年的交易额是800亿,每年增速25%,问按此速度哪一年的交易额可以达到2000亿。

int main(){
	double jiaoyie = 800;
	int year = 2000;
	while(jiaoyie < 2000){
		jiaoyie *= 1.25;
		year += 1;
	}
	cout << "到" << year << "年,营业额达到" << jiaoyie << "亿" << endl;
	return 0;
int main(){
	int k = 2;
	while(k = 1){        // 赋值语句无限循环, 我的编译器过不去
		cout << k <<endl;
	}
}
int main(){
	int n=0;
	while(n++ < 2);
	cout << n << endl;
}

等于3,但是视频说4.

2.使用do-while 循环

注意点: 最后的逗号别忘了

do{
	//循环体
}while(循环条件);

demo1: 执行完b的值为多少?

int a = 1, b = 10;
do{
	b -= a;
	a++;
}while(b-- < 0);

抓住核心点–循环条件是否符合。执行一遍循环体,b = 9, a = 2;循环条件 b-- < 0 为假,比较表达式执行完后,b再自减。所以最后b的值为8.

demo2: 为了使程序不陷入死循环,从键盘输入的数据应该是?

int a, b = 1, s = 0;
cin >> a;
do{
	s = s + b;
	b = b -2
}while(a != b);

抓住核心点–循环条件是否符合。循环条件 a == b 就会跳出循环,所以,关键看b是个什么数?s = s + b 并不会改变b的值,所以没啥用;b = b - 2, 初始化为1 的b每次减去2,则b = -1,-3,-5,… 所以a可以为任意的负奇数。

3.python中的while循环

语法

while(循环条件)# 循环体
	# 更新循环变量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值