第5章 语句

5.1 简单语句

一个;就可以表示一个空语句

花括号{}表示一个语句块,一个块就是一个作用域。

5.2 语句作用域

5.3 条件语句

习惯使用花括号避免代码混乱。

悬垂else,else与离它最近的尚未匹配的if匹配,从而消除程序的二义性。

switch语句中case标签必须是整型常量表达式,进入case分支后只有遇到break或者switch结尾才会停止,否则执行所有的case分支代码。

5.4迭代语句

  • for/范围for
  • while
  • do while

5.5 跳转语句

  • break
  • continue
  • goto
goto label;

label是用于标识一条语句的标识符。带标签语句:

end: return;

标签标识符独立于变量或其他标识符的名字,标签标识符可以和程序中其他的实体的标识符使用同一个名字而不会相互干扰。goto语句和控制权转向的那条带标签的语句必须位于同一个函数之内。

// ...
    goto end;
    int ix = 10;
end:
    ix = 42 //  错误,跳过了ix的声明

5.6 异常处理try

  • thorw
  • try
throw表达式

使用throw引发一个异常。throw后跟一个表达式,表达式类型就是抛出的异常类型。

throw runtime_error("data must refer to same ISBN");

通过throw抛出一个runtime_error类型的错误,终止当前函数,并把控制权转移给能处理该异常的代码。

try语句块
try {
    program-statements
} catch (exception-declaration) {
    hanlder-statements
} catch (exception-declaration) {
    hanlder-statements
}//...

try语句块内声明的变量在块外无法访问,特别是在catch子句内无法访问。

try{
    // 程序代码
}catch(runtime_error err){
    // 处理异常,比如输出错误信息,原因等
    cout<<"类型不一致";
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值