找回密码
 立即注册

微信扫码登录

使用验证码登录

搜索
查看: 70|回复: 0

09.第09节课第五章循环结构程序设计

[复制链接]

6476

主题

3

回帖

1万

积分

管理员

积分
19556
发表于 2024-4-15 08:47:55 | 显示全部楼层 |阅读模式
好同学们,大家好,今天呢,我们我来为大家讲解一下关于我们C语言程序设计当中。循环结构,程序设计这一章的内容那么大家呢?在之前呢?可能只接触过我们的顺序程序。设计以及呢,选择程序设计这两部分的内容,但是呢,我们今天要讲的内容呢,是属于一种叫做循环结构程序设计的这样一个方面。那么,我们来看一下什么是我们的循环结构,

程序设计。所谓程循环程序设计结构呢?那么就是说我们在给定一定的条件的时候呢?如果它满足某方面的条件。那么,程序呢?就继续执行我们之前运行过的这些部分,那么再一次的进行执行。那么直到了。条件不满足,或者呢,达到了某个循环结束的标志之后呢,我们再停止这样一个程序的运行,那么这是我们的循环程序控制。那么,

我们来举一个例子,比如说我们呢,要向计算机输入全班50个学生的成绩。那么怎么办呢?我们可以写程序,写一个这样的程序,比如说scan f。百分号f百分号f百分号f百分号百分号f,那么接下来呢,将我们的这样一个数据呢,放在我们的。这样的。变量之中,那么这是我们一个学生五门课的成绩,那么接下来呢?

求这个学生五门课的平均成绩,那么采用这样一个工,这样一个方式呢?计算出他的这样一个平均成绩,最后呢?进行一个输出。书。那么,我们如果要统计全班50个学生的这样一个平均成绩呢?我们就要重复的。写再写49次这样的一个程序段,每个程序段呢?统计一名学生五门课的成绩,那么50个这样的学生的这样一个成绩呢?我们就要重复的再写49个同样的程序段,

才能够进行统计,那么这个时候呢,我们就要重复50次相同的输入操作。重复50次相同的计算操作再来了,重复的再写49个,这样同样的程序段,那么这是我们的一种方式。那么,我们可以怎么办呢?如果我们要采取一种简便,采取一种快捷的方式。那么,我们应该怎么办呢?我们可以呢,采取循环程序设计这样一个方式,

比如说。我们来设计。一种这样的程序,让I变量I=1,那么这就是我们。循环条件的初值。在这样一个循环语句当中呢,我们设置一个初值,让这个初值的变量I呢?等于一。那么,这是我们循环条件的这样一个初值。那么,接下来是我们循环。函数的这样一个部分,

while循环函数,当然我们之后会讲我们的,还有我们的for循环。还有我们的do while循环,包括我们的while do那么这些呢?都是我们的循环语句,那么这里呢?我们使用的是while这样一个循环语句。while呢,后面这个括号当中呢,是我们的循环条件判断语句。我们在这样一个程序当中呢,它所使用的循环条件判断语句呢,是I小于等于50。也就是说,

当我们的这样一个变量I的值呢?小于等于50的时候呢?我们就去执行我们后面的方方括号里面的这样一个部分。花括号这当中的部分呢,就称之为我们的循环体。那么,我们来看一下,当我们的变量I小于等于50,这个条件满足的时候呢?我们的这样一个逻辑判断表达式呢?这样一个条件判断表的表达式啊,它的逻辑值呢,就为真为真呢,它就去执行我们后面花括号中的语句,花括号中的语句呢,

就是我们的。输入我们五个。课程的。乘积,然后呢?计算它的平均乘积,最后进行输出,这就是我们花括号当中的这样一个语句部分,那么最后呢?每执行完一次循环呢?我们要使I的值加。那比如说我们已经输入了一名学生的这个五门课程呢,我们就使I的值加一,那么将它增加一。那么再去。

进行我们循环语句的这样一个执行,那么我们执行到我们的I加加这个部分的时候呢?我们就循环起来就结束了它的运行,那么再去回到我们循环语句再去进行判断进行。执行那么这个时候呢,我们再进行一次判断I小于等于50,如果I呢?小于等于50的话,我们就再去执行我们。循环体当中语句循环体当中语句执行完了之后呢,再执行I加加,然后呢将I+1,然后再去判断我们的这样一个条件I是否小于等于50。如果这个条件I小于等于五是成立了,那么说明我们条循环条件这个逻辑表达式呢?

