【重学《C++Primer第四版》】第六章、语句
来源:互联网 发布:sql重复数据只取一条 编辑:程序博客网 时间:2024/04/28 17:31
Details of knowledge
1.break语句:直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试
1. string s1,s2;
while(cin>>s1>>s2)
cout<<s1<<" "<<s2<<endl;
这个while循环里面每次都要读入两个字符串,如果输入字符串的个数是奇数,那么程序会停在这里,等待下一个的输入。
Concrete Explanation
1.continue实例
实例2:
stdexcept中定义的标准异常类有:
exception,最常见的问题。
runtime_error,运行时错误,仅在运行时才能检测到的问题。
range_error,运行时错误,生成的结果超出了有意义的值域范围
overflow_error,运行时错误,计算上溢
underflow_error,运行时错误,计算下溢
logic_error,逻辑错误,可在运行前检测到的问题
domain_error,逻辑错误,参数的结果值不存在
invalid_argument,逻辑错误,不合适的参数
length_error,逻辑错误,试图生成一个超出该类型最大长度的对象
out_of_range,逻辑错误,使用一个超出逻辑范围的值。
1.break语句:直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试
continue语句:导致最近的循环语句的当次迭代提前结束。
1. string s1,s2;
while(cin>>s1>>s2)
cout<<s1<<" "<<s2<<endl;
这个while循环里面每次都要读入两个字符串,如果输入字符串的个数是奇数,那么程序会停在这里,等待下一个的输入。
Concrete Explanation
1.continue实例
输出1~100之间的不能被7整除的数。
for (int i=1; i<=100; i++){if (i%7==0)continue;cout << i << endl;}2.try-catch-catch...
实例1:
#include<iostream> //包含头文件#include<cstdlib>//exit函数包含在cstdlib中using namespace std;double fuc(double x, double y) //定义函数{ if(y==0) { throw y; //除数为0,抛出异常,抛出异常之后func函数直接结束 } return x/y; //否则返回两个数的商}int main(){double res; try //定义异常 { res=fuc(2,3); cout<<"The result of x/y is : "<<res<<endl; res=fuc(4,0); //出现异常 } catch(int& value) //捕获并处理异常 { cerr<<"error of dividing zero.\n"; exit(1); //异常退出程序 }catch(double& value) //捕获并处理异常 { cerr<<"error of dividing zero.\n"; exit(2); //异常退出程序 } return 0;}如果没有一个catch和tay里面throw的异常匹配,那么就调用默认的终止函数terminate()来终止程序的运行。
实例2:
#include<iostream> //包含头文件#include<cstdlib>//exit函数包含在cstdlib中#include<stdexcept>using namespace std;double fuc(double x, double y) //定义函数{ if(x>y) { throw runtime_error("aaa"); //除数为0,抛出异常,抛出异常之后func函数直接结束 } return x; //否则返回两个数的商}int main(){double res; try //定义异常 { res=fuc(2,3); cout<<res<<endl; res=fuc(4,0); //出现异常 }catch(runtime_error& value) //捕获并处理异常,注意类型的匹配,若抛出的异常为runtime_error,那么catch应该捕获runtime_error,否则捕获不到 { cerr<<"runtime_error:aaa.\n"; exit(2); //异常退出程序 } return 0;}runtime_error是一个标准异常类,C++标准库定义了一组类,用于报告在标准库中的函数遇到的问题。这一组类定义在四个头文件中,分别是<exception>,<stdexcept>,<new>,<type_info>。
stdexcept中定义的标准异常类有:
exception,最常见的问题。
runtime_error,运行时错误,仅在运行时才能检测到的问题。
range_error,运行时错误,生成的结果超出了有意义的值域范围
overflow_error,运行时错误,计算上溢
underflow_error,运行时错误,计算下溢
logic_error,逻辑错误,可在运行前检测到的问题
domain_error,逻辑错误,参数的结果值不存在
invalid_argument,逻辑错误,不合适的参数
length_error,逻辑错误,试图生成一个超出该类型最大长度的对象
out_of_range,逻辑错误,使用一个超出逻辑范围的值。
Summary
本章主要讲了C++的几种语句,大多数是控制流语句。重点了解异常处理部分。
0 0
- 【重学《C++Primer第四版》】第六章、语句
- 【重学《C++Primer第四版》】第五章、表达式
- 【重学《C++Primer第四版》】第七章、函数
- 【重学《C++Primer第四版》】第四章、数组和指针
- 【重学《C++Primer第四版》】第一章、快速入门
- 【重学《C++Primer第四版》】第二章、变量和基本类型
- 【重学《C++Primer第四版》】第三章、标准库类型
- 【重学《C++Primer第四版》】第八章、标准IO库
- c++primer plus 第六版第四章编程习题
- C++Primer Plus(第六版) 第八章 第四题
- 《C Primer Plus 》第六版 习题 第四章
- C++Primer Plus(第六版) 第十三章 第四题
- 【重学《C++Primer第四版》】第九章第十章、容器(顺序容器和关联容器)
- C++Primer笔记 第六章 语句
- C++primer学习笔记-第六章语句
- C++Primer学习笔记第六章(6/18)语句
- C++ primer 第六章 --语句
- C++ Primer 第六章 语句
- 实验课题目2
- 从零开始学swift(三)-算法之斐波那契数列
- gnome-shell隐藏标题栏
- linux学习笔记———《常用命令》
- 请确保此代码文件中定义的类与“inherits”特性匹配,并且该类扩展的基类(例如 Page 或 UserControl)是正确的。
- 【重学《C++Primer第四版》】第六章、语句
- 76. PHP 魔术方法
- 【听音乐】怎样的雨、怎样的夜、怎样的我和怎样的你
- 蓝桥杯 买不到的数目
- 零基础入门学习MySQL 001
- NSNotification、delegate和KVO的区别
- 剪格子 蓝桥杯
- 77. PHP Final 关键字
- Java多线程之 -- 进程和线程