C++ primer读书笔记3(语句)

1 语句作用域
有些语句允许在控制结构内部定义变量,if(int a =5){},while(int a = 5),for(int i=0;i<Num;i++){}其中


if和while中定义的变量值就是条件判断要检验的对象,所以必须初始化。
在C++现在的标准中,for语句头中定义的变量只在for语句体中有作用,但是在之前的一些编译器中却可能不是


这样,例如在vc6中for(int i = 0;;){}这里的i可以在{}外面有作用,这和新的标准时不一样的。
2 关于 if else
好的风格是不管else的语句多么简单,最好都把其后面的语句用{}括起来。
所谓的悬垂else就是if-else体系中,if语句多余else语句。


3 关于switch
switch(exp)
{
case exp1:
break;
default:
}
switch()里面的必须是整形结果。case标号后面也必须是一个常量表达式。语句遇到匹配的case开始,到第一个


出现的break结束。
当多个case的处理情况一致时可以这样写:
case 1:
case 2:
case 3:
do something ;
break;
或者:
case 1:case 2:case 3:
do something;
break;
4 default 语句
default表示剩余的情况,或者处理没有表达的情况,加上default显得比较慎密些。


5 switch语句中定义的变量
可以在switch()中定义变量,里面可以是个复杂的表达式,但最终结果一定要是整数。在switch{}中也可以定


义变量,但是要在最后一个case标号或者default标号后面定义变量,制定这个规则是防止在case跳转中,出现


变量未定义。


6 while语句
同其他控制语句一样,在while的控制条件中,控制条件也可以是一个复杂的表达式。


7 for 语句
for语句用";"做位分隔符来表示三个语句,第一个语句为初始化语句,可以为空;第二个语句为判断控制语句,


当为空时表示判断条件为真,则可以无穷循环;第三个语句表示变量控制语句,可以为空,但是此时要在for语


句体内补上变量控制语句。


8 for语句头中多个定义
因为此处只能有一个语句,那么就必须使所有定义的对象具有相同的一般类型。
const int size = 43;
int val = 0,ia[size];
for (int ival=0,*pi=ia,&ri = val;ival != size; ++ival,++pi,++ri){}


9 do-while 语句中变量生命周期
do{
int a = 10;
}while(///);
那么a的生命期知道while前面的}就结束了,如果此时在while语句中使用a就会出现错误。


10 break
break用于结束最近的for,while,do-while,switch语句。if语句中不能有break。


11 continue 
continue 导致最近的循环语句的当次循环结束,它只能出现在for,while,do-while语句中。


12 goto语句
goto语句是个非常危险的语句,因为它让跟踪程序的控制流变的十分的困难,让程序难以理解,也难以理解。
格式 :goto label。其中标号标示符label不能与别的标示符重名。goto语句和获得所转移的控制权的带标号语


句必须位于同一个函数内。
goto 和变量定义:
begin:
int sz = get_size();
if (sz<0)
goto begin;
这个时候当跳到前面的begin时,系统会撤销变量,然后重新创建变量。所以这时候不会出现重定义的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值