c语言switch中continue意义

作者&投稿:爱新觉罗生 (若有异议请与网页底部的电邮联系)
C语言一道题目中在SWitch中出现continue怎么解释,在这里continue作用是什么?~

continue是终止此次判断,返回到switch
break跳出switch

continue是配合循环语句的,与switch不直接相关。continue是转向继续循环,continue后面的语句将被跳过不执行。举例:当a的值等于1时,给b赋值1,并输出,a的值等于2时,给b赋值2,但不输出,等于0退出:
int a,b,c;
c=1;
while ( c ) {
scanf("%d",&a);
switch ( a ) {
case 0: c=0; break;
case 1: b=1; break;
case 2: b=2; continue; //如果a==2则直接转下次循环回到while循环体第1条语句执行
//而跳过执行后面的printf
}
printf("%d
",b);
}

在switch语句中一般不使用continue语句,除非switch条件分支语句中有循环语句。switch语句常用的语句是break语句,用于跳转case条件分支语句。


原因是因为continue语句的作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定.
一般形式: 

continue;


比如:

unsigned char i, j=50;
for(i=0;i<100;i++)
{
if(i>j) continue;
j=i;
}

当程序循环到i=51时,执行continue语句,结束本次循环,即不执行下面的j=i语句,而是执行i++,即i=52,故i<100,循环的条件成立,循环继续执行,直到i<100的条件不成立,for循环才终止。



其实说起来挺累的,还不如你自己去单步调试一下:
第一步:for(i=1;i<=5;i++),执行后 i的值是1
第二步:switch(i) 因为i是1所以转向case 1:
第三步:case 1:cout<<"i=1"<<endl;完成向屏幕输出"i=1"
第四步:case 2:i=1; 因为在case 1之后没有什么跳转所以顺序执行到case 2
第五步:case 3:cout<<"i=3"<<endl; 理由同上
i+=2; 上步给让i=1,所以完成操作时i值是3;
第六步:continue;精彩的在这里,这一句直接跳转到for(i=1;i<=5;i++)
第七步:for(i=1;i<=5;i++),首先是i++再完成比较此时i的值是4
第八步:switch(i) 因为i是4所以转向case 4:
第九步:case 4: cout<<"i="<<endl;完成向屏幕输出"i="
第十步:break;这句导致跳出switch(i)大括号所括起来的那部分,但还在for的循环体内。
第十一步:for(i=1;i<=5;i++),首先是i++再完成比较此时i的值是5
第十二步:switch(i)因为没有case 5所以直接跳出switch(i)大括号。
第十三步:for(i=1;i<=5;i++),首先是i++再完成比较此时i的值是6,已不满足循环条件,跳出循环。
第十四步:cout<<"i="<<i++;首先输出"i=",再出输出i的值最后i++。因为i在自加之前是6,所以输出的是 "i=6".

运行结果是:
i=1
i=3
i=
i=6

其实说起来挺累的,还不如你自己去单步调试一下:
第一步:for(i=1;i<=5;i++),执行后i的值是1
第二步:switch(i)因为i是1所以转向case1:
第三步:case1:cout<<"i=1"<<endl;完成向屏幕输出"i=1"
第四步:case2:i=1;因为在case1之后没有什么跳转所以顺序执行到case2
第五步:case3:cout<<"i=3"<<endl;理由同上
i+=2;上步给让i=1,所以完成操作时i值是3;
第六步:continue;精彩的在这里,这一句直接跳转到for(i=1;i<=5;i++)
第七步:for(i=1;i<=5;i++),首先是i++再完成比较此时i的值是4
第八步:switch(i)因为i是4所以转向case4:
第九步:case4:cout<<"i="<<endl;完成向屏幕输出"i="
第十步:break;这句导致跳出switch(i)大括号所括起来的那部分,但还在for的循环体内。
第十一步:for(i=1;i<=5;i++),首先是i++再完成比较此时i的值是5
第十二步:switch(i)因为没有case5所以直接跳出switch(i)大括号。
第十三步:for(i=1;i<=5;i++),首先是i++再完成比较此时i的值是6,已不满足循环条件,跳出循环。
第十四步:cout<<"i="<<i++;首先输出"i=",再出输出i的值最后i++。因为i在自加之前是6,所以输出的是"i=6".
运行结果是:
i=1
i=3
i=
i=6

continue; //进入下一次循环
//case 语句后面没有 continue 或break的话会继续执行下一个case的

编译错误,没得运行。

switchc语言的用法
答:c语言switch的用法如下:1、在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。2、case 后的 类型 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。3、当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break ...

C语言中switch语句什么意思
答:Switch在C语言中是保留字,其作用是进行判断选择。switch(开关语句)常和case break default一起使用。Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。直线翻译:switch语句,即“切换”语句;case即“情况”。当变量表达式所表达的量与其中一个case...

c语言switch的用法
答:c语言switch的用法如下:在C语言中,switch语句是开关语句,一般与case、break、default配合使用,对流程进行控制。switch作为一个开关,当变量表达式的值对应case中的值时,执行case后面的语句后跳出switch语句,如果都不符合则执行default后面的语句后跳出switch语句。switch语句用法规则:1.在一个switch中可以...

c语言中switch语句的用法问题
答:先说一下switch()的用法 相信你看完就能看明白这道题了。1.switch()是多分支选择语句 2.switch()括号里的表达式可以为任何类型,此题就是看其余数的值与下面 的 哪条case语句对应。3.与哪条case语句对应上,就执行那条语句,直到遇到break语句退出本条 switch()语句结构,否则接着执行下面的case...

c语言switch用法举例内容是什么?
答:2、case后面的常量表达式只能是整型、字符型或枚举型常量的一种语句,结束后一定要带break,不然还会继续执行下一个case。遵守switch语句规则 switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他...

c语言switch的用法
答:c语言switch的用法就是根据表达式的值,选择执行相应的语句序列。C语言中,switch语句是一种常用的流程控制语句。它的作用是根据一个表达式的值,判断其是否等于一系列常量值中的任意一个,并执行相应的代码块。其中,expression表示要被测试的表达式,可以是任何整数类型(char、short、int、long)或枚举类型...

c语言switch的用法
答:c语言switch的用法包括:1、switch(表达式)。其中,表达式通常是整型或字符型变量。2、case常量表达式。break。case语句用于指定当表达式的值与某个常量表达式的值相等时,执行该case后面的语句。如果没有break语句,程序会继续执行下一个case的语句。3、case常量表达式,语句2break。可以有任意数量的case...

关于C语言中的switch语句变量类型的问题
答:关于C语言中switch语句的问题 在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。 即x=1时 从case 1开始执行到最后;即x=2时 从case 2开始...

...3,5,7整除,并输出一下信息之一: 要用 switch 请多多帮忙吧~_百度...
答:);printf("能同时被3,5,7整除中的2个数整除:");if(N%3==0) printf(" 3");if(N%5==0) printf(" 5");if(N%7==0) printf(" 7");break;case 3:printf("a");printf("能同时被3,5,7整除");break;} } 我参考了下面的代码,说真的写这个程序的人是个C语言高手 ...

C语言中switch的使用方法是什么?
答:m n中间应该有逗号,第二个是swtich拼写有错误,第三个是打印输入语句printf("x=%d,y=%d",x,y)有误。修正后程序的运行结果是:x=6,y=6。代码运行结果如下图所示:程序运行过程解析:1、完成变量的赋值,其中有x=1,y=1,m=1,n=1。2、执行第一个switch(m),因为m=1,所以进入case 1...