版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计与项目实践清华大学出版社学生成绩的统计分析———循环程序设计项目5回顾与作业点评for语法格式do…while语法格式while…语法格式预习检查如何终止循环?continue语句和break语句格式?目标掌握continue语句掌握break语句项目任务任务5-2、强制中断循环1、如何强制结束循环?2、循环终止条件如何设定?控制转移语句对于工程控制问题,往往无法确定循环次数或循环终止条件,可根据程序运行过程中发生的某种条件中断程序的运行,即所谓的强制中断;同样的对于某些控制问题,可能希望提前结束本次循环而开始新一次的循环控制。要实现这种控制,可以采用C语言的转移控制语句break、continue和goto,以控制程序流程的走向。break语句2-1break语句可以改变程序的控制流break语句用于do-while、while、for循环中时,可使程序终止循环而执行循环后面的语句break语句通常在循环中与条件语句一起使用。若条件值为真,将跳出循环,控制流转向循环后面的语句如果已执行break语句,就不会执行循环体中位于break语句后的语句在多层循环中,一个break语句只向外跳一层一般形式为:if(表达式)break;break语句2-2跳出for循环for(;;){c=getchar();if(c=='E'||c=='e')
break;}
跳出while循环while(1){
c=getchar();if(c=='E'||c=='e')
break;}
跳出do-while循环do{
c=getchar();if(c=='E'||c=='e')
break;}while(1);案例:统计从键盘输入的若干个字符中有效字符的个数,以换行符作为输入结束。有效字符是指第一个空格符前面的字符,若输入字符中没有空格符,则有效字符为除了换行符之外的所有字符。#include<stdio.h>voidmain(){ intcount=0,ch; printf("\n请输入一行字符:"); while((ch=getchar())!='\n') { if(ch=='')
break; count++; } printf("\n共有%d个有效字符。\n",count);}break语句案例内存chcountH0_请输入一行字符:Helloworld共有5个有效字符1循环执行5次5break案例2-1【案例5-9】求300以内能被17整除的最大的3个正整数。分析:如果m被n整除,则m%n=0,所以,求300以内内能被17整除的最大的3个正整数,取x的值从300开始,如x%17=0,表示x被17整除,只找三个这样的数,用一个计数器count计数。break案例2-2voidmain(){intx;intcount=0;for(x=300;x>=17;x--){if(x%17==0){count++;if(count>3)break;
printf("x=%d\n",x);
}}}continue语句2-1continue语句只能用在循环里continue语句的作用是跳过循环体中剩余的语句而执行下一次循环对于while和do-while循环,continue语句执行之后的动作是条件判断;对于for循环,随后的动作是变量更新
一般形式为:if(表达式)continue;continue语句2-2while(…){
…………continue;
…………}while(…){
…………
break;
…………}跳出整个循环继续下一次循环案例:求整数1~100中个位不为3的所有数的累加值#include<stdio.h>voidmain(){ inti,sum=0; for(i=1;i<=100;i++) { if(i%10==3)
continue; sum+=i; } printf("sum=%d\n",sum);}contine案例内存isumnull0131循环执行到i=1378输出:sum=45701循环执行到i=1011014570continue语句案例2-1【案例5-10】求300以内能被17整除的所有正整数。分析:将从1到300的所有数x用来判断是否被17整除。continue语句案例2-2voidmain(){
intx;for(x=1;x<=200;x++){
if(x%17!=0)continue;printf(“%d”,x);}}goto语句2-1goto语句是一条无条件转移语句,goto语句是一种让程序员任意控制流程的有效工具,充分表现程序的灵活性。在结构化程序设计,goto语句会使程序流程无规律、可读性差,因此,建议尽量少用或不用该语句。当需要跳出某种嵌套较深的结构时,如果使用break语句,只能跳出break所在层。如果一次要跳出二层甚至更多层,这时使用goto语句,就是不错的选择。goto语句的格式:goto标识符;其中标识符是语句转移的目标。该标识符必须局限在当前函数的标号。标号的格式与变量名相同,并在其后跟冒号。goto语句2-2用if语句和goto语句构成循环。可以利用if和goto语句实现循环,这种方式也是早期非结构化程序设置实现循环的一种方法。其处理流程如图5-17。goto语句案例2-1【案例5-11】编程,求1~10的平方根。分析:
利用if和goto语句构成一个循环,设置变量num,其取值为1~100,并计算其平方根,当num>100退出循环。goto语句案例2-2voidmain(){intnum;printf("num\troot\n");
num=1;loop:if(num<=10)
{
printf("%d\t%5.3f\n",num,sqrt(num));
num++;
gotoloop;}}goto语句案例2-12、利用goto实现跳出循环【案例5-12】用逐个判别法求2~100之间的所有素数。
分析:将2~100的所有整数逐个判断,如果是素数,则打印输出。程序流程如图5-19所示。goto语句案例2-2#include<stdio.h>#include<math1voidmain(){inti,j,c;for(i=2;i<100;i++){for(j=2;j<i/2;j++)if(i%j==0)gotoex;printf("%4d",i);c++;if(c%5==0)printf("\n");ex:;}}任务分析与实施任务分析统计某门课程的平均成绩。对于某个班级学生某门课程平均成绩的统计,需要对每个学生该
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年监控工程(监控安装)考题及答案
- 2025年大学三年级(口腔医学)口腔颌面外科学试题及答案
- 2025年高职体育保健与康复(运动康复训练)试题及答案
- 2025年高职中草药栽培与加工技术(中药炮制基础)试题及答案
- 2025年高职粮油储藏与检测技术(粮油储藏检测)试题及答案
- 2025年个体诊所医疗器械自查报告范文
- 深度解析(2026)GBT 18310.4-2001纤维光学互连器件和无源器件 基本试验和测量程序 第2-4部分试验 光纤光缆保持力
- 深度解析(2026)《GBT 18223-2000木工机床 升降台 术语》(2026年)深度解析
- 深度解析(2026)《GBT 18104-2000魔芋精粉》
- 深度解析(2026)《GBT 17980.91-2004农药 田间药效试验准则(二) 第91部分杀菌剂防治烟草赤星病》
- 水肥一体化技术工程建设实施方案
- PLC控制十字路口交通信号灯
- 韩国社会与文化知到智慧树章节测试课后答案2024年秋浙江越秀外国语学院
- 上海市东实验学校2025届高考冲刺押题(最后一卷)英语试卷含解析
- 电动机课件一等奖
- 大学生个人职业生涯规划课件模板
- 竹塑复合材料产业基地项目可行性研究报告
- 艺术哲学:美是如何诞生的学习通超星期末考试答案章节答案2024年
- DB34-T 4840-2024 农村供水工程运行维护规程
- 2024年秋季新人教版八年级上册物理全册教案(2024年新教材)
- 沪科版九年级数学24.2圆的性质-垂径定理名师公开课获奖课件百校联赛一等奖课件
评论
0/150
提交评论