我是靠谱客的博主 俊逸板栗,最近开发中收集的这篇文章主要介绍switch、break与continue的用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、switch语句

switch语句格式:

{

case常量表达式1:语句1;

case常量表达式2:语句2;

case常量表达式n:语句n;

default  :语句n+1;

}

需要注意的是:

(一)所有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 = %dn", a, b);
	
	return 0;
}
输出结果为:

例2,4:

# include <stdio.h>

int main()
{
	int i, j;

    <span style="white-space:pre">	</span>for (i=0; i<3; ++i)
	{
		for (j=1; j<4; ++j)
		<span style="white-space:pre">	</span>break;   //  在多层循环中,<style type="text/css">P { margin-bottom: 0.21cm; direction: ltr; color: rgb(0, 0, 0); text-align: justify; }P.western { font-family: "Times New Roman",serif; font-size: 10pt; }P.cjk { font-family: "宋体"; font-size: 10pt; }P.ctl { font-family: "Times New Roman",serif; font-size: 10pt; }break只能终止最里面包裹它的那个循环</style>break只能终止最里面包裹它的那个循环
		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:

# include <stdio.h>

int main()
{
	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:

# include <stdio.h>

int main(void)
{
	int i = 0, s = 0;
	do
	{
		if (i%2)
		{
			i++;
			continue;//执行完该语句会跳到14行
		}
		i++;
		s+=i;
	} while(i < 5);//14行

	printf("%dn",s);

	return 0;
}
输出结果为;



【所有代码均在windows系统下VC++6.0下运行通过】

如有错误,敬请指正

最后

以上就是俊逸板栗为你收集整理的switch、break与continue的用法的全部内容,希望文章能够帮你解决switch、break与continue的用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部