switch、break与continue的⽤法
⼀、switch语句
switch语句格式:
{
case常量表达式1:语句1;
case常量表达式2:语句2;
…
case常量表达式n:语句n;
default :语句n+1;
}
需要注意的是:
switch语句必须使用break吗(⼀)所有case后⾯的表达式这能是这⼏种情况:1、枚举常量(有些书称为枚举元素) 2、数值常量 3、字符常量 4、常变量(只能被赋⼀个值的变量) 5、宏
(⼆)switch后⾯括号⾥的“表达式”允许是任何类型(但在VC++中只允许为int或char类型)。
(三)执⾏完⼀个case语句后,流程控制就转移到下⼀个case语句继续执⾏(case常量表达式只是起语句标号的作⽤,并不是在该处进⾏条件判断。在执⾏switch语句时,根据switch()中表达式的值到与之匹配的case语句,就从此case语句开始执⾏下去,不再进⾏判断)
例如:
switch (i)
{
case 1:语句1;
case 2:语句2;
default:语句3;
case :语句4;
}
说明:当i==1时,从case 1处开始往下⼀个不落的往下执⾏,当i==2时,从case 2处开始往下⼀个不落的往下执⾏,当i==3时,只执⾏case 3的语句,当i不等于1,2,3时,会执⾏defaulr 语句。
(四)switch是选择不是循环。如果在switch中出现了break 语句,该语句的功能只是退出switch语句转去执⾏它下⾯的语句。在switch中出现continue 是错误的,除⾮switch本⾝就属于for或while循环的⼀部分。
例1.1:
# include <stdio.h>
int main(void)
{
int val;
printf("请输⼊您要进⼊的楼层:");
scanf("%d", &val);
switch (val)
{
case 1:
printf("这是⼀楼!\n");
break;
case 2:
printf("这是⼆楼!\n");
break;
case 3:
printf("这是三楼!\n");
break;
default:
printf("没有盖到这⼀层!\n");
break;
}
return 0;
}
你输⼊1,会输出“这是⼀楼!”,输⼊2、3回分别输出“这是⼆楼!”、“这是三楼!”,当你输⼊的不是1或2或3时,会输出“没有这个楼层!”。
⼆、break 语句
break的⽤法
break如果⽤于循环是⽤来终⽌循环
break如果⽤于switch,则是⽤于终⽌switch
break不能直接⽤于if,除⾮if属于循环内部的⼀个字句
例2.1:
# include <stdio.h>
int main(void)
{
switch (1)
{
case 1:
printf("今天天⽓不好!\n");
break; //这⾥break可以⽤
printf("真的不好!\n");//这个语句不会执⾏,因为上⾯的break已经将switch终⽌
}
return 0;
}
输出结果为:
例2.2:
# include <stdio.h>
int main(void)
{
int i;
for (i=0; i<3; ++i)
{
if (3 > 2)
break; //break虽然是if内部的语句,但它终⽌的却是外部的for循环 printf("真的不好!\n"); //该语句不会被输出
}
return 0;
}
输出结果为:
例2.3:
# include <stdio.h>
int main()
{
int x = 1, y = 0, a = 0, b = 0;
switch(x) //第⼀个switch
{
case 1:
switch(y) //第⼆个switch
{
case 0:
a++;
break;//终⽌的是第⼆个switch
case 1:
b++;
break;//终⽌的是第⼀个switch
}
b = 100;
break;
case 2:
a++;
b++;
break;
}
printf("a = %d, b = %d\n", a, b);
return 0;
}
输出结果为:
例2,4:
int i, j;
<span > </span>for (i=0; i<3; ++i)
{
for (j=1; j<4; ++j)
<span > </span>break; // 在多层循环中,<style type="text/css">P { margin-bottom: 0.21cm; direction: ltr; color: rgb(0, 0, 0); text-align: j printf("任重⽽道远!\n");
}
return 0;
}
输出结果为:
三、continue 语句
continue的⽤法
1、
for (1; 2; 3)
{
A;
B;
continue;//如果执⾏continue语句,则执⾏完该语句后,会执⾏语句3,C、D会被跳过去,不会被执⾏
C;
D;
}
2、
while (表达式)
{
A;
B;
continue;//如果执⾏continue语句,则执⾏完该语句后,会执⾏表达式,C、D会被跳过去,不会被执⾏
C;
D;
}
例3.1:
int i;
i = 0;
while (i < 3)
{
printf("城关东边和南边的⼈⽐较多!\n");
printf("城⾥⼈相对较少!\n");
i++;
continue;//执⾏完continue语句后,下⾯的语句(12⾏语句)不会被执⾏ printf("天还算可以!\n");//12⾏
}
return 0;
}
输出结果为:
例3.2:
# include <stdio.h>
int main()
{
int i;
i = 0;
for (i=1; i<3; ++i)
{
printf("城关东边和南边的⼈⽐较多!\n");
printf("城⾥⼈相对较少!\n");
continue;//执⾏完continue语句后,下⾯的语句(11⾏语句)不会被执⾏ printf("天还算可以!\n");//11⾏
}
return 0;
}
输出结果为:
例3.3:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论