C语言学习笔记6由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言学习笔记六”。
六.循环结构程序设计
1.循环控制
a)程序中常用到顺序结构和选择结构,但只有这两种结构是不够的,还需要用到循环结构(重复结构)
b)对于某些问题,通过原始的方法需要分别编写若干个相同或相似的语句或程序段进行处理,工作量大、程序冗长、重复、难以阅读和维护,因而C语言提供了循环控制来处理需要进行的重复操作
c)循环结构、顺序结构、选择结构是结构化程序设计的3种基本结构,它们是各种复杂程序的基本构成单元
2.用while语句实现循环
while语句的一般形式为:
while(表达式)语句
a)“语句”就是循环体,循环体只能是一个语句,可以是一个简单语句,也可以是复合语句。循环体如果包含一个以上的语句,应该用花括号括起来作为复合语句出现,否则while语句的范围只到while后面的第1个分号处
b)在循环体中应当有使循环趋向于结束的语句,如果无此语句,则循环条件始终不变,循环永远无法结束
c)执行循环体的次数是由循环条件控制的,这个循环条件就是上面一般形式中的“表达式”,它也称为循环条件表达式
d)while语句的循环控制:当循环条件表达式为“真”(非0)时就立即执行循环体语句,当循环条件表达式为“假”(0)时就不再执行循环体语句
e)while语句的过程特点:先判断循环条件表达式,后执行循环体语句
3.用do…while语句实现循环
a)do „ while语句的一般形式 do 语句 while(表达式)a.1.为了使程序清晰、易读,建议把循环体用花括号括起来,以防看到第2行语句就误以为整个语句结束了
a.2.do „while语句的循环控制:先执行一次循环体语句,然后判断循环条件表达式,当循环条件表达式为“真”(非0)时返回再次执行循环体语句,如此反复,直到循环条件表达式的值为“假”(0)为止,此时本次循环结束
a.3.do „while语句的过程特点:先无条件执行循环体语句,再判断循环条件表达式
b)while语句与do „while语句的比较
b.1.对同一个问题,可以用while语句处理,也可以用do „while语句处理,while语句与do „while语句的结构可以互相转换
b.2.while语句可以一次也不执行循环体语句,而do „while语句至少执行一次循环体语句。因此当用while语句与do „while语句处理同一问题(循环体部分相同)时,若循环条件表达式的初始值为“真”(非0)时,则两种循环得到的结果相同,若循环条件表达式的初始值为“假”(0),则两种循环得到的结果不同
4.用for语句实现循环
a)for语句的一般形式
for(表达式1;表达式2;表达式3)语句
a.1.表达式1:设置初始条件,只执行一次,可以为0个、一个或多个变量设置初值。允许在表达式1中定义变量并赋初值,这样使程序简练、灵活方便,但所定义变量的有效范围只限于for循环中,在循环之外不能使用此变量
a.2.表达式2:是循环条件表达式,用来判定是否继续循环,在每次执行循环体之前先执行此表达式来决定是否继续执行循环体
a.3.表达式3:作为循环的调整使循环趋向于结束,例如使循环变量增值,它是在执行完循环体后才进行的a.4.由上所述,for语句可以理解为:
for(循环变量赋初值;循环条件;循环变量增值)语句
b)关于for语句的一些说明 b.1.表达式1可以省略,即不设置初值,但表达式1后面的分号不能省略。由于for语句省略了表达式1,没有对循环变量赋初值,因而为了能正常执行循环,应当在for语句之前先给循环变量赋初值
b.2.表达式2可以省略,即不用表达式2来作为循环条件表达式,不设置和检查循环的条件。此时循环将无终止地进行下去,也就是认为表达式2始终为“真”(非0)
b.3.表达式3可以省略,但此时程序设计者应当另外设法保证循环能够正常结束,即使循环趋向于结束的操作不放在表达式3的位置,而是作为循环体的一部分,如果在循环体中没有这种语句,则循环体将无止境地执行下去
b.4.表达式1和表达式3可以都省略,只有表达式2,即只给定循环条件,但如c.1和c.3所述,应当在for语句之前先给循环变量赋初值,且在循环体中设置使循环趋向于结束的语句
b.5.表达式
1、表达式
2、表达式3可以都省略,即不设初值,不判断条件(此时认为表达式2始终为“真”),循环变量不增值,将无终止地执行循环体语句
b.6.可以把循环体和一些与循环控制无关的操作也作为表达式1或表达式3出现,这样使程序短小简洁,但过分利用这一特点会使for语句显得杂乱、可读性降低,因而最好不要把与循环控制无关的内容放到for语句中。
表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量初值无关的其他表达式。
表达式3可以是与循环控制无关的任意表达式,for语句可以在表达式中完成本来应该在循环体内完成的操作,即for语句的循环体为空语句,把本来应该在循环体内处理的内容放到表达式3中,作用也是一样的b.7.表达式1和表达式3可以是一个简单表达式,也可以是逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。在逗号表达式中按自左至右的顺序求解,整个逗号表达式的值为最右边的表达式的值
b.8.表达式2一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值为非0(“真”)就执行循环体
b.9.for语句可以与while语句互相转换,二者无条件等价 即for(表达式1;表达式2;表达式3)语句 可以改写为 表达式1;while(表达式2){ 语句 表达式3;} c)for语句的执行过程 c.1.求解表达式1 c.2.求解表达式2,若此条件表达式的值为“真”(非0)则执行for语句中的循环体,然后执行第b.3步,若此条件表达式的值为“假”(0)则结束循环,转到第b5步
c.3.求解表达式3 c.4.转回第b.2步继续执行
c.5.循环结束,执行for语句下面的一个语句
5.循环的嵌套
a)一个循环体内又包含另一个完整的循环结构,称为循环的嵌套 b)内嵌的循环中还可以嵌套循环,这就是多层循环
c)3种循环(while循环、do „while循环、for循环)可以互相嵌套
6.3种循环方式的比较
a)3种循环都可以用来处理同一问题,一般情况下(循环条件表达式的初始值为“真”)它们可以互相代替
b)在while循环和do „ while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋向于结束的语句。for循环可以在表达式3中包含使循环趋向于结束的操作,甚至可以将循环体中的操作全部放到表达式3中,因此for语句功能更强,凡是while循环能完成的,用for循环都能实现
c)用while和do „ while循环时,循环变量初始化的操作应当在while和do „ while语句之前完成,而for语句可以在表达式1中实现循环变量的初始化
d)while循环、do „ while循环和for循环都可以用break语句跳出循环,用continue语句结束本次循环 7.改变循环执行的状态
一般情况下,都是根据事先指定的循环条件正常执行和终止循环,但当出现某种情况需要提早结束正在执行的循环操作时,可以用break语句和continue语句来实现提前结束循环
7.1.用break语句提前终止循环
a)break语句可以使流程跳出switch结构而继续执行switch语句下面的一个语句,还可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句,但break语句只能用于循环语句和switch语句而不能单独使用
b)break语句的一般形式为: break;c)执行break语句,流程跳转到循环体结束的花括号之外,即不再继续执行其余的几次循环而提前结束循环
7.2.用continue语句提前结束本次循环
a)有时不希望终止整个循环的操作,而只希望提前结束本次循环,而接着执行下一次循环,这时可以用continue语句
b)continue语句的一般形式为 continue;c)执行continue语句,流程跳转到循环体结束的花括号之前(不是花括号之外),即跳过循环体中continue语句下面尚未执行的语句而结束本次循环,然后接着执行后面的循环过程
7.3.break语句和continue语句的区别
a)continue语句只结束本次循环,而不是终止整个循环的执行;而break语句则是结束整个循环过程,不再判断循环条件是否成立
b)如果是双重循环,在内循环体中有一个break语句,则使用break语句提前终止循环是指提前终止内循环
C语言面向对象编程笔记 1、在底层驱动函数前加static标识符的作用:a:加了static后表示该函数失去了全局可见性,只在该函数所在的文件作用域内可见 b:当函数声明为static以后,编......
The C programming language Expert C programming C Traps and Pitfalls Write Clean Code Code Complete.Second Editon 林锐高质量程序设计指南- C++/C语言最名不副实的......
李践—做自己想做的人亲爱的朋友们,大家晚上好:很荣幸有这样的机会和大家分享,我用了十年的时间,向世界上很多顶尖的成功人士学习、学习成功的方法。但是在十年以前我一无所有、......
贯穿卫生工作的总路线,推动卫生事业的发展随着社会的进步,科学的发展,人们对自己的健康的需求不断增加,因此,卫生工作的路线也在不断的深入和发展,进一步推动着卫生事业的前进的步......
学习笔记习近平总书记“三严三实”讲话讲话内容:各级领导干部都要既严以修身、严以用权、严以律己,又谋事要实、创业要实、做人要实。严以修身,就是要加强党性修养,坚定理想信念......