迭代语句以及跳转语句

while语句:

while的条件部分可以是一个表达式或者一个带初始化的变量声明

书中原话:定义在while条件部分或者while循环体内的变量每次迭代都经历从创建到销毁的过程

如下面的代码,程序会输出10个2

int cc = 1;  
	while (int i = 1) { 
		cc++;
		i++;
		std::cout << i << std::endl;
		if (cc>10) break; 
	}
	//std::cout<<i<<std::endl; //这句出错,while之外i不可见

在循环体中不允许重新声明或初始化条件语句中的声明。

cin是一个流对象,而>>运算符返回左边的流对象,也就是说cin>>val返回cin,于是while(cin)等同于while(cin>>val),也就是流是否读取成功

while(cin)  =====> while(!cin.fail())              //while the stream is OK

for语句:

for语句其实就相当于while语句的变形:

for(init-statement ; condition ; expression)

statement

相当于

{ //此处加花括号是因为定义在for语句头中的变量,在for循环体外是不可见的

init-statement;

while(condition){

statement;

expression;

} }

init-statement必须是声明语句(初始化?)、表达式语句、或者空语句。同时,他可以定义多个对象,但是因为它只能有一个声明语句,所以,每个变量的基础类型必须相同。

我们可以省略for语句头的某些部分,来使代码可读性更高。for语句头的三个部分都可以被省略

如果省略了条件语句部分,则for循环的条件部分会一直为true

范围 for 循环:

for(declarration : expression)

statement

expression必须是一个序列

如果需要对序列中的元素执行写操作,循环变量声明成引用类型。

不能通过范围 for 循环语句增加vector对象(或其他容器)的元素,因为在范围 for 语句中,预存了end()的值。一旦在序列中添加(删除)元素,end函数的值就可能变得无效。

do while 语句:

do

statement

while(conditon);

do while 语句是先执行一遍循环体中的内容后再判断条件语句。

do while 语句应该在括号包围起来的条件后面用一个分号表示语句结束。

condition不能为空,同时condition中使用的变量必须定义在循环体之外

跳转语句:

break:终止离他最近的 while、for、do while、switch语句

continue:终止最近循环中的当前迭代并立即开始下一次迭代。

只有当switch语句嵌套在迭代语句内部时,才能在switch里使用continue

goto:从共同语句无条件跳转到同一函数的另一条语句

goto 语句可用于跳出深嵌套循环

goto语句可以往后跳(跳回一个已执行的定义之前,意味着系统将销毁该变量,然后重新创建他),也可以往前跳(不能绕过一个带初始化的变量定义,声明可以)









  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值