c语言break语句作用范围,C语言程序设计中break语句分析

摘 要: 在C语言程序设计课程中,break语句有两个作用:一是应用于switch语句中,可以结束多分支选择结构;二是应用于循环结构中,可以结束本层循环。通过实例分析出break语句使用的条件,break语句的功能,以及注意事项,明确了break语句的使用方法。

关键词: C语言程序设计; break语句; switch语句; 循环结构

中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2013)12-48-02

Analysis on “break” in course of C language programming

Li Xinran, Zhao Shanlin

(North University of China, College of Computer and Control Engineering, Taiyuan, Shanxi 030051, China)

Abstract: In the course of C language programming, the break statement has two functions. First, it is used in the switch statement, which can end Select Case. Second, it is applied to a loop structure, which can end this layer circulation. By analyzing the examples, the application conditions and functions of the break statement are revealed as well as things to note, and its application methods are clarified.

Key words: C language programming; break statement; switch statement; loop structure

0 引言

在C语言程序设计课程中,break语句的功能非常容易理解,在switch语句中可以利用break语句结束switch结构;在循环结构中可以利用break语句结束循环。但是,很多人并不清楚在什么条件下使用break语句,本文着重分析break语句的使用条件,以及break语句的常见用法。

1 break语句在switch语句中的应用

switch语句是多分支选择语句,一般形式[1]:

switch(表达式)

{

case 常量表达式1: 语句1; [break;]

case 常量表达式2: 语句2; [break;]

case 常量表达式n: 语句n; [break;]

default : 语句n+1; [break;]

}

switch语句执行过程是[2]:

⑴ 计算switch语句表达式的值;

⑵ 依次与1-n个常量做比较,当表达式的值与常量相等时,执行case后的语句;

⑶ 当执行break语句时,结束switch语句;

⑷ 如无break,则从匹配的case语句起,一直执行到break或switch语句末尾为止;

⑸ 如无匹配的case值时,则执行default相应语句。

switch语句说明:

⑴ switch后括号内的表达式可以是任意类型,会自动转化为整型;

⑵ 每个常量表达式的值必须互不相同;

⑶ 执行完一个case后边的语句后,转到下一个case继续执行,可以用break强制程序在执行完一个case后跳出switch结构。如果所有case中的常量表达式都不符合,则执行default后面的语句;

⑷ case后的多条语句不必用{}括起来。

由此可见,对于break语句的使用,当执行完某个case常量表达式后面的语句,想要结束switch语句,此时应该在相应语句的后面执行break语句。例如:

main()

{ int x=1,y=0,a=0,b=0;

switch(x)

{ case 1:

switch(y)

{ case 0: a++; break;

case 1: b++; break;

}

case 2: a++; b++; break;

case 3: a++; b++;

}

printf(“\na=%d,b=%d”,a,b);

}

/*运行结果为:a=2,b=1。*/

分析运行结果,由于case 1:语句中是switch语句的嵌套,而且嵌套的switch语句后面没有执行break语句。如果在内嵌的switch语句后面执行break语句,则运行结果为:a=1,b=0,此时执行了break语句,就从switch结构中结束了。

2 break语句在循环结构中的应用

在循环结构中使用break语句的形式是“break;”,break语句的功能是强行结束循环,转向执行循环语句的下一条语句[3]。break执行流程如图1所示。

[表达式] [表达式] [语句][语句] [break;][yes][no]

图1 break语句执行流程图

如图1所示,当循环中执行了break语句,循环将提前结束。那么在什么样的条件下,循环结构中需要使用break语句,对此我们通过一个例题,来分析使用break语句的条件。

例题:判断某一个一位数n是否在一个不高于四位的整数m中出现。判断n是否在m中出现,需要将n与m中的每一位数进行比较,分离m中的每一位数,可以借助于算数运算符的求余和除,如果n==m%10,说明n在m中出现了,此时需要提前结束循环,这时要使用break语句。如果n!=m%10,那么就需要不断求新的m,利用m=m/10求得新的m;重复n与m%10的比较过程。通过分析得知,循环结束有两种可能,一种是n在m中出现了提前结束循环;另一种是n在m中没出现,当m的值变为0时结束的循环。由于此时不能判断是什么原因结束的循环,所以我们必须借助于标示变量来区别这两种情况。先将标示变量flag的值置为1,如果n在m中出现,则标示标量flag的值置为0。如果n没在m中出现标示变量的值不变,这样结束循环后,可以通过标示变量的值来判断n在m中是否出现。

通过上述分析得到循环中使用break语句的条件:当存在着两个独立的条件都可以使循环结束时,提前结束循环的条件就是使用break语句的条件;另外一个结束循环的条件作为控制循环的变量。此种用法通常借助标示变量来区别结束循环的原因。使用break语句时候,还需注意break语句只能结束本层循环,不能影响外层循环。

判断某一个一位数n是否在一个不高于四位的整数m中出现的算法实现如下:

main()

{ int m,n,flag=1;

scanf("%d%d",&m,&n);

while(m!=0)

{ if(n==m%10)

{ flag=0;

break;

}

m=m/10;

}

if(flag) printf("no\n");

else printf("yes\n");

}

3 结束语

本文分析了C语言程序设计课程中break语句的使用方法。在switch语句中,可以结束多分支选择结构;在循环结构中,可以结束本层循环。同时分析出在两种结构中使用break语句的条件,并举例说明break语句的用法和需注意的要点。通过本文对break语句用法的分析,能让学习C语言程序设计课程的学生更准确地掌握break语句的用法,为学好结构化程序设计语言的选择结构和循环结构程序设计打好基础。

参考文献:

[1] 谭浩强.C程序设计[M].清华大学出版社,2001.

[2] 赵山林.C语言程序设计[M].人民邮电出版社,2012.

[3] 赵山林.C语言程序设计[M].高等教育出版社,2010.

[4] 姚林.C语言程序设计[M].人民邮电出版社,2010.

[5] 王敬华,林萍.C语言程序设计[M].清华大学出版社,2009.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值