标签:ret cout c++ auto for循环 作用 直接 ++i nbsp
C++中总共提供了四种跳转语句 ,分别是break、continue、goto和return语句。
(1)break语句
break语句负责终止离他最近的while、do while和for循环以及switch语句,并从这些语句之后的第一条语句开始继续执行。需要注意的是break语句只能出现在迭代语句或者switch语句内部,即break语句的作用范围是仅限于最近的循环或者switch。
举例说明:
#include <iostream> using namespace std; int main() { string buf; while(cin >> buf && !buf.empty()) { switch(buf[0]) { case ‘-‘: for(auto it = buf.begin(); it != buf.end(); ++it) //处理到第一个空白为止 { if(*it == ‘ ‘) break; //负责终止连字符case标签后面的for循环,即离开for循环 } case ‘+‘: cout << "this is test break !" << endl;; break; //控制权交到这里,终止整个switch语句,即跳到switch外 default: cout << "the other test break !" << endl; break; } } return 0; }
(2)continue语句
continue语句终止最近的循环中的当前迭代并立即开始下一次迭代,类似于break语句,continue语句只能出现在for、while和do while循环的内部,或者嵌套在此类循环里的语句以及块的内部。和break语句相似的是,出现在嵌套循环中的continue语句也仅作用于离他最近的循环。和break语句不同的是,只有当switch语句嵌套在迭代语句内部时,才能在switch里使用continue。continue语句中断当前的迭代,但是仍然继续执行循环。对于while或者do while语句来说,继续判断条件的值,而对于for循环而言,则执行序列中的下一次迭代。
举例说明:
string buf; while(cin >> buf && !buf.empty()) { if(buf[0] != ‘-‘) continue; //接着读取下一次输入 cout << buf[0] << endl;//程序执行到此处表明当前的输入是以下划线开始的 }
(3)goto语句
goto语句的作用主要是从goto语句无条件跳转到同一函数的另一条语句,需要注意的是goto语句和要转向的标签语句必须位于同一个函数之内,但在一般写代码中,不经常使用goto语句,因为它使得程序既难立即又难修改。
举例来说:
string buf; int len = 10; if(len < buf.size()) { goto lenerr; } lenerr: return;
(4)return语句
return语句终止当前正在执行的函数并将控制权返回到调用该函数的地方,常用的return语句有两种形式,即带返回值的return语句,如return 0以及不带返回值的return语句,即return;没有返回值的return语句只能用在返回类型是void的函数中,当然了,返回void的函数中不一定非要用return语句,因为在这类函数中的最后一句会隐式执行return。对于有返回值的return语句,只要该函数的返回类型不是void,则该函数内的每条return语句必须返回一个值。return语句返回值类型必须与函数返回类型相同,如果函数返回类型是bool类型,则return true或者return false,如果返回类型是整型int则返回相应的整型变量,如return 0。
举例说明:
void swap(int &v2, int &v2) { if(v1 == v2) return; //如果两个值相等,则不需要交换,直接退出函数;如果不相等则执行后面语句,交换彼此的值 int tmp = v2; v2 = v1; v1 = tmp; //此处无须显示执行return语句 }
C++中break语句、continue语句和goto语句区别
标签:ret cout c++ auto for循环 作用 直接 ++i nbsp
原文地址:https://www.cnblogs.com/wzw0625/p/13413553.html