C语言程序设计-循环控制

更新时间:2023-07-27 09:42:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C语言程序设计

------循环结构程序设计

一、循环概念

为解决某一问题,或求取某一计算结果,特定的条件下,程序中反复地按某一模式进行操作。 在解题的时候经常遇到需要重复处理一类相同的一类似的操作,如求1+2+3+4+…..+100的和,就需要重复地做加法运算。这就是循环结构。其中,重复做的事、操作(一条或多条语句),称为“循环体”;控制循环体是否执行的条件称为“循环条件”

二、for循环

for循环语句的一般格式:

for(表达式1;表达式2;表达式3)

循环体语句(组);

for循环语句的执行顺序

(1)执行表达式1;

(2)计算表达式2的值;

(3)如果表达式2的值为真,执行循环体,再执行表达式3,转到(2)步执行;

(4)如果表达式2的值为假,则结束循环的执行,转而去执行for语句后的语句下面对for循环语句作几点说明:

1、在for语句中,三个表达式中的任何一个表达式都可省略,但其中的两个“;”不能省略。 例如,下面的四种循环语句是等价形式:

(1)for(i=1; i<=100;i++) 循环体

(2)i=1;

for( ; i<=100;i++) 循环体

在这种形式中,for语句将提供循环初值的表达式1放到for语句前,从而省略了表达式1。 (3)i=1;

for( ; i<=100; ) {循环体;i++;}

在这种形式中,for语句将提供循环初值的表达式1放到for语句前,从而省略了表达式1;并且将表达式3放到循环体中作为循环体的最后一个语句。

2、在for循环语句中,循环体中可以是单语句,也可以是空语句(只有一个;的语句)或复合语句,如果是复合语句,则必须括在{}之中。

3、下面两种形式可能导致死循环:

for(表达式1; ;表达式3) 循环体与

for( ; ;) 循环体

上面两个语句都没有用于判断循环结束的条件(即表达式2)。在C语言中,一个空表达式的值一般为非零值。因此,在for语句中如果省略了表达式2,就意味着表达式2的值一直为真,从。

而可能导致死循环。

在C语言中,虽然for循环语句的形式很灵活,但从程序的可读性考虑,建议使用如下两种形式: for(i=初值;i<=终值;i=i+步长) 循环体

与 for(i=初值;i>=终值;i=i-步长) 循环体

三、while语句

while( 表达式 )循环体 ;

四、do-while循环

do

循环体

while(表达式);

1、“表达式”可以是任意表达式,用来判定循环是否终止(或者说判定循环体是否执行)。表达式的值要么为真,要么为假;如果其值为一个数值,则非0的任何数都为真,而0代表假。即使第一次执行时“表达式”的值为假,“循环体”中的语句最少会被执行一次。

2、“循环体”中可以是单语句,也可以是空语句(只有一个;的语句)或复合语句,如果是复合语句,则必须括在{}之中。

3、do-while作为一个语句,必须以分号(;)结束,所以在while(表达式)后一定要有分号。

do-while循环语句的执行顺序

(1)先执行循环体;

(2)计算表达式的值,并判断表达式的值是真还是假;

(3)如果是真,则继续转到(1)步执行循环体;

(4)否则退出循环,转而执行本语句后的其他语句。

五、循环嵌套

所谓循环的嵌套是指一个循环体中完整地包含了另一个循环结构,又称多重循环。在C语言中,允许循环结构多重嵌套,并且while、do-while和for循环语句都可以嵌套。另外,在一个循环体内还可以包括各种完整的选择结构,在一个选择结构的某个独立部分中,还可以包括完整的循环结构。

因为:循环体是一个复合语句,该复合语句中可以包括任何C语言的语句,当然可以包含循环语句了。

六、转移控制语句

break

中断循环语句的执行

continue

中断本次循环的执行,转而去执行“表达式2”,进行下一次循环,注意:continue语句只是从当前(continue)位置开始到循环结束符}前的语句在本次循环中不执行。

goto语句

一个非结构化的语句,建议尽可能不使用。

break语句 在前面第4章介绍多分支选择结构switch时,曾经提到break语句,它的功能是退出switch语句。实际上,C语言中break语句有以下两个功能:

(1)跳出switch结构;

(2)退出当前循环结构,包括while语句、do-while语句和for语句。

continue语句 continue语句的功能是结束本次循环的执行,转而去执行下一次循环(即去计算条件表达式),但不退出循环结构。

Continue语句在C语言中只能用在循环结构中,包括while语句、do-while语句和for语句。 问题1:C语言中只能用在循环体中的语句是?

问题2:break和continue语句的主要区别?

1、for 循环次数可以确定;其余两种不定

2、While、for 循环体可以不执行;do_while至少执行一次 3、while 布尔表达式为真时做; do_while布尔表达式为真时退出

七、作业安排

1、打印出所有“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数立方和等于该数本身.例如,153是一个水仙花数,因为153=13+53+33

2、分别用while、do while循环编程,求100到200之间的全部素数

3、求 s = 11+22+33+44+…+nn

本文来源:https://www.bwwdw.com/article/rwmm.html

Top