它的这样一个逻辑值呢?就为真,然后呢?再去执行我们循环后面的语条语句,那么这是我们循环体征的部分。那么,当最后呢?当I的值呢?等于50的时候呢?I再加加就变成了51I加加变成了51之后呢?再去我们循环条件进行判断的时候呢?51呢,是大于50的,那么这个时候呢,我们就不再进行我们循环语句的执行就去执行我们语句后面的部分了,

那么这个时候呢,就不再执行我们循环语句。那么仅有呢?当我们的变量I的值呢?小于等于50的时候呢?我们才去执行我们循环体当中的部分,当最后呢I的值呢?增加到51的时候呢?它大于50,那么我们不再执行我们循环体当中语句的部分,那么执行。后面的部分的这样一个内容,那么这就是我们循环语句,那么它的这样一个作用。那么,

接下来我们再讲一下,while语句实现循环,它的这样一个方式,我们的while语句呢?它的格式呢?就是我们的while后面一个括号表达式,后面是我们的语句。while语句呢,可以简单的记为只有当循环条件为真,就是说我们的条件表达式给定的条件成立,那么就立即执行循环体语句。语句呢,就是循环体循环体呢,可以是一个简单的语句,可以是复合语句,

还有可能呢,在我们的循环体当中呢,还有我们的循环语句。那么,我们的循环体呢?是用花括号括起来的若干语句执行循环体的次数呢?是由循环条件构成控制的这个循环条件呢?就是上面一般形式中的表达式,它称为循环条件表达式。此时,表达式的时为真与非,临时表示的时候呢,就执行循环体语句为假设呢,就不执行我们的循环体语句。我们while循环的特点呢,

是先判断条件表达式后执行循环体语句,那么大家看一下我们的这样一个。流程图,我们首先呢,进行我们的表达式,它的一个判断。当这样一个表达式呢?它的这样一个逻辑值呢?为真,那么就执行后面的语句,那么它的表达式呢?这个逻辑值为假的话,那么就执行我们。循环语句后面的这些语句部分,那么这是我们的while语句实现循环的方式,

那么接下来我们看一个例子,用我们的while语句来实现循环。我们求一+2+3,一直加到100,也就是说sigman=1到100n的这样一个值,那么我们看一下这样一个流程图,首先呢,我们要定义一个初值sum。等于0 I=1,这里呢I呢,用来表示我们的。循环条件那么也用来了表示,我们每次要加上的这样一个。实实际的这样一个部分,这样一个内容,

那么当I小于100的时候呢?小于等于100的时候呢?我们的这样一个求。求和上就等于上加I,接下来呢?I再自增一,接下来再回到我们的这样一个循环语句进行判断,如果I小于一=100的话,那么又让这个上。上加ii=I+1,那么进行一个运行,如果最后呢?当I等于大于了100的话,自增一大于100的话,那么这个时候呢?

我们的。循环条件表达式呢,它就是为假它的逻辑值为假,那么接下来呢,就不再执行我们循环体中的语句,就执行我们后面的语句,那么我们来看一下这个程序。首先呢,是井号include a st+2点h就是我们的头文件编译处理,我们的标准输入,输出库函数。将它这样编译在我将它包含在我们的文程序当中in term inter是函数使用的数据类型函数的返回值。main是我们的主函数花括号呢,是我们的函数体,那么我们看一下函数的功能部分inti=1 sum=0。

这里呢,是将我们的初值I设置为一,然后呢,将我们求和的这样一个变量呢,sound值的赋予。设置为零,接下来进行我们循环起的这样一个部分,while I小于等于100。接下来看一下我们的循环题s=s+ii加加,这里呢,是当I小于等于100的时候呢,我们开始我们的循环语句。让上等于上加I进行累加,接下来呢,再让我们的I加加加完后呢I的值加一,

为下次累加呢做准备。接下来,如果我们的I加加它的值呢?小于等于100的话,就又要再进行上等于上加I这样一个累加,然后再让I加加,直到最后呢?我们的I加加它的值呢?超过了100,我们不再执行,我们循环体中的。语句就执行了我们循环体后面的这些语句,循环体就结束,那么进行一个输出point f上等于百分号d反斜杠n上那么这样一个输出。输出这样一个sound值的部分,

输出一+2+3加了100的累加和,那么最后呢?return 0函数返回一个零值,然后程序结束,那么这就是我们外语句的实现循环的这样一个方式。循环体如果包含一个以上的语句呢?应该呢,用花括号括起来作为复合语句出现,那么我们呢?要记住了,要我们给我们的我们的爱和我们的丧赋初值。那么,赋初值之后呢?我们才能进行一个我们。循环条件表达式这样一个判断,

