C语言程序设计 课件 任务2.4 循环结构的使用_第1页
C语言程序设计 课件 任务2.4 循环结构的使用_第2页
C语言程序设计 课件 任务2.4 循环结构的使用_第3页
C语言程序设计 课件 任务2.4 循环结构的使用_第4页
C语言程序设计 课件 任务2.4 循环结构的使用_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

高级语言程序设计模块二程序设计基础任务2.4循环结构的使用C语言程序设计基础与实践课程组04技能点拓展03技能点详解02技能点分析目录CONTENTS任务2.4循环结构的使用01问题引入05技能点检测一问题引入早在公元三世纪,魏晋时期的数学家刘徽利用割圆术,用圆内接六边形起算,令边数加倍,以圆内接正3*2n边形的面积为圆面积的近似值,从而进一步可以算出圆周率。南北朝时期杰出的数学家祖冲之,更是将圆周率精确到小数第7位。无论是刘徽还是祖冲之,他们都付出了常人难以想象的心血重复进行了大量的运算。科技发达的今天,我们可以运用计算机里的循环结构来帮助我们进行这些重复的操作,那么如何编写循环结构的程序呢?04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务2.4循环结构的使用二技能点分析1.了解循环的概念和意义2.掌握while循环和do…while循环的语法和应用3.掌握for循环的语法和应用4.掌握循环嵌套的方法5.能够使用循环结构解决实际问题学习目标1.什么是循环结构?实现循环结构的语句有哪些?2.while循环和do...while循环的区别是什么?3.for循环的使用变体形式有哪些?4.什么情况下需要使用嵌套循环?学期预习04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务2.4循环结构的使用三技能点详解在一定的条件下,去重复执行一组语句,这样的语句结构称为“循环结构”,被重复执行的那组语句被称为“循环体”。循环结构在程序设计中的应用是极为广泛的,下面是大多数编程语言中循环语句的流程图:图2.4.1循环语句流程图三技能点详解C语言提供了以下几种循环类型,如表2.4.1所示:表2.4.1循环语句描述对照表三技能点详解——1while循环只要给定的条件为真,C语言中的while循环语句就会重复执行一组目标语句。C语言中while循环的语法:在这里,循环体语句可以是一个单独的语句,也可以是几个语句组成的代码块。条件可以是任意的表达式,当为任意非零值时都为true。当条件为true时执行循环体。当条件为false时,退出循环,程序流将继续执行紧接着循环的下一条语句。三技能点详解——1while循环

While循环语句流程图如图2.4.2所示:图2.4.2while循环语句流程图在这里,while循环的关键点是循环可能一次都不会执行。当条件为false时,会跳过循环主体,直接执行紧接着while循环的下一条语句。三技能点详解——2do...while循环不像for和while循环,它们是在循环头部测试循环条件。在C语言中,do...while循环是在循环的尾部检查它的条件。do...while循环与while循环类似,但是do...while循环会确保至少执行一次循环。C语言中do...while循环的语法:请注意,条件表达式出现在循环的尾部,所以循环中的循环体语句会在条件被测试之前至少执行一次。如果条件为真,控制流会跳转回上面的do,然后重新执行循环体语句。这个过程会不断重复,直到给定条件变为假为止。三技能点详解——2do...while循环do...while循环语句流程图如图2.4.3所示:图2.4.3do...while循环语句流程图三技能点详解——3for循环for循环允许您编写一个执行指定次数的循环控制结构。C语言中for循环的语法:下面是for循环的控制流:表达式1通常是为循环变量指定初值,会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。接下来,会判断表达式2,如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着for循环的下一条语句。三技能点详解——3for循环在执行完for循环主体后,控制流会跳回上面的表达式3去执行。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for循环终止。for循环语句流程图如图2.4.4所示:图2.4.4for循环语句流程图三技能点详解——4嵌套循环C语言允许在一个循环内使用另一个循环,下面从语法和流程图的角度给大家阐述这个概念。C语言中嵌套for循环语句的语法:嵌套for循环流程图如图2.4.5所示:图2.4.5嵌套for循环流程图三技能点详解——4嵌套循环C语言中嵌套while循环语句的语法:嵌套While循环流程图如图2.4.6所示:图2.4.6嵌套while循环流程图三技能点详解——4嵌套循环C语言中嵌套do...while循环语句的语法:嵌套do...while循环流程图如图2.4.7所示:关于嵌套循环有一点值得注意,您可以在任何类型的循环内嵌套其他任何类型的循环。比如,一个for循环可以嵌套在一个while循环内,反之亦然。图2.4.7嵌套do...while循环流程图三技能点详解——5无限循环如果条件永远不为假,则循环将变成无限循环。for循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。案例2.4.1while循环在这个案例中,我们先定义一个整型变量,并对其赋值10,然后通过while循环将其值增加到20。/**********************************************内容简述:通过while循环将变量的值由10增到20。**********************************************/#include

