《C++ Primer》学习笔记——第五章语句

1. 在C中对象的定义并不被视为C语言的语句,块中的所有对象定义必须出现在任何程序语句之前;由于对象的定义是C++语言的一条语句,所以可以将对象定义放在任何其他语句能够出现的地方。

2. 在condition 中定义的对象只在与if 相关的语句或语句块中可见。

3. C和C++中关键字case后面的值必须是一种整数类型的常量表达式,另外任意两个case 标签不能有同样的值,如果有则导致编译错误。

4. 普遍的误解是:只有与被匹配的case标签相关联的语句才被执行,实际上程序从该点开始执行并继续越过case边界直到switch语句结束。

5. 程序员必须显式地告诉编译器停止执行switch中的语句,这可以通过在switch 语句内的每个执行单元后指定一个break 语句来完成,在大多数条件下一个case标签的最后一条语句是break。

6. 声明语句也可以被放在switch语句的条件中如下所示switch( int ival = get_response() );ival 在整个switch语句中是可见的,但在其外面并不可见。

7. expression表达式在循环每次迭代后被计算,一般用它来修改在init-statement中被初始化的在condition中被测试的变量,如果condition 的第一次计算结果为false,则expression从不会被计算。

8. for循环中,在init-statement 中可以定义多个对象,但只能出现一个声明语句。因此所有对象都必须是相同的类型。

9. 不像其他循环语句,do while循环的条件(即condition 部分)不支持对象定义。

10. 如果一个break 语句出现在if 语句的内部,但是并不被包含在switch 或循环语句中,那么这样的break语句将导致编译错误。例如:
 // 错误: break 语句的非法出现
 if ( ptr ) {
  if ( *ptr == "quit" )
   break;
 // ...
 }
一般来说break 语句只能出现在循环或switch 语句中。

11. break语句终止最近的while,do while,for或switch 语句;continue 语句导致最近的循环语句的<font color=red>当前迭代</font>结束,执行权被传递给条件计算部分,continue 语句只有出现在循环语句中才是合法的。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值