那么这样一个判断的方式,在循环体当中呢?应该要使有循环区域结束的语句,比如说我们在这个例子中的I加加。如果我们没有这样一个使我们的循环趋于我们结束的语句呢,那么我们I的值呢,永远不改变,那么循环的就会一直进行下去,那么这就是我们的这样一个。没有循环结束的这样一个部分,那么所以说在循环体中呢,应该要要注意了,要使我们循环呢进行一个改变的这样一个应用的部分。那么接下来刚我们再看一下do well语句,实现循环,

那么刚才呢?我们看的是well这样一个语句。我们来看一下do while do while呢它的它的这样一个方式呢,大家看一下它的这样一个形式是do语句while。表达式那么它这样一个含义呢,就是先执行我们的循环体语句,执行完循环体语句之后呢,再来进行我们循环条件是否成立的这样一个判断。如果我们的这样一个循环条件,是否是成立的话,那么再去执行我们这样一个循环体语句,那么再来呢?进行循环题。表达式的这样一个判断,那么我们也就是说do well的语句的特点呢?

是先无条件的执行我们的循环体,然后呢?判断循环条件是否成立,那么我们来看一下用do well语句实现循环的这样一个方式,用do well语句实现一+2+3加到100这样一个累加和,就是我们sigman=1到100的这样一个n的这样一个值的部分。那依然呢,是我们的井号includes d二点hint main,后面是我们的循环体,我们看一下循环体的部分inti=1上等于零,这是我们的初值部分I呢,等于一上等于零。那么,这里呢,是do sun=sun+ii加加,

while I小于等于100,我们这里呢?是先进行我们的循环体的执行,先运行我们的sun=sun+ii加加这样一个语句。运行完一次之后呢,再来进行我们循环体I小于等于100这样一个表达式的这样一个判断,判断它是否为。帧我们先进行上等于上加I的这样一个运行,再进行I加加,接下来呢,再进行while=while I小于等于100的这样一个判断。那么,这就是我们循外循环的这样一个方式,最后呢,进行一个输出brands等于百分号n,

百分号d返星n。上最后呢return 0函数返回零一直程序结束,那么这就是我们do well语句实现循环这样一个方式。在一般情况下呢,用while语句和do while语句处理同一问题时,若二者的循环体部分是一样的,那么结果也一样。但如果while后面的表达式一开始就为假值的话,两者循环,结果呢?那么是不一样的。那么,我们来看一下,while和do while循环的比较,那么我们首先呢,

来看一下这个程序。井号includes dd二点h编译处理头文件,将它包含在我们的程序当中。in term inter是函数使用的数据类型,返回一个整型值May是我们的主函数,后面两个大括号之间呢,是我们的函数题。inti上等于零,这里呢,是定义我们的两个。变量。并且呢。赋予我们的初值,将我们的sun呢等于零。接下来printf please enter ii等于问号。

那么,这就是我输入我们的这样一个I的值,用我们的标准输入输入函数scan f输入我们I的值,将它放量在放在我们的变量I中。接下来呢,用我们的while语进行循环,while I小于等于十。两个大括号是我们循环体上等于上加ii加加。print sum等于百分号d返成n sum,那么这里呢?是当I小于等于十的时候呢?让计算计算我们。sun=sun+I这样一个累加的,这样一个和的部分,然后最后呢I加加那么return 0函数返回一个零值。

我们来看一下它运行的结果,当我们。输入。I=1的时候呢,我们上的结果呢是55,也就是说I=1,然后I等于一直到十,然后。sun=sun+I那么一直这样一个累加,那么最后呢?sun的值是55,那么如果我们输入I=11的话,那么sun=0。那么,我们首先进行判断I=11,

那么I呢?是大于十的,那么不再进行后面函数循环体的这样一个运行,那么我们的sound值呢?最后就是它的这样一个初值,是它的零。那么,这是我们这样一个while循环的部分,那么接下来我们再看一下do while这样一个方式do while呢?那么,这里它是最先呢?是执行我们的循环体语句。执行完循环体语句之后呢,再来进行我们的while呢,是否I小于等于十的这样一个判断,

那么也就说我们先执行一次循环体语句。再来执行我们对我们循环表循环条件表达式的这样一个判断,如果它。大于如果它大于十的话,那么就不再进行执行,那么它小于十的话呢,就执行我们的函数循环体的这样一个部分。那么我们看一下它运行的部分。我们最先呢,输入1 I=1,那么它的结果呢?是55那么和上面是一样的,这样一个类型,那么如果我们输入11的话,那么这个sum的值呢?

