C++语言基础|转移语句
转移语句
C++语言提供了三个转移语句:break
语句、continue
语句和goto
语句。主要用于改变程序中语句的执行顺序,使程序从某一语句有目的地转移到另一语句继执行。 1
1. break语句
break语句的格式如下:
break;
- break语句的功能是:中断所在循环体或switch…case语句块,跳转本层循环体外。
【例1】判断一个数是否为素数。
分析:素数是不能被大于或等于2的数整除的数。用一个循环依次判断此数是否
被大于等于2的数整除,一旦被一个数整除,就用break跳出循环,宣布此数不是
素数。
int main()
{
int i,n;
while(1)
{
cin>>n;
if(n<=1)
break;
for(i=2;i<n;i++)
if (n%i==0) break;
i>=n ? cout<<n<<"是素数\n" : cout<<n<<"不是素数\n";
}
return 0;
}
注意:
既然break
语句用来中断循环,它一定要用在循环体或swtich...case
体中,用在其它地方就会出错。
2. continue语句
continue语句的格式如下:
continue;
continue
语句只能用在循环语句的循环体内。在循环执行的过程中,如果遇到
continue语句,程序将结束本次循环,接着开始下一次的循环。
【例2 】使用continue改写判断素数的程序:
int main()
{
int i,n;
while(1)
{
cin>>n;
if(n<=1)
break;
for(i=2;i<n;i++)
if (n%i==0) continue;
i>=n ? cout<<n<<"是素数\n" : cout<<n<<"不是素数\n";
}
return 0;
}
3. goto语句
goto语句的格式如下:
goto 语句标号;
- 程序跳到语句标号位置继续执行。语句标号属于标识符,格式如下:
语句标号: 语句
- 其中的语句可以是任意语句,如:{、while()、for()…等。
- goto语句的使用限制在一个函数体内,即goto语句只能在一个函数范围内进行
语句转移。在同一函数中,语句标号应该是唯一的 .
【例3】使用goto 语句改写判断素数的程序
void main()
{
int i,n;
while(1)
{
cin>>n;
if(n<=1)
break;
for(i=2;i<n;i++)
if (n%i==0) goto goon;
goon: i>=n ? cout<<n<<"是素数\n" : cout<<n<<"不是素数\n";
}
return 0;
}
本教程仅供教学使用,参考教材 :《C++语言程序设计教程》,杨进才、沈显君编著,清华大学出版社,2022年1月第4版 ↩︎