文档详情

C语言实训四 循环结构程序设计和答案.doc

发布:2018-10-07约3.93千字共7页下载文档
文本预览下载声明
计算机程序设计基础C实训指导书 实训四 循环结构程序设计 PAGE PAGE 5 实训四 循环结构程序设计(注:答案在后面) 班级: 学号: 姓名: 实训时间: 实训目标 掌握循环结构程序的设计和调试方法。 掌握while、do whil、for三种C循环语句的执行流程。 掌握一般循环程序设计的步骤(循环体、循环条件、循环初始化)。 学会提前结束程序的方法(break语句)。 学会多循环出口时判断循环出口的方法。 学会循环程序的调试方法。 掌握求极值、分类统计、求素数等常用算法。 学会循环嵌套程序的设计和调试方法。 语法基础 1. 在C语言中,实现循环的语句有: while语句、 do-while语句和 语句 2. break语句不能出现在( )语句中 A. switch B.for C. while D. if…else 3.语句while(!y);中的表达式!y等价于 A)y==0 B)y!=1 C)y=!0 D) y==1 4.若有“int a=1,x=1;”,则循环语句“while(a10) x++; a++;”的循环执行( ) A.无限次     B.不确定次    C.10次      D.9次 5..以下程序段 ( ) x=-1; do { x=x*x; }while(x0); A. 是死循环 B. 循环执行一次 C. 循环执行二次 D. 有语法错误 6. 思考题: 在循环中,continue语句与break语句的区别是:continue语句只是 ,break语句 。 break语句只能用于 语句和 语句中。 7.熟悉三种循环语句的执行流程,以计算 s=1+2+3+…+100为例,分别写出三种循环结构的核心程序。 NOyesi=100i=0s=s+is=0 NO yes i=100 i=0 s=s+i s=0 i++ while下条语句 s=0; i=1; while(i=100){ s=s+i; i++;} 依据右侧的流程,改写为 for语句: do while语句程序 do while结构流程图 实训内容和步骤 改错(copy下面源程序到VC编辑界面,调试并改错)。 程序功能为:输入1批学生成绩,以负数结束,求平均分。 有错的源程序 #include stdio.h void main() { int n=0; int score, sum=0; printf(please input the score:); scanf(%d,score); do { sum= score +sum; n++; } while(score=0); if (n0) printf(the ave is %f,(float)sum/n); else printf(no valid data); } 测试数据 预期结果 实际结果(连续运行时) 调试过程:(指编译通过,无语法错误,但运行结果不对时) 断点+单步调试,观察并记录各变量的值 2、输入一批字符,遇回车号结束,分别统计英文字符(不分大小写)、数字、空格和其它符号的个数(不含回车符) 流程图 源程序 测试数据 预期结果 实际结果(连续运行时) 语法错误: 调试过程:(指编译通过,无语法错误后,但运行结果不对时) 3、输入1个整数,判断它是否为素数。 流程图 源程序 测试数据 预期结果 实际结果(连续运行时) 语法错误: 调试过程:(指编译通过,无语法错误后,但运行结果不对时) 思考: 当循环程序出口不唯一时,如何判断循环从哪个出口出来的呢?以本题为例,说明常用判断方法。 4 在上题的基础上改写,功能扩展为:输入2个正整数m和n,输出m、n之间所有的素数。 程序改写思路及核心部分 语法错误: 测试数据 预期结果 实际结果(连续运行时) 调试过程:(指编译通过,无语法错误后,但运行结果不对时) 思考: 在嵌套循环中,内层的break语句 跳出它所在的循环, 跳出外层循环。 5、10元钱换成1、2和5元的零钱,要求至少有一张1元的,有几种
显示全部
相似文档