c++primer第五章学习小记

5.12 
#include<iostream>
using namespace std;
int main()
{
	unsigned int ffCnt = 0, flCnt = 0, fiCnt = 0;
	char ch, prech = '\0';
	cout << "请输入一段文本:" << endl;
	while (cin >> ch)
	{
		bool bl = true;
		if (prech == 'f')
		{
			switch (ch)
			{
			case 'f':
				++ffCnt;
				bl = false;//这里是为了后面的if(!bl)若没有这个代码,当输入ffi时会统计ff和fi都出现一
				break;
			case'l':
				flCnt;
				break;
			case'i':
				++fiCnt;
				break;
    

			}
		}
		if (!bl)//因为ff已经组成了ff字符,统计了次数,所以必须将ff的第二个f不赋给prech
			prech = '\0';
		else
			prech = ch;

	}
	cout << "ff的数量是:" << ffCnt << endl;
	cout << "fi的数量是:" << fiCnt << endl;
	cout << "fl的数量是:" << flCnt << endl;
	system("pause");
	return 0;
}
 
 
5.21
 
 
#include<iostream>
#include<vector>
#include<string>
using namespace std;
int main()
{

	string currString, preString;
	bool bl = true;
	cout << "请输入一组字符串:" << endl;
	while (cin >> currString)
	{
		if (currString == preString)
		{
			bl = false;
//字符串相等的时候,设置bl为false是为了后边的if(bl)
		cout << "连续出现的字符串是" << currString << endl;
			break;
		}
		preString = currString;
	}
	if (bl)
//如果字符串不等,bl为true,下面一条语句输出;如果字符串不相等,bl为false,下面一句语句不会被执行	
		cout << "没有连续出现的字符串" << endl;
	
	system("pause");
	return 0;

}

if(false)和if(true):
if(false)和if(true)
if(bl)的相关知识:
一:	if(false)程序永远不会被执行,因此,有些写法会利用if(false)来注释一些语句;
	if(true)会一直被执行,相当于没有判断条件    
其他第五章重要知识点:
1.break语句负责终止离他最近的while、do while、for或switch语句,并从这些语句之后的第一条语句开始继续执行。
2.continue语句终止最近的循环中的当前迭代并立即开始下一次迭代,continue语句只能出现在for、while和do while循环的内部。continue语句终止当前的迭代,但是仍然继续执行循环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值