当前课程知识点:C/C++:从基础语法到优化策略 >  Final Exam >  Final exam >  3.8 break and continue statements

返回《C/C++:从基础语法到优化策略》慕课在线视频课程列表

3.8 break and continue statements在线视频

返回《C/C++:从基础语法到优化策略》慕课在线视频列表

3.8 break and continue statements课程教案、知识点、字幕

我们再讲一讲break和continue

我们前面 在switch里面提到了break

其实在所有的循环里面包含for循环 while循环

我们都会用到break或者continue

break 和 continue 他们都是可以说是改变现有的循环的规则或者运作方式

但是他们的区别在于

如果你是用break 那么他会把当前的循环直接停掉

停掉当前的循环 然后继续往下执行

如果是continue的话 那就是说

他把当前这个loop这个循环的这次这一次的循环终止掉 然后继续下一次下一次

在这给大家看这个代码可能清晰点

我们这个程序就不去运行 看结果了

我们来看 这里面是个for循环

其实while循环也是类似的

这边我们有一个break 也就说一旦break被运行

那么这个for循环就结束了

就类似于这个地方没满足break跟 break跟

这个条件没满足 它引起的效果是一样的 直接就是for结束

然后继续往下走 碰到break之后就结束就往下走

那么这是break 不管你是在if里面的break还是放到别的地方break

只要一碰到break 离他最近的这个for就结束了

但这里面有一个问题是 如果你有两个for 双重循环会怎么样

这个留作一个问题大家去思考

那如果是continue呢 continue的作用

是说假如这边这个循环要循环100次或者很多次

然后在第一次的时候我们遇到了continue

那么他会这个循环体的continue后面的部分 在这个例子里面就是这一行

不会被执行 他就不会被执行

然后下一步是干什么 下一步继续是回来

i++继续的重新来 继续循环

他只是上一次的这个循环里面 他后面的不执行

然后整个loop 整个loop还是继续的

这是他们的最大的区别

在while里面是一样的 好

那么我们再来看一个例子

这个例子其实跟break 肯定的关系不大

但是我愿意 我希望放在这儿讲就讲一讲我们前面

在读数据的时候

比如说我们定义一个int 然后从cin读一个整数进来

那么问题是 如果我们输入的不是整数 我怎么知道他输错了 输错了

实际上是这样的 我会大致解释一下cin

如果你输的是一个字母而不是整数的话

那这时候它会出错 n就会是零

但是那么出错怎么知道他出错了

其实这个表达式你可以看成一个表达式

cin 整个这个表达式 它的值就是false

也就是cin是false 其实他的表达式就是cin cin是false

然后你可以看cin他的值是什么 那就可以了

我们再来看一下cinfish这里面

这个例子 这个例子是主要就是什么呢

打印一行 让你输一个值

你输进来 那么怎么再去读这个值

这一个循环 循环 一直循环 然后 把你输进的值放到这个数组里面

数组 第一个元素 第零个元素 第一个元素 这样一次循环里放

一旦不是数值 一旦这个地方返回的是false

那这个循环就结束了

然后结束之后 那后面就会算平均值

前面你输的那些平均值 算一下

那么我们来运行一下这个例子看看

然后他提示输第一条鱼的 最多是五条鱼 第一条鱼的是 比如说是三

第二条鱼是四 第三条是五

那么假如后面我要随便输一点别的会怎么样

这个时候cin去

这个也会变成false 变成false

false之后这个条件不成立 while就会终止断掉

然后往下走 然后算出来现有的三条鱼的平均的重量是三 是四

345的平均值是四对吧

然后出来 所以说这个cin

当然我们也可以这样 我们可以也可以在这里面去判断

if cin这样来判断是不是正确的数

这样你也可以判断他有没有出错

或者说这样if cin break这样是可以的

好 这个是我们的输入出错的时候 那输入出错之后 一旦这个出错了

那么你再去从这里面读的话他还是错的

他会告诉你你读这个还是是因为cin的值一旦变成false

所以你需要是有个专门的函数去清理这个状态

否则他会一直是错的 后面都会有问题

C/C++:从基础语法到优化策略课程列表:

Week 1 Quick start

-1.1 Basic knowledges

-1.2 Setting Out to C++

-Lecture notes

-Example code

-Quiz 1

Week 2 Data types

-2.1 Compile and link

-2.2 Integers

-2.3 Floating-point numbers

-2.4 C++ Arithmetic Operators

-Lecture notes

-Example code

-Quiz 2

Week 3 Expressions and statements

-3.1 Some operators

-3.2 for loop

-3.3 Relational expressions (> < ==)

-3.4 while loop

-3.5 Branching statements (if else)

-3.6 Logical expressions

-3.7 switch statement

-3.8 break and continue statements

-3.9 File input and output

-Lecture notes

-Example code

-Quiz 3

Week 4 Array, string and structures

-4.1 Array

-4.2 Array strings

-4.3 string class strings

-4.4 Structures, Unions and Enumerations

-Lecture notes

-Example code

-Quiz 4

Week 5 Pointers and memory management

-5.1 Pointers

-5.2 Allocate memory: C style

-5.3 Allocate memory: C++ style

-5.4 Managing memory for data

-Lecture notes

-Example code

-Quiz 5

Week 6 Functions

-6.1 Function review

-6.2 Various functions

-6.3 Recursion and pointer to functions

-6.4 Reference and const

-Lecture notes

-Example code

-Quiz 6

Week 7 Functions and optimization

-7.1 Adventures in functions

-7.2 Speedup your program

-Lecture notes

-Example code

-Quiz 7

Week 8 ARM and OpenCV

-8.1 C/C++ with ARM development board

-8.2 Some tricks in OpenCV

-Lecture notes

-Example code

-Quiz 8

Week 9 Class

-9.1 Classes in C++

-9.2 Constructors and destructors

-9.3 this pointer

-Lecture notes

-Example code

-Quiz 9

Week 10 Operator overloading and type casts

-10.1 Operators in cv::Mat in OpenCV

-10.2 Operator overloading

-10.3 Friend functions

-10.4 Automatic conversions and type casts for classes

-Lecture notes

-Example code

-Quiz 10

Week 11 Dynamic memory management and classes

-11.1 Dynamic memory and classes

-11.2 New and improved String class

-11.3 Using pointers to objects

-Lecture notes

-Example code

-Quiz 11

Week 12 Class inheritance and memory management

-12.1 Class inheritance

-12.2 Static and dynamic binding

-12.3 Access control: protected

-12.4 Inheritance and dynamic memory allocation

-Lecture notes

-Example code

-Quiz 12

Week 13 Constructor, assignment and class templates

-13.1 Constructor and assignment

-13.2 Classes with object members

-13.3 Private inheritance

-13.4 Class templates

-Lecture notes

-Example code

-Quiz 13

Week 14 CNN, exceptions in C++

-14.1 CNN for image classification

-14.2 Exceptions

-Lecture notes

-Example code

-Quiz 14

Week 15 Friends, nested classes, RTTI and type cast

-15.1 Friends

-15.2 Nested classes

-15.3 RTTI and type cast operators

-Lecture notes

-Example code

-Quiz 15

Final Exam

-Final exam

3.8 break and continue statements笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。