||
第六章 语句(5.10)
C++的语句既有完成单一任务的简单语句,也有作为一个单元执行的由一组简单语句构成的复合语句,既有实现条件分支结构的语句,也有重复执行某一代码的控制结构语句。本章讲述的各种语句和C没什么区别。
知识点:
语句作用域的概念。
While和do while的区别。
break(结束离break最近的循环,跳出去)和continue(结束离continue最近的循环的档次迭代,转向下一次迭代)的区别。
try块和异常处理:
try{
} catch()
{} catch()
{}
throw expression 实现异常检测程序和异常处理程序之间的通讯,当发现异常时,错误检测部分用throw表达式将异常类型传递给try块,try块将错误类型和catch依次匹配,以寻找能够处理异常的catch子块。如果没有相匹配的catch,则交由terminate终止程序执行。几种标准异常类是在stdexcept标准库中定义的,因此需要引用头文件<cstdexcept>。
示例程序:
Sales_item item1, item2;
while (cin >> item1 >> item2) {
try {
if (!item1.same_isbn(item2))
throw runtime_error("Data must refer to same ISBN");
// ok, if we're still here the ISBNs are the same
std::cout << item1 + item2 << std::endl;
} catch (runtime_error err) {
// remind the user that ISBN must match and prompt for another pair
cout << err.what()
<< "nTry Again? Enter y or n" << endl;
char c;
cin >> c;
if (cin && c == 'n')
break; // break out of the while loop
}
}
四种常用的预处理器常量:
_ _FILE_ _ 文件名
_ _LINE_ _行号
_ _TIME_ _文件被编译的时间
_ _DATE_ _文件被编译的日期
assert(expression):当表达式满足时,继续执行,否则产生非正常终止,用于debug。
需要包含头文件<cassert>。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-24 10:30
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社