c循环结构break与实用_第1页
c循环结构break与实用_第2页
c循环结构break与实用_第3页
c循环结构break与实用_第4页
c循环结构break与实用_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

会计学1c循环结构break与实用breakfor(表达式1;表达式2;表达式3){

语句1

语句2}if(表达式4)

break;第1页/共17页练习exc9_1.cpp输入n,判定n是否为素数。第2页/共17页

方法:通过设置一标志变量tag,然后在每层循环后加上一条语句:if(tag)break;

其值为1表示跳出循环体,为0则不跳出。for(…){while(…){……if(…)break;…}while循环后的第一条语句}inttag=0;for(…){while(…){……if(…){tag=1;break;}……}if(tag)break;……}for循环后的第一条语句

多重循环中,break的使用问:在嵌套循环的情况下,如何让break语句跳出最外层的的循环体?第3页/共17页“百鸡问题”:一只大公鸡值5个钱,一只母鸡但值3个钱,三只小鸡值一个钱。现有一百个钱,要买一百只鸡,是否可以?若可以,给出解,要求三种鸡都有。练习exc9_2.cpp第4页/共17页自己练习一个老师问李老师:”你今年多少岁了?你太太多少岁了?“李老师说:”我年龄的平方加上我太太的年龄恰好等于1053,而我太太年龄的平方加上我的年龄等于873。你来算算吧!“exc9_3.cpp第5页/共17页练习把316这个数表示为两个数的和,其中一个数是13的倍数,另一个数是11的倍数。exc9_4.cpp第6页/共17页continue语句功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断。说明:(1)仅用于循环语句中。第7页/共17页continuefor(表达式1;表达式2;表达式3){

语句1

语句2}if(表达式4)

continue;第8页/共17页continue语句(2)在嵌套循环的情况下,continue语句只对包含它的最内层的循环体语句起作用。for(…){while(…){……if(…)continue;……}while循环后的第一条语句}第9页/共17页【例】求输入的十个整数中正数的个数及其平均值。#include<stdio.h>voidmain(){inti,a,num=0;floatsum=0;for(i=0;i<10;i++){scanf("%d",&a);//输入一整数

if(a<=0)continue;

//如果为负,则输入下一个整数

num++;//正数个数增1sum+=a;//正数和累加

}printf("%dplusinteger'ssum:%.0f\n",num,sum);printf("averagevalue:%.2f\n",sum/num);}运行结果:8plusinteger'ssum:45averagevalue:5.63假设输入的10个整数为:123–45–678910

第10页/共17页输出1~100之间不能被3整除的数,10个数为一行。练习exc9_5.cpp第11页/共17页练习根据公式π=4(1-1/3+1/5-1/7+……)计算π。程序思路:取无穷级数的有限项。|a(i)|<10-7时终止。exc9_7.cpp第12页/共17页goto语句

一般形式:goto语句标号;……语句标号:……语句标号:…………goto语句标号;或

说明:

语句标号是按标识符规定书写的符号,放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto语句配合使用。

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

第13页/共17页goto语句的应用:例:求1~100的累计和

#include<stdio.h>voidmain(){inti=1,sum=0;

loop:sum+=i++;if(i<=100)//如果i小于或等于100

gotoloop;

//转到标号为loop的语句去执行

printf("sum=%d\n",sum);}(1)goto语句可与条件语句配合使用来实现条件转移,构成循环。

(2)在嵌套循环的情况下,利用goto语句可以直接从最内层的循环体跳出最外层的循环体。

inttag=0;for(…){while(…){……if(…)gotostop;……}……}stop:for循环后的第一条语句

注意:在结构化程序设计中一般不主张使用goto语句,以免造成程序流程的混乱,使理解和调试程序都产生困难。第14页/共17页exit()函数

功能:

说明:

参数status为int型,status的值传给调用进程(一般为操作系统)。按照惯例,当status的值为0或为宏常量EXIT_SUCCESS时,表示程序正常退出;当status的值为非0或为宏常量EXIT_FAILURE时,表示程序出现某种错误后退出。

终止整个程序的执行,强制返回操作系统。

调用形式:voidexit(intstatus);头文件

<stdlib.h>第15页/共17页程序设计分析:由数学知识可知,求三角形面积的公式是:其中,a、b、c是三角形的三个边长,s=(a+b+c)/2。因此,程序中应该有三个float型变量用来存放a、b、c的值,为了方便起见,还应有一个变量存放s,最后有必要设置一个变量来存放三角形的面积值。公式中存在求平方根的操作,这要用到C语言数学库函数sqrt。sqrt函数带有一个参数,它的功能是返回参数的平方根。程序在开始接受用户输入的三角形的三个边长后,首先要对这三边作合法性检查,如三边中有某一边长度小于或等于0,则终止程序的执行,同样如果s*(s-a)*(s-b)*(s-c)为负,也要终止程序的执行。语言程序设计教程第六章循环结构程序设计C【例】

输入三角形的边长,求三角形面积。

#include<stdio.h>#include<stdlib.h>#include<math.h>voidmain(){floata,b,c;floats,area;printf("inputthelengthofthreeedgesoftriangle:");scanf("%f%f%f",&a,&b,&c);if(a<=0||b<=0||c<=0){printf("thelengthofthreeedgesoftriangleiserror!\n");

exit(-1);}

s=(a+b+c)/2;s=s*(s-a)*(s-b)*(s-c);if(s<0){printf("thelengthofthreeedgesoftriangleiserror!\n");

exit(-1);}area=(float)sqrt(s);printf(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论