5.1 简单语句
作用:执行表达式并丢弃求职结果。
要以分号结束。
语句块时用花括号起来的语句,也叫块,块中引入的名字只能在内部访问。
5.2 语句作用域
定义在控制结构当中的变量只有在相应语句内部可见,一旦结束变量就超出作用范围了。
5.3条件语句
if语句
if(condition)
statement
else if(condition)
statement
else
statement
悬垂else:规定else与离它最近的尚未匹配的if匹配。
switch语句
switch(ch){
case 1:
case 2:
case 3:
}
下一个case之前应该有一条break,否则会跨越case标签的边界,执行下面的内容。
default:如果没有一个标签能匹配,就执行default之后的。
5.4迭代语句
也称循环语句
while和for
其中for语句的条件可以用空语句省略
c++11引入了循环for语句。
还有一种do while语句
do
statement
while (condition)
会在求condition前先执行一次statement。然后再判断是否终止。
5.5跳转语句
1.break
负责终止最近的while、do while、 for或switch语句。
2.continue
终止当前迭代并立即开始下一次迭代。
3.goto
无条件跳转到同一函数的另一条语句,最好不要使用。
goto label: //跳转去标签语句
end : retrun //带标签语句
5.6 try语句块和异常处理
异常处理包括:
1.throw表达式,用来异常检测。
2.try语句块,异常处理部分。以catch子句结束,catch来处理,也称异常处理代码。
3.一套异常类(exception class),用于throw表达式和相关的catch子句直接传递异常的具体信息。
throw引发一个异常,抛出异常类型
if(item1.isbn() != item2.isbn())
throw runtime_error("Data must refer to same ISBN");
类型 runtime_error时标准库异常,定义在stdexcept中。
try语句块
try(
program-statements
) catch (exception-declaration){
handler-statements
} catch (exception-declaration){
handler-statements
}
catch后面的是异常声明