目录

1、break与continue语句

2、goto语句

3、exit()函数

1、break与continue语句

有时,需要在循环体中提前跳出循环,或满足某种条件下,不执行循环中剩下的语句而立即从头开始新的一轮循环,这时就要用到break和continue语句。

1、break语句

在switch语句中break的作用为在case子句执行完后,通过break语句是控制立即台哦出switch结构。在循环中,break语句作用在于在循环体中测试到应立即结束循环时,使控制跳出循环结构,转而执行循环语句后面的第一条语句。

示例:

while(表达式1)
{...
if(表达式2) break;//满足条件后跳转到循环后的第一条语句
...
}

使用示例:将用户输入的小写字母转换成大写字母,直到输入非小写字母字符:

#include <stdio.h>
int main()
{char c;
while(1)
{c=getchar();
if(c>='a'&&c<='z')
putchar(c-'a'+'A');
else
break;}
return 0;
}

在使用break语句时,注意以下几点:

(1)break语句只可用于switch、while、do-while、for语句中。

(2)在嵌套循环的情况下,break只能终止且跳出包含它最近一层的循环体。

如:

for(...)
{
while(...)
{...
if(...) break;
...}
...  //if条件成立后跳转到这里
}

(3)在嵌套循环下,若想让break跳出最外层的循环体。可通过设立一标志变量tag,然后在每层循环后加上一条语句:if(tag) break;其值为1表示跳出循环体,为0不输出。

如:

int tag=0;
for(...)
{
while(...)
{..
if(...){tag=1;break}  //跳出当层循环
...}
if(tag) break; //跳出当层循环
...
}
...  //跳转到此

2、continue语句

与break不同在于,在循环体中它只会跳过continue语句后面循环体中尚未执行的语句,开始下一次循环,即仅结束此次循环的执行,并不终止整个循环的执行。

示例如下:

#include <stdio.h>
int main()
{int a,i,num=0.
float sum=0;
for(i=0;i<10;i++)
{ scanf("%d",&a);  //输入一整数
if(a<=0) continue; //如果为负,则输入下一个整数
num++;             //正数个数+1
sum+=a;            //整数和累加
}printf("%d plus integer's sum:%.0f\n",num,sum);
printf("average value:%.2f\n", sum/num);
return 0;
}

其他与break类似。

2、goto语句

goto语句的作用是在不需要任何提交的情况下直接使程序调转到该语句标号所标识的语句去执行。

如:这是用来求1~100的累计和的程序,goto与条件语句配合使用构成了循环。

#include <stdio.h>
int main()
{int i=1,sum=0;
loop:sum+=i++;
if(i<=100) //如果i小于或等于100
goto loop; //转到标号为loop的语句去执行
printf("sum=%d\n",sum);
return 0;
}

3、exit()函数

exit()函数的作用是终止整个程序的执行,强制返回到操作系统。调用该函数一般要嵌入头文件stdlib.h。

使用示例如下:输入三角形的边长,求三角形的面积。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{float a,b,c;
float s,area;
printf("input the length of three edges of triangle:");
scanf("%f%f%f",&a,&b,&c);
if(a<=0||b<=0||c<=0)
{printf("the length of three edges of triangle is error!\n");
exit(-1);
}s=(a+b+c)/2;s=s*(s-a)*(s-b)*(s-b);if(s<0){printf("the length of three edges of triangle is error!\n");exit(-1);}area=(float)sqrt(s);printf("area=%.2f\n",area);return 0;
}

运行结果:

input the length of three edges of triangle:3 4 5

area=6.00

input the length of three edges of triangle:3 -4 5

the length of three edges of triangle is error!

因为操作中存在求平方根的操作,这要用到数学库函数sqrt。sqrt函数带有一个参数,它的功能是返回参数的平方根。

