




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言循环实验报告PAGEPAGE3实验名:循环结构实验目的1、掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。2、了解条件型循环结构的基本测试方法。3、掌握如何正确地控制计数型循环结构的次数4、了解对计数型循环结构进行测试的基本方法5、了解在嵌套循环结构中,提高程序效率的方法二、实验内容(一)题目11、题目内容描述1、下面是一个计算e的近似值(使误差小于给定的δ)的程序。main(){doublee=1.0,x=1.0,y,detax;inti=1;printf(“\npleaseinputenteraerror:”);scanf(“%lf”,&detax);y=1/x;while(y>=detax){x=x*I;y=1/x;e=e+y;++i;}printf(“%12.10lf”,e);}2、实验步骤阅读上面的程序,写出程序所依据的计算公式。当输入的detax原程序中whiley>=detaxy>detax,y=detax,y<detax,y<=detaxdetax测试出while语句的循环条件写错了。whiley=1/x不知道机器内的程序实际上是怎么写的,输入什么样的detax就能测试出少了上述这条语句。若把原程序中的++ii++,观察程序的运行发生了什么变化?假如不知道这条语句到底是怎么写的,输入什么样的detax就能测试出这条语句写错了.(6)把原程序中的while结构改写成do—while结构,再分别按上述的(2)、(3)两步进行实验。2、输入和输出信息描述及数据类型确定;(D 输入数据序号 输入数据描述e,x,y,detax2 i(2)输出数据序号 输出数据描述E
数据类型doubleint数据类型double3、程序源代码(填写程序调试正确后的代码)#include<stdio.h>intmain(){doublee,x,y,detax;inti;e=l.0;x=l.0;i=l.0;printf("pleaseinputenteraerror:\n");scanf("%1f气&detax);y=l/x;while(y>=detax){x=x*i;y=l/x;e=e+y;++i;printf("%12.lOlf",e);return0;7、程序调试否决是否决是解是是格式不对3warning:returntypedefaultsrturn-type]I3error:stray'\243'inprogramI是error:stray'\273'inprogramI4D:程e近似min.clIIn 是4function'main'56error:stray'\241'in563error:stray'\241'inprogramI是error:'I'undeclared(first是useinthisfunction)I3
解决方法手动调整在main()前加上int将doublee=l.0,x=l.0,y,detax;inti=l;改为doublee,x,y,detax;inti;e=l.O;x=l.O;i=l.O;intf("\npleaseinputenteraerror:printf(wpleaseinputenteraerror\n*);将scanf("%lf",&detax);改为将I改为iPAGEPAGE107cl19lerror:stray'\241'in 78programl8
将print£("%12.101£",e);改为print£("'%12.101£'•,e);cl2wl
arning:controlreaches
在后一个大括号前加上returnO;endofnon-voidfunction[-Wreturn-type]I8、测试与结果分析测试序号测试用例选取原因测试序号测试用例选取原因测试输入数据测试输出结果是否芷确结果分析1不循环21.0000000000是2循环一次12.5000000000是3循环两次0.72.5000000000是死循环
。 无 是(2;相关问题回答(1)阅读上面的程序,写出程序所依据的计算公式。答:e=l+1/2+1/6•00+1/i!(2)当输入的detax各是什么值时,能分别使程序按下面的要求运行:.不进入循;.只循一次;.只循环两次; 进入死循环(程序将永远循环下去)为了能知道程序循环了多少次,应该在程序中增加一什么样的句?:大于1只循环一次0.小于1进入死循环(程序将永远循环。应增加printf("id",i-1(3)原程序中while语句中的y)=detax,分别换成y)detax,y=detax,y(detax,y(=detax, 观察程序运行将会有什么变化。 假如不知道机器内的程序中的各语句实际上是什么 ,分别输入什么样的detax来测试出while语句的循环条件错了。:y)detax,输入不小时不进行循环,输出l;输入小时则会进行循环y=detax,当输入时,y被赋值为o,直接结循;当输入不o,则进入死循环y(detax,输入不大1时不进行循,输出;输入大千时则进入死循环。y(=det,输入不小时进入死循;输 入小则不进行循环,输出1。分别输入3,0.5,1即可。(4)把原程序中while语句之前的y=l/x语句去掉,观察程序的运行将会发生什么样的变化。假如不知道机器内的程序实际上是怎么写的,输入什么样的detax就能测试出少了上述这条语句。答:输入1.(5)若把原程序中的廿i换成i++,观察程序的运行发生了什么变化?假如不知道这条语句到底是怎么写的,输入什么样的detax就能观试出这条语句写错了.(6)把原程序中的while结构改写成do一while结构,再分别按上述的(2)、(3)两步进行实验。答:(2)步与原来while相同。(3)步当有的输入条件不符合判断条件时,仍会先进行一次循环后结束,而while则直接结束。#include<stdio.h>intmain()doublee,x,y,detax;inti;e=l.O;x=l.0;i=l.0;4printf("\npleaseinputenteraerror:");4
//定义变量//赋值scanf("%lf",&detax); //y=1/x;do{x=x*i;y=1/x;e=e+y;++i;}while(y>=detax); //do…while循环printf("%12.10lf\n",e); //printf("i=%d\n",i-2);})题目21、题目内容描述下面是一个用以计算的C程序。main(){inti,j;longsum=0;for(i=1,i<=20,i++)for(j=1;j<=3;j++)sum=sum+(i+1)*(i+1)*(j+2)printf(“sumis:%d\n”,sum);}2、实验步骤11122119320次,内循环2213试修改程序,以便能知道控制表达式 i=1;j<=20;i++和j=1;j<3;j+=各执行了多少次?与内循环控制表达式执行的总次数有无变化?将(3)main(){inti,j,k;longsum=0;for(j=1.j<=3.j++){k=j+2;for(i=1;i<=20;i++)sum=sum+(i+1)*(i+1)**k;}printf(“sumis:%d\n”,sum);}观察程序的执行结果有无变化?将(3)main(){intI,j,m,n;longsum=0;for(j=1;j<=3;j++){m=j+2;for(I=1;j<=20;I++){n=I+1;sum=sum+m*m*k;}}printf(“sumis:%d\n”,sum);}观察程序的执行结果有无变化?在(5)的程序中,若将外循环控制表达式分别做如下修改:.j=1;j<3;j++.j=1;j=3;j++.j=1;j>=3;j++.j=1;j>3;j++.j=1;j<=3;j--.j=1;j>3;j--.j=1;j<3;j++.j=0;j<=3;j+=.j=0;j<3;j++j=1;j<=3;j++j=1;j<3;++j观察程序的执行结果有无变化2、输入和输出信息描述及数据类型确定;、输入数据序号 输入数据描述I,jsum
数据类型intlongint(2)输出数据序号 输出数据描述1 sum
数据类型Longint3、程序源代码(填写程序调试正确后的代码)#include<stdio.h>main(){inti,j;longsum=0;for(i=1;i<=20;i++)for(j=1;j<=3;j++)sum=sum+(i+1)*(i+1)*(j+2);printf("sumis:%d\n",sum);}4、程序调试错误序号1错误信息(列出出错语句以及出错提示)|6|warning:valuecomputedisnotused是否解决是解决方法将for(i=1;i<=20;i++)改为[-Wunused-value]|for(i=1;i<=20;i++)2|2|warning:returntypedefaultsto是在main()前加上int'int'[-Wreturn-type]|3|9|error:expected';'before是sum=sum+(i+1)*(i+1)*(j+2)'printf'|4|9|error:stray'\241'inprogram|是将printf(“sumis:%d\n”,sum);改为printf("sumis:%d\n",sum);5|10|warning:controlreachesendof是加上return0;non-voidfunction[-Wreturn-type]|6|9|warning:format'%d'expects否argumentoftype'int',butargument2hastype'longint'[-Wformat=]|、相关问题回答11122119320次,内循环2213答:外循环1次,不进入内循环:改为for(i=1,i=1,i++) for(j=1;j>3;j++).外循环,内循环各1次:改为for(i=1;,i=1;i++) for(j=1;j=1;j++).外循环1次,内循环2次:改为for(i=1;i=1;i++) intj=1;for(;j<=2;j++).外循环2次,内循环1次:改为for(i=1;i<=2;i++) for(;j<2;j++).外循环19次,内循环3for(i=1;i<=19;i++)intj=1;for(;j<=3;j++).外循环20次,内循环2for(i=1;i<=20;i++)intj=1;for(;j<=2;j++).外循环21次,内循环3for(i=1;i<=21;i++)intj=1;for(;j<=3;j++)试修改程序,以便能知道控制表达式 i=1;j<=20;i++和j=1;j<3;j+=各执行了多少次答:添加printf("i=%d,j=%d",i,j);分别执行60和20次。与内循环控制表达式执行的总次数有无变化?答:无,次数外循环3次,内循环60次,内循环不变,外循环次数改变将(3)中程序改写观察程序的执行结果有无变化?无。将(3)中程序改写观察程序的执行结果有无变化?无。在(5)的程序中,若将外循环控制表达式分别做如下修改:j=1;j<3;j++.j=1;j=3;j++.j=1;j>=3;j++.j=1;j>3;j++.j=1;j<=3;j--.j=1;j>3;j--.j=1;j<3;j++.j=0;j<=3;j+=.j=0;j<3;j++j=1;j<=3;j++j=1;j<3;++j观察程序的执行结果有无变化答:(1).j=1;j<3;j++结果23170(2)j=1;j=3;j++结果死循环(3)j=1;j>=3;j++结果0(6)j=1;j>3;j—结果不运行(7)j=1;j<3;j++结果23170(8)j=0;j<=3;j+=结果有错(9)j=0;j<3;j++结果29790(10)j=1;j<=3;j++结果39720.(11)j=1;j<3;++j结果23170。、题目31、题目内容描述#include<stdio.h>intmain(){inti,x,n,j; //printf("pleaseenterthen:");scanf("%d",&n); //for(i=n;i>=1;i--){for(j=0;j<n-i;j++)printf(" //j小于n-ifor(x=1;x<=2*i+n-2;x++){}}return0;}
if(x>1&&x<2*i+n-2&&(i!=n)&&(i!=1))printf(" //if(x==1||x==2*i+n-2||i==1||i==n)printf("*"); //若满足则打印printf("\n"); //换行3、测试与结果分析、测试数据与结果测试 测试序号 例选原因
测试输入数据
测试输出结果 是否 结果分正确 析绘制等腰空心梯形,下底和高都为输入变量n,n=5时,打印图形如右:2、程序源代码(填写程序调试正确后的代码)6 正确绘制等腰空心梯形,下底和高都为输入变量n,n=5时,打印图形如右:2、程序源代码(填写程序调试正确后的代码)8 正确13 正确(四)题目41、题目内容描述想一个1~100之间的数,猜对:right,猜错:wrong并提示大小。(1)最多猜10次猜多个数,(2)10次猜不对就猜下一个数6、程序源代码(填写程序调试正确后的代码)猜十次:#include<stdio.h>#include<stdlib.h> //magic#include<time.h> //intmain(){intmagic,number,i; //i=1;srand(time(NULL));magic=rand()%1001; //for/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东二月联考试卷及答案
- 2025年居间合同的样本
- 空调器故障案例分析与解决方案考核试卷
- 胶合板行业发展趋势与市场规模预测考核试卷
- 组织管理服务拓展课程列表考核试卷
- 煤炭制品在生产生活中的应用拓展考核试卷
- 硅冶炼过程中的生产安全应急预案演练考核试卷
- 二厂员工考试试题及答案
- 职业中介服务的行业品牌推广与宣传考核试卷
- 残疾人生活品质提升服务创新考核试卷
- 全国第三届职业技能大赛(CAD机械设计项目)选拔赛理论考试题库(含答案)
- 2024年重庆市初中学业水平考试生物试卷含答案
- 航空物流智慧航空物流管理系统设计与实施
- 智能家庭影院系统行业市场突围建议书
- UL498标准中文版-2019插头插座UL标准中文版
- 【MOOC】颈肩腰腿痛中医防治-暨南大学 中国大学慕课MOOC答案
- 2024年中国酸奶酪市场调查研究报告
- 中国华能集团公司《电力安全工作规程》(电气部分)
- 湖北省襄阳市襄州区2025届初三(生物试题理)4月第一次综合练习试卷含解析
- 2023年延边大学工作人员招聘考试真题
- DL∕T 5003-2017 电力系统调度自动化设计规程
评论
0/150
提交评论