(七十二)while循环

简介:

while循环是没有初始化和循环更新的for循环。就类似

for(没有第一部分; 判断语句; 没有循环更新){执行语句};

因此,while只能进行判断,符合判断,则执行循环,不符合,则结束循环。

 

代码:

//输出遇到空字符为止
#include<iostream>

int main()
{
	using namespace std;
	string a;
	a[0]= char('z');	//初始a[0]为小写的字母z
	while (a[0] != '\0')	//遇见空字符为止,注意,空字符ASCII编码为0
	{
		cout << a[0];	//输出a[0],不换行
		a[0] = a[0] - 1;	//a[0]每次都比之前在ASCII编码少1、这行实际上就相当于循环更新
	}
	system("Pause");
	return 0;
}

输出:

 

 

(以上是图片,如果看不到,说明不支持显示图片)

 

大概情况就是从zyx这样一直往下输出,输出各种字符。之所以发图片,是因为赋值到word里面出现换页了(可能有换行符还有其他的吧)

 

结论:

①while的用法和for很相近,判断语句同样是判断表达式的值是flase还是true,只不过可以认为,是将循环更新放到循环体之中了。

 

for、while和分号:

在for和while的循环语句中,格式是这样的:

for/while   (判断语句,for还带初始化和循环更新语句) ① {循环体} ②

 

需要注意的是:

在①的位置,不能加入分号,如果加入,循环会这样认为,例如:

for(判断)  空语句  ;{循环体}

他会认为,判断成立,于是执行空语句,又因为空语句不可能更新循环,因此,会无限执行判断语句,进入一个死循环。

如果判断不成立,那么不执行空语句,执行一次循环体,然后执行循环体后面的语句。

 

这样的话,就起不到循环作用了。

 

在②的位置,可以加入分号,但也可以不加入。因为在大括号里面,最后一行语句应该加入分号,这样的话,假如执行完循环,多一个分号,相当于多一个空语句,并没有什么影响。

 

结论:

小括号() 和 大括号{}之间,一般情况下,禁止加入分号。

注:(七十三)中有利用空语句进行循环的一种巧妙办法

 

 

 


目录
相关文章
|
9月前
|
算法
第十四届蓝桥杯集训——JavaC组第十二篇——while循环(循环四要素)
第十四届蓝桥杯集训——JavaC组第十二篇——while循环(循环四要素)
82 0
|
8月前
质数类判断方法(蓝桥杯,循环分支题型)
质数类判断方法(蓝桥杯,循环分支题型)
|
9月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-380 绘制地图
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-380 绘制地图
48 0
|
9月前
|
算法
【力扣热题100】287. 寻找重复数(弗洛伊德的乌龟和兔子方法)
【力扣热题100】287. 寻找重复数(弗洛伊德的乌龟和兔子方法)
81 0
|
9月前
【每日一题Day355】LC1402 做菜顺序 | 贪心+排序
【每日一题Day355】LC1402 做菜顺序 | 贪心+排序
61 0
|
9月前
【每日一题Day314】LC1921消灭怪物的最大数量 | 贪心+排序
【每日一题Day314】LC1921消灭怪物的最大数量 | 贪心+排序
66 0
|
C语言
【C语言航路】第二站:分支与循环(二)
【C语言航路】第二站:分支与循环(二)
81 0
|
C语言
【C语言航路】第二站:分支与循环(一)
【C语言航路】第二站:分支与循环(一)
48 0
|
消息中间件 前端开发 NoSQL
蔚来手撕代码题:三个线程循环打印ABC
蔚来手撕代码题:三个线程循环打印ABC
123 3
蔚来手撕代码题:三个线程循环打印ABC
|
JavaScript 前端开发
每日一题:说说new操作符具体干了什么?
每日一题:说说new操作符具体干了什么?
148 0
每日一题:说说new操作符具体干了什么?

热门文章

最新文章