C语言程序-循环结构(2)相关推荐

  1. c语言程序设计 徐庆生,C语言中循环结构程序课的教学设计与探讨.doc

    C语言中循环结构程序课的教学设计与探讨 摘要:循环结构的程序设计是面向过程的程序设计课程的核心部分,掌握好循环结构的程序设计技术对学好此类课程至关重要.本文重点介绍了"C语言程序设计&quo ...

  2. c语言 char c1,c2; for (c1='0',C语言-5循环结构(PPT)复习课程.ppt

    C语言-5循环结构(PPT)复习课程.ppt 第五章 循环结构程序设计;课程引入;第五章 循环结构程序设计;5.1 while 语句;例1:求;1. do-while循环语句的形式 do 循环体 wh ...

  3. 单片机c语言三种经典程序结构,单片机C语言程序的结构和设计精选.docx

    单片机C语言程序的结构和设计精选 实验五 单片机C语言程序的结构和设计一.实验目的1. 掌握单片机C语言的程序结构:2. 掌握单片机C语言程序的编写和调试方法:3. 掌握MSP430FG2553基本I ...

  4. c语言里凤霞答案,C语言中循环结构的教学方法研究

    摘要:文章从C语言课程的教学现状入手,分析了大班教学模式存在的问题,提出了新的教学方法.循环结构是C语言教学中的重点和难点.本文以双重循环中九九乘法表的输出为例探讨了在教学过程中如何设计才能把一个复杂 ...

  5. c语言 循环结构 ppt,C语言中 循环结构.ppt

    <C语言中 循环结构.ppt>由会员分享,可在线阅读,更多相关<C语言中 循环结构.ppt(42页珍藏版)>请在皮匠网上搜索. 1.第五章循环控制结构,1,本章知识点:,whi ...

  6. 循环结构c语言乘电梯,C语言程序设计循环结构之“四要素学习法”

    摘要:C语言程序设计中循环结构是顺序.选择.循环三大基本结构之一,功能强大,使用灵活方便,但是学生学习难度比较大.该文以累加和为切入点深入分析循环结构特点,总结出循环结构"四要素学习法&qu ...

  7. c语言永真循环格式,C语言的循环结构.ppt

    C++语言的循环结构,杨 基 伦 在程序设计工作中,为了完成既的任务,必须有效地控制程序流程,也就是要控制好语句的执行顺序.程序的流程控制有多种方式,但基本上有三种:即顺序控制.条件分支控制和循环控制 ...

  8. c语言有关循环结构运用的题,应用C语言循环结构解决等差数列求和问题微课设计研究...

    高妍 [摘 要]本文以应用C语言循环结构解决等差数列求和问题作为微课主要内容,阐述了对微课设计进行的研究与探索. [关键词]C语言:循环结构:微课 当今,信息化高速发展,数字技术正在影响和改变着我们生 ...

  9. Linux嵌入式学习---c语言之循环结构

    Linux嵌入式学习---c语言之循环结构 一.while语句循环 1.1一般形式 1.2累加求和 二.do...while语句循环 2.1do....while语句一般形式 2.2do....whi ...

最新文章

  1. 基于Java的webapp_几乎所有基于Java的web app都需要Model 2 (part II) (转)
  2. Discriminative Modeling vs Generative Modeling
  3. utf8乱码解决方案[适合tomcat部署的jsp应用]
  4. Linux报错:Syntax error: “(“ unexpected解决办法
  5. 启动设备ar1失败 错误代码2_设备启动系列(2)寿力空压机
  6. TypeScript里的完整函数定义语法
  7. 企业大数据的主要竞争优势
  8. 短视频是如何赚钱的?切入短视频风口的3种玩法
  9. 第九讲 函数间接展开成幂级数
  10. android pdf转word开发,如何在Android手机上将PDF转换为Word文档
  11. Android 调用系统拍照后返回的图片变小了(变模糊了)
  12. FSR402电阻式薄膜压力传感器
  13. 建设银行查看完整卡号
  14. 对称加密+非对称加密,实现数据安全传输
  15. 基于Docker的PaaS平台建设实践
  16. Hasor-RSF —— 分布式服务框架
  17. 第一章 Python基础
  18. Leaving fence domain… found dlm lockspace /sys/kernel/dlm/rgmanager
  19. 化工集团如何制定数字化转型策略
  20. python爬取好友微信地区_python爬取微信信息--显示性别/地域/词云(附代码)

热门文章

  1. php中的if嵌套,PHP if语句的嵌套
  2. 生活中的技术——从数学的角度量化计算征友的满意度,just funny:)
  3. springboot基于微信小程序的在线办公系统
  4. dotween曲线运动 unity_【Unity3d游戏开发】游戏中的贝塞尔曲线以及其在Unity中的实现...
  5. 被炸的服务器等待修复,萌萌军团服务器无法登录怎么办? 炸服奖励怎么领取
  6. 【毕业设计】深度学习 opencv python 实现中国交通标志识别
  7. 天津天地伟业程序员怎么样_第一批市级制造业单项冠军培育企业名单公布 天津制造业 铸造创新驱动发展强引擎...
  8. java常用类库以及集合
  9. Centos使用Docker搭建Lamp环境,一步到位
  10. 智慧安全·御见未来 蓝盾股份重磅发布六款安全产品及解决方案