[循环和关系表达式]——C++ Prime Plus-ch5

本文详细介绍了C++中的for循环、while循环和do while循环,强调了for循环的入口条件测试和更新表达式。讨论了表达式、副作用和语句的概念,并详细阐述了for语句中的常用符号,如递增运算符、递减运算符、副作用和顺序点。此外,还探讨了C-风格字符串比较和string类字符串的比较方法,以及C++11中引入的基于范围的for循环。同时,讲解了如何处理文本输入,包括使用cin.get()的多种形式,以及如何检测和处理文件尾条件。最后,提到了嵌套循环和二维数组的应用。
摘要由CSDN通过智能技术生成

1.for循环——执行特定的次数

①介绍——满足测试条件,执行循环,不满足,跳出循环

#include<iostream>
int main()
{
	using namespace std;
	for (int i = 5; i ; i--)
		cout << "C++ knows loops.\n";
	cout << "C++ knows when to stop.\n";
	return 0;
}

1.循环执行一次初始化,通常使用表达式将变量设置为起始值;

2.测试表达式可以使用任意表达式,C++将结果强制转换为Bool类型。for循环是入口条件测试,这意味着在每次循环前,都将计算测试表达式的值,当表达式的值为false时,将不会执行循环体。

3.更新表达式:可以是任何有效c++表达式,还可以是其他控制表达式。

注:for语句看上去有些像函数调用,因为他后边跟了一对括号,常用方法是,在for和括号之间加一个括号,而省略函数名与括号之间的空格。

②表达式,语句和非表达式

1.表达式:

任何值或者任何有效的值和运算符的组合都是表达式。例如 10 是 值为10的表达式,28*20是值为560的表达式。 x = 20 是值为20的表达式(C++将赋值表达式的值定义为左侧成员的值);<<运算符的优先级比表达式中使用的运算符高,因此代码要使用括号来获得正确的运算顺序。

#include<iostream>
int main()
{
	using namespace std;
	int x;
	cout << "The expression x=100 has the value "
		<< (x = 100) << endl
		<< "Now x = 100"<<endl;
	x = 100;
	cout << "The expression x<3 has the value "
		<< (x < 3) << endl
		<< "The expression x>3 has the value "
		<< (x > 3) << endl;
	cout.setf(ios_base::boolalpha);   //设置标记,该标记命令cout显示true和false,而不是0和1
	cout << "The expression x<3 has the value "
		<< (x < 3) << endl
		<< "The expression x>3 has the value "
		<< (x > 3) << endl;
	return 0;
}

2.副作用:

为判定表达式 x =100;C++必须将100赋给x.当判定表达式的值的这种操作改变了内存中的数据时,我们说表达式有副作用。有可能把赋值看做预期效果,有时判定表达式看作预期效果,但从这里来看,判定表达式是主要作用。并不是所有的表达式都有副作用,x+15将计算出新值,但x的值不会改变,++x + 15就有副作用,x加1.

3.语句

任何表达式后加上分号,就是语句,但语句删除分号,不一定是表达式(返回语句声明语句和for语句都不满足删除分号后是个表达式)

C++小规则——可以在for循环的初始化部分中声明变量,循环结束,变量不存在(C现在也可以了)。

③for语句中的常用符号介绍

1.回到for循环

#include<iostream>
int main()
{
	const int Size = 16;
	long long arr[Size];
	arr[0] = 1;
	long long res = 1;
	for (int i = 1; i < 16; i++)
	{
		res *= i;
		arr[i] = res;
		
	}
	for (int i = 0; i < 16; i++)
	{
		std::cout << i << "! =" << arr[i] << std::endl;
	}
	return 0;
}

实例提醒,可以使用std::而不是编译指令using来让选定的标准名称可用。

2.修改步长

#include<iostream>
int main()
{
	using namespace std;
	cout << "Enter an integer:" << endl;
	int num = 0;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值