<stdio.h>

intmain(void){

inta=10;

while(a<=20) { printf("a的值:%d\n",a); a++; }printf("a的值:%d\n",a);

return0;}三技能点详解——案例案例2.4.2do...while循环在这个案例中,我们先定义一个整型变量,并对其赋值10,然后通过do...while循环将其值增加到20。/***********************************************内容简述:通过do...while循环将变量的值由10增到20。***********************************************/#include

<stdio.h>

intmain(void){

inta=10;

do { printf("a的值:%d\n",a); a++; }while(a<=20);printf("a的值:%d\n",a);

return0;}三技能点详解——案例案例2.4.3for循环我们先定义一个整型变量,并对其赋值10,然后通过for循环将其值增加到20。/***********************************************内容简述:通过for循环将变量的值由10增到20。***********************************************/#include

<stdio.h>

intmain(void){

inta;

for(a=10;a<=20;a++) { printf("a的值:%d\n",a); }

return0;}三技能点详解——案例案例2.4.4嵌套for循环利用嵌套for循环输出2-50内的所有质数。/***********************************************内容简述:利用嵌套for循环输出2-50内的所有质数。***********************************************/#include

<stdio.h>

intmain(void){

int

i,j

for(i=2;i<50;i++) {

for(j=2;j<=i-1;j++)//用2到i-1作为除数去验证

{

if(!(i%j))//如果i能被j整除,则不是质数,余下的循环就无需进行

break;

}

if(j>i-1)//在整个循环过程中i都没有被任何一个除数j整除,故是质数

printf("%d是质数\n",i);

}

return0;}三技能点详解——案例案例2.4.5嵌套while循环36块砖,36人搬,男搬4,女搬3,两个小孩抬一砖。要求一次全搬完,问男、女、小孩各若干?三技能点详解——案例/**************************内容简述:搬砖问题。**************************/#include

<stdio.h>intmain(void){

intmen=1,women,children;

while(men<=8)//男人的取值范围在1到8之间 { women=1;

while(women<=11)//女人的取值范围在1到11之间 { children=36-men-women;

if(4.0*men+3.0*women+children/2.0==36.0)//利用36块砖36人

一次全搬完列等式 printf("男人有%d个,女人有%d个,小孩有\%d个。\n",men,women,children); women++; } men++;

}

return0;}三技能点详解——案例案例2.4.6

嵌套do...while循环打印一个由*组成的5行的直角三角形。/****************************************内容简述:打印一个由*组成的5行的直角三角形。****************************************/#include

<stdio.h>

intmain(void){

inti=1,j;

do { j=1;

do { printf("*"); j++; }while(j<=i);//内层do...while控制每一行的*个数 printf("\n");//每一行打印完后要换一行

i++; }while(i<=5);//外层do...while控制要打印的行数

return0;}三技能点详解——案例案例2.4.7

无限循环通过该案例演示一个无限循环。/*****************************内容简述:无限循环演示。*****************************/#include

<stdio.h>

intmain(void){

for(;;) { printf("该循环会永远执行下去\n"); }

return0;}三技能点详解——案例04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务2.4循环结构的使用四技能点拓展循环控制语句:循环控制语句能够改变代码的执行顺序,通过它你可以实现代码的跳转。C提供了下列的循环控制语句,如表2.4.2所示:表2.4.2循环控制语句描述对照表四技能点拓展——1break语句C语言中break语句有以下两种用法:1)当break语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句;2)它可用于终止switch语句中的一个case。如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),那么break语句用在哪一层循环就会结束整个相应的循环,跳到该循环的后续语句处去执行。C语言中break语句的语法:四技能点拓展——2continue语句C语言中的continue语句有点像break语句。但它不是强制终止,continue会跳过当前循环体中它后面的其它语句,提前结束本次循环,直接去判断循环条件,以决定是否进入下一次循环。注意,该语句只能用在C语言的循环结构中。C语言中continue语句的语法:四技能点拓展——3goto语句C语言中的goto语句允许把控制无条件转移到同一函数内的被标记的语句。注意:在任何编程语言中,都不建议使用goto语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用goto语句的程序可以改写成不需要使用goto语句的写法。C语言中goto语句的语法:四技能点拓展——3goto语句在这里,label可以是任何除C关键字以外的纯文本,它可以设置在C程序中goto语句的前面或者后面,如图2.4.14所示:图2.4.14goto语句执行示意图04技能点拓展03技能

温馨提示

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

评论

0/150

提交评论