论文导读:日常生活中,很多问题都要用到循环控制,如输入全校学生成绩,求若干个数据的和,求阶乘,这些都是重复处理的问题。如果不加花括号,那么while语句的范围只能到while后第一个分号处。(1)for语句的一般形式中“表达式1”可以省略,但是其后面的分号不能省略。(1)除goto语句不主张使用外,其他三种语句一般情况下可以互相替换,处理同一问题。(2)在while和do…while语句中,因为只能在while后的括号内指定循环条件,所以循环体中应当包含能使循环趋向结束的语句。
关键词:循环控制,goto语句,while语句,do…while语句,for语句
1、引言
循环结构式结构化程序设计的三种基本结构之一。在要求多次重复执行时,循环结构会使程序简单高效,具有很大的优越性,因此应用相当广泛。发表论文。日常生活中,很多问题都要用到循环控制,如输入全校学生成绩, 求若干个数据的和, 求阶乘,这些都是重复处理的问题。发表论文。循环就是重复,可以解决这类问题。
2、循环控制
2.1、循环结构
循环结构, 又称重复结构, 即反复执行某一部分的操作。循环结构是结构化程序设计的三种基本结构之一。在C语言中, 主要有以下四种循环语句:用goto语句构成循环、用while语句实现循环、用do…while语句实现循环、用for语句实现循环。这四种语句都可以完成循环结构的功能,但是在语法、程序流程上又有各自的特点。(以下程序均以求 为例)
2.2、goto语句以及用goto语句构成循环
goto语句为无条件转向语句,它的一般形式为:
goto 语句标号;
语句标号用标识符表示,它是由字母、数字、和下划线组成,其第一个字符必须为字母或下划线,不能用整数来作标号。例如:
goto part_1;
是合法的,而
goto 111;
却是不合法的。
由于滥用goto语句容易使程序流程无规律、可读性差,所以主张限制使用它,但是也不绝对禁止。goto语句一般与if语句一起构成循环语句。例如:
#include<stdio.h>
void main()
{
int i,sum=0;
i=1;
loop:if(i<=100)
{
sum=sum+i;
i++;
goto loop;
}
printf(“%d ”,sum);
}
运行结果为:5050
2.3、用while语句构成循环
while语句用来实现“当型”循环结构,一般形式如下:
while(表达式) 语句
当表达式为非0值时,执行while语句中的内嵌语句。例如:
#include<stdio.h>
void main()
{
int i,sum=0;
i=1;
while(i<=100)
{
sum=sum+i;
i++;
}
printf(“%d ”,sum);
}
需要注意的是:
(1)如果循环体包含了一个以上的语句,应用花括号括起来,以复合语句的形式出现。如果不加花括号,那么while语句的范围只能到while后第一个分号处。
(2)循环体中应该有能使循环语句结束的语句,否则会造成死循环。
2.4、用do…while语句实现循环
do…while语句,要先执行循环体,再判断循环条件是否成立。其一般形式为:
do
循环体语句
while(表达式);
具体是这样执行的:先执行一次指定的循环体语句,然后判别表达式,当表达式的值为“真”(即非0)时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止。例如:
#include<stdio.h>
void main()
{
int i,sum=0;
i=1;
do
{
sum=sum+i;
i++;
}
while(i<=100);
printf(“%d ”,sum);
}
2.5、用for语句实现循环
for语句的一般形式为:
for(表达式1;表达式2;表达式3) 语句
其最简单的理解形式如下:
for(循环变量赋初值;循环条件;循环变量增值) 语句
例如:
for(i=1;i<=100;i++) sum=sum+i;
需要说明的是:
(1) for语句的一般形式中“表达式1”可以省略,但是其后面的分号不能省略。这时应在for语句之前给循环变量赋初值。
(2) 若表达式2省略,则不判断循环条件,循环会无终止地进行下去,即认为表达式2始终为真。
(3) 表达式3也可省略,但这时程序设计者应另外设法保证循环能正常结束。
(4) 可省略表达式1和表达式3,只有表达式2,即只给循环条件。
(5) 三个表达式都可省略,此时无终止地执行循环体。
(6) 表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式。
(7) 表达式一般是关系表达式或逻辑表达式,也可以是数值或字符表达式,只要其值为非0,就执行循环体。
由此可见,for循环语句的使用方法最为灵活。
2.6、四种循环的比较
(1)除goto语句不主张使用外,其他三种语句一般情况下可以互相替换,处理同一问题。发表论文。
(2)在while和do…while语句中,因为只能在while后的括号内指定循环条件,所以循环体中应当包含能使循环趋向结束的语句。
(3)for语句可以在表达式1中实现循环变量的初始化,而while和do…while语句应在while和do…while语句之前完成循环变量的初始化。
(4)除goto语句和if语句构成的循环外,其他三种语句都可以用break语句跳出循环,用continue语句结束本次循环。
3、结束语
循环结构和顺序结构、选择结构共同作为各种复杂程序的基本构造单元,在程序设计中占有重要地位。只有认真分析总结,才能熟练掌握循环结构的概念和使用,提高编程效率和质量。
参考文献:
[1]谭浩强.C程序设计.北京:清华大学出版社,2005.
[2]C编写组.常用C语言用法速查手册.北京:龙门书局,1995.
|