等于11。那么,它是先运行的这样一个部分呢?然后再进行这样一个判断的这样一个方式,那么这是我们都外物呢?它使用它的这样一个部分,那么它的结果呢?与我们。while那么是不一样的。那么接下来呢?我们再讲一下我们的for循环for循环呢?大家看一下它的表达式,一表达式,二表达式,三它有三个表达式。

那么,这是括号里面的三个型,三个类型,我们的表达式一是什么呢?表达式一是设置初始值,只执行一次。可以为零个一个或多个变量设置初值。表达式二是循环条件。表达式用来判断是否进行循环。在每次执行循环体前呢,先执行此表达式决定是否了继续进行循环。表达式三是作为循环的调整,那么比如说是我们的循环的这样一个增加的部分,或者说减少的部分就是它改变的部分,如果比如说是循环变量增值,

它是在执行循环后呢,才进行执行。那么,这是我们的for循环。我们的for循环呢条件语句更为灵活,不仅可以用于循环次数已确定的情况,还可以用于循环次数的不确定,而只给出循环结束条件的情况。那么,它可以来代替我们的well语句。表达式,一是设置初始条件执行值因式,可以为零个,一个或多个变量设置初值表达式。二是循环条件表达式,

用来判定是否进行继续循环。在每次执行循环体前呢,先执行时表达式决定了是否继续进行执行循环表达式,三是作为循环的调整,比如说是表达式。变量增值它是在。执行完循环体回来再进行执行。我们来看一下for循环它的这样一个过程。for循环呢,它的执行过程呢,是首先呢,求解表达式,一是首先呢,求解表达式,一然后呢,

求解表达式,二。如果此条件表达式的值为真就是非零,则执行for循环中的循环体,然后执行第三步,如果为假,则循环结束。那么,转到for循环的下面一个语句,那么第三接下来呢,是执行我们的求解表达式三那么?执行完我们的这样一个循环体语句之后呢,然后接下来呢,求解表达式三,然后接下来呢,

再转回我们的循环。步骤二,进行执行。那么,在执行完循环表的变量体之后呢?循环变量的值要超过循环终止的循环结束,那么循环结束,那么执行for语句呢?下面一条语句,那么这是我们for循环的这样一个部分。那么,我们for循环呢?那么,最后的时候呢?我们来看一下表达式的一的值呢?

可以省略表达式二的值呢?也可以省略。甚至呢,表达式三个值都可以省略,也就是说我们可以将三个表达式的值呢,都省略不设置初值,不判断条件。循环变量呢,也不增值,那么无终值的执行循环体语句,那么现在呢,就是没有什么这样一个运用的,这样一个使用部分。我们来看一下表达式一的值呢,可以省略,

就是不设置数值就表达式一的后,但是呢,表达式一的后面的分号呢,比如是省略,那比如说我们。for循环,我们表达式的一的值呢?不设置初值,但是后面呢?它的分号不能进行审阅,那么这个时候呢?那么,可以审阅,我们就审阅了我们表达式一的这样一个部分,那么但是呢,

后面的分号不能进行审阅。表达式二的值也可以审阅就不用了,不用表达式二作为循环条件的表达式,那么不设置和检查循环的条件,此时循环了无终止的进行消去,也可以认为呢,表达式二始终为真。但是呢,这个时候呢,我们表达式二后面的。这样一个分号呢,也不能省,也要也要写上这个部分也要写上。表达式三也可以审阅,但此时程序设计者应该设法保证循环,

能够正常结束。我们表达式的一的值呢,可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式,表达式三。可以是与循环控制无关的任意表达式,那么无论怎样呢,需要使我们的循环能够正常的执行表达式一和表达式三,可以是一个简单的表达式,一个是逗号表达式。既包含一个以上的简单表达式,中间有逗号间隔表达式二,一般是关系表达式或逻辑表达式,但可以是数值表达式或字符表达式。只要其值为零,

就只要其值为非零,就执行循环体。那么,我们来看一下。我们几种循环的比去去循环的嵌套,我们的while循环呢,可以在当中呢嵌套,我们的while。do while呢?我们可以在其中的嵌套,我们的do while for循环呢?我们还可以在其中内层循环,这样一个嵌套,我们的for循环进行一个内层循环。while呢,

