【C++ Primer Plus学习记录】while循环

while循环是没有初始化和更新部分的for循环,它只有测试条件和循环体:

cpp 复制代码
while(test-condition)
      dody

首先,程序计算圆括号内的测试条件表达式。如果该表达式为true,则执行循环体内的语句。与for循环一样,循环体也由一条语句或两个花括号定义的语句块组成。执行完循环体后,程序将返回测试条件,对它进行重新评估。如果该条件为非零,则再次执行循环体。测试和执行将一直进行下去,直到测试条件为false为止。显然,如果希望循环最终能够结束,循环体中的代码必须完成某种影响测试条件表达式的操作。例如,循环可以将测试条件中使用的变量加1或从键盘输入读取一个新值。和for循环一样,while也是一种入口条件循环。因此,如果测试条件一开始便为false,则程序将不会执行循环体。

程序清单5.13使用了一个while循环。该循环遍历字符串,并显示其中的字符及其ASCII码。循环在遇到空字符时停止。这种逐字符遍历字符串直到遇到空值字符的技术是C++处理C-风格字符串的标准方法。由于字符串中包含了结尾标记,因此程序通常不需要知道字符串的长度。

cpp 复制代码
//5.13
#if 1
#include<iostream>
using namespace std;
const int ArSize = 20;

int main()
{
	char name[ArSize];
	cout << "Your first name,please: ";
	cin >> name;
	cout << "Here is your name,verticalized and ASCIIized:\n";
	int i = 0;
	while (name[i] != '\0')//测试数组中特定的字符是不是空值字符
	{
		cout << name[i] << ": " << int(name[i]) << endl;//要打印ASCII码,必须通过强制类型转换将name[i]转换为整型。这样,cout将把值打印成整数,而不是将它解释为字符编码。
		i++;
	}

	system("pause");
	return 0;
}
#endif
相关推荐
磐链科技3 分钟前
区块链开发入门实战:用 Hardhat 与 Ethers.js 搭建你的第一个 DApp
开发语言·javascript·区块链
陈年老古董6 分钟前
矿物分类实战:从传统机器学习到深度学习(含PyTorch实现)
笔记·深度学习·学习·机器学习·分类
csdn2015_7 分钟前
java springboot项目,接收到的参数多个逗号
java·开发语言·spring boot
春风解人意12 分钟前
从零开始学习嵌入式P35----数据库
数据库·嵌入式硬件·学习
sunoo-22913 分钟前
【网络编程 + 数据库】select 与 epoll 核心区别详解 + SQLite 入门到 C 接口全攻略
linux·网络·数据库·vscode·学习·sqlite
lvwangshu15 分钟前
exBSGS 算法
数学·算法
不会就选b16 分钟前
算法日常・每日刷题--<贪心+大根堆>2
数据结构·算法
码艺-Alimjan17 分钟前
维吾尔语数字转文本
java·javascript·python·算法·go
可乐鸡翅yeah_18 分钟前
hls.js 多实例并发踩坑,多视频页面播放器内存与冲突问题解决
开发语言·前端·javascript·音视频·hls·m3u8·m3u8在线播放
俊昭喜喜里19 分钟前
c#中的构造函数
开发语言·数据库·c#