文档详情

实验四_循环结构程序设计案例.doc

发布:2017-06-16约8.28千字共11页下载文档
文本预览下载声明
实验四 程序设计-循环结构程序设计 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;
显示全部
相似文档