c++primer第五章学习小记

来源:互联网 发布:域名cname解析过程 编辑:程序博客网 时间:2024/05/17 04:49
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不赋给prechprech = '\0';elseprech = 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语句终止当前的迭代,但是仍然继续执行循环。
                                             
0 0
原创粉丝点击