实验四_循环结构程序设计案例.doc
文本预览下载声明
实验四 程序设计-循环结构程序设计
4.1 实验要求与目的
1. 理解循环条件、循环体以及循环的执行过程
2. 掌握及正确使用for、while和do-while语句实现循环程序设计
3. 掌握break,continue语句正确使用
4. 掌握双循环结构的程序设计
5. 掌握相关算法(累加、素数、最值、穷举法等)
4.2 实验指导
结构化程序设计的三大结构:顺序结构、选择结构和循环结构。
在实际生活中常说重复执行某项工作多次,或重复执行某项工作,达到某种要求为止。如果需要重复执行某些操作,在程序设计就要用到循环结构。
C语言中提供了三种循环语句:for语句、while语句和do-while语句。
for语句是常用的一种循环语句,它的一般格式:
for (表达式1; 表达式2; 表达式3)
循环体
for循环的执行过程:
S1:计算表达式1的值;
S2:计算表达式2的值,并判断其值是真值(非0值),还是假值(0值)。若为真值,执行步骤S3,反之执行步骤S5;
S3:执行循环体;
S4:计算表达式3的值;步骤S2;
S5:结束循环(退出循环);继续执行for 语句之后的后继语句。
while
while ( 条件表达式 )
循环体
while循环的执行过程:
S1:计算条件表达式的值,并判断其值真值(非0值),还是假值(0值),若为真,执行步骤S2,否则执行步骤S4
S2:执行循环体
S3:S1;
S4:退出循环,执行while语句的后继语句。
一般格式:
do
循环体
while( 条件表达式 );
执行过程:
S1:执行循环体
S2:计算条件表达式的值,并判断其值真值(非0值),还是假值(0值),若为真,执行步骤S,否则执行步骤S
S3:退出循环,执行do-while语句的后继语句。
【4.1】编程实现,从键盘输入10个整数,求出它们的最大数。程序文件名ex4_1.c。
分析:在上次实验,编程实现了求两个整数的最大数,现将问题扩展到20个数,算法思想是一样的。
求任意n个整数的最大(小)数的常用算法:
定义两个变量,一个变量max(min)存放最大(小)数,另一个变量a存放输入的一个整数。
S1:首先对max赋初值。通常将输入的第一个数赋给最大(小)数,即max=a(min=a);
S2:输入下一个数,并赋给a;
S3:max与a进行比较,若a大于max的值,将a的值赋给max;
S4:返回S2。
依次循环(重复执行),直到20个数都一一进行了比较,max变量中最后存储的数就是最大值。
而重复进行的“工作”,就是循环结构的循环体。
解决的两个关键问题:
1.max的初值如何给定?常采用的方法是,把输入的第一个数赋给max变量。
2.采用循环结构时,如何控制循环次数?因要从10个数中求最大值,但第一数已赋给max,因此max与剩下的9个数进行比较,所以循环9次。
本题已确定了循环次数,通常采用for循环语句。
编写源程序一,程序文件名ex4_1.c。
#includestdio.h
void main()
{
int a,max,i;
scanf(%d,a);
max=a; /*将输入的第一个数作为最大数*/
for(i=1;i10;i++) /*循环9次*/
{
scanf(%d,a); /*输入待比较的数*/
if (maxa) max=a; /*输入的数与max的值进行比较*/
}
printf(The max value is:%d\n,max);
}
输入测试数据:21 765 78 9 456 89 76 32 90 76
程序运行结果:The max value is:765
循环结构的三种循环语句可以相互转换,也就是说选择任意一种循环语句能实现的循环结构,同样可以用其余两种循环语句实现。即用for语句可以实现的循环,用while或do-while同样可以实现。当给定了循环次数,首选for循环语句,若循环次数不明确,需要通过某条件控制循环时,首选while或do-while循环语句。while语句与do-while语句的区别是,while是先判断,后执行,而do-while是先执行,后判断。
编写源程序二,程序文件名ex4_11.c。
#includestdio.h
void main()
{
int a,max,i;
scanf(%d,a);
max=a; /*将输入的第一个数作为最大数*/
i=2;
显示全部