可以嵌套我们的do while for呢,可以嵌套while do while do while呢,可以嵌套for循环,那么这是我们循环的嵌套。三种循环呢,都可以用来处理同一问题,一般情况下呢,它们可以相互代替,在while循环和do while循环中呢,只在while后面的括号内的指定循环条件。因此呢,为了使循环能够正常结束,应在循环体中的包含使循环区域结束的语句,比如说变量的增加,变量的减少,

变量的调整改变,这样一些部分。负循环呢,可以在表达式三中啊,最后一个表,第三个表达式中呢,使用循环区域结束的操作,甚至呢,可以将循环体中的操作呢,全部放在我们的循环表达式三中。那么,凡是用while语句能够实现的呢?用for语句呢?都能够实现用do while和while循环进行循环的时候呢?循环变量初始化应在我们的while和do while语句之前完成,

而我们的for语句呢?可以在表达式一中实现循环变量的初始化。我们的while do while和for循环呢,都可以用break语句跳出循环,用continue语句呢,结束本次循环。我们的break呢,是我们的跳出循环,那么continue呢,是我们结束本次循环,那么它们是改变循环执行状态的,这样一个部分。那么,接下来我们再看一下。用break语句提前终止循环,

比如说。再这样一个例子,在全系1000名学生中举行慈善捐款当,总数达到十万元时呢,就结束统计,此时捐款的人数以及呢,平均每人捐款的数目。那么,我们来看一下这个程序井号includes d点h define仅define上。十万那么我们这里呢,是定义一个红那么定义一个红呢,我们就用我们的上这个符号常量代表我们的数字十万。比如说我们以后呢,在程序中遇到我们的sun的这样一个符号的时候呢,它就代表我们的这样一个数字十万。

那么,这是我们定义的宏的这样一个部分,接下来呢,再看一下我们的程序in term映射,我们函数使用的数据类型函数的返回值。类是我们的主函数,后面的大括号呢?是我们函数题好吧,我们看一下函数的功能部分float amount average。total那么这是定义我们三个浮点型变量,接下来定义一个整型变量inti,接下来进行我们的for循环。负I=1,total=0,这是定义我们的函,

这样一个变量的初值I=1,total=0。接下来是分号I小于等于1000,这是我们的一个。还循环。条件的这样一个判断的表达式,那么就是I小于等于1000那么一个分号I加加就是含这一个变量的。自增就这样一个自增的,这样一个部分,这样一个增量的改变的部分,接下来我们看一下循环体printf please enter come mount。stand f百分f amount符号取地址符号,那么我们这个符号amount那么这时候输入我们amount的这样一个值,让它这样一个数值呢?放存放在我们amount这样一个变量之中,

然后total=total+amount,接下来有一个这样一个条件判断if total大于sun,那么这个sun呢?就是前面定义的这样一个宏。那么,这样一个宏定义那么上呢?就表示的是10万,那么当我们的total呢?大于十万的时候呢?我们的这样一个。调件if后面的条件为真为真呢,那么就执行if后面的语句break break呢,就是跳出我们的for循环,那么就是当我们的total这个值呢,大于十万的时候呢。

我们就停止执行我们的这样一个for循环函数程序呢,就跳函数呢,就跳出这样一个for循环。那么最后呢?还是我们的average=total÷I?printf.number等于。百分号fn返学个n origin等于百分号十点二f返学个ni origin return 0。那么,这里呢,是计算出最后的这样一个。捐款人数有没有?就是I的这样一个人数,以及呢average平均每人捐款的数目。那么,

在这样一个程序当中呢?我们I呢?是从一开始增加了这样一个部分。I呢,是从一开始增加了这样一个部分,那么当I小于等于1000的时候呢,那么在一起在1000人当中呢进行进行。加上了这样一个统计的部分,那么当I小于等于1000的时候呢,就执行我们函数的这样一个循环体的部分,另外呢,在我们的函数的循环体当中呢,有这样一个if total大于三,就是说total大于十万的这样一个判断条件。当这个条件满足的时候呢,

我们就进进行这样一个break,这样一个语句,跳出循环就不再进行这样一个统计的,这样一个部分,那么就跳出这样一个循环,那么这是我们。函数循环体当中这样一个类型for语句呢,指定执行循环1000次,在每次循环中呢,输入一个捐款人的捐款数,并进行加大投注中。设置了if语句在每一次累加捐款数amount后呢,立即检查加和total是否达到或超过我们的sum,就是我们的十万。如果超过了就执行我们的break语句流程,

跳转到循环体外的花括号外提前的结束循环。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|5432考试网 ( 蜀ICP备2022024372号|川公网安备51152402000101号 )|网站地图

GMT+8, 2024-5-20 00:06 , Processed in 0.292205 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表