C语言循环实验报告.docx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言循环实验报告.docx》由用户(最好的沉淀)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 循环 实验 报告
- 资源描述:
-
1、C 语言循环实验报告实验名: 循环结构实验目的1、掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环 的次数。2、了解条件型循环结构的基本测试方法。3、掌握如何正确地控制计数型循环结构的次数4、了解对计数型循环结构进行测试的基本方法5、了解在嵌套循环结构中,提高程序效率的方法二、实验内容(一)) 题目 11、题目内容描述1、下面是一个计算 e 的近似值(使误差小于给定的)的程序。main()double e=1.0,x=1.0,y,detax; int i=1;printf(“n please input enter a error:”); scanf(“%lf”,&de
2、tax);y=1/x; while(y=detax)x=x*I; y=1/x; e=e+y;+i;printf(“%12.10lf”,e);2、实验步骤(1) 阅读上面的程序,写出程序所依据的计算公式。(2) 当输入的 detax 各是什么值时,能分别使程序按下面的要求运行: .不进入循环; .只循环一次; .只循环两次; .进入死循环(程序将永远循环下去)。 为了能知道程序循环了多少次,应该在程序中增加一条什么样的语句?(3) 原程序中 while 语句中的 y=detax,分别换成 ydetax,y=detax,ydetax,y=detax, 观察程序运行将会有什么变化。 假如不知道机器内
3、的程序中的各语句实际上是什么,分别输入什么样的 detax 来测试出 while 语句的循环条件写错了。(4) 把原程序中 while 语句之前的 y=1/x 语句去掉,观察程序的运行将会发生什么样 的变化。 假如不知道机器内的程序实际上是怎么写的,输入什么样的 detax 就能测试出少了上述 这条语句。(5) 若把原程序中的+i 换成 i+,观察程序的运行发生了什么变化? 假如不知道这条语句到底是怎么3写的,输入什么样的 det ax 就能测试出这条语句写错了( 6 ) 把原程序中的 wh il e 结构 改写成 dowhi l e 结构,再分别按上述的(2) 、 ( 3) 两步进 行实验。
4、2、输入和输出信息描述及数据类型确定;( D输入数据序号输入数据描述e,x,y,detax2i( 2 ) 输出数据序号输出数据描述E数据类型double int数据类型double3、程序源代码(填 写程序调试正确后的代码)#include int main()double e,x,y,detax; inti;e=l. 0;x=l. 0;i =l. 0;printf(please input enter a error:n); scanf (%1f 气det ax) ;y=l/x;wh i l e (y=det ax)x=x*i; y=l/x; e=e+y;+i;printf (%12. lO
5、lf, e) ; return 0;7、程序调试否 决是 解 是 是错误错误信息(列出出错语句以及出错序号提示)1 格式不对32 warning: return type defaults toint-Wr et urn - t ype Ierror: stray243in program I 是error: stray273in program I4D :程序e 近似值m ai n. c l I In是functionmain5 6error: stray 241 i n program I3error: stray241in program I 是error:Iundeclared (f
6、i r st 是use in this funct i on) I解决方法手动调整在mai n ()前加上i nt将doubl e e=l. 0, x=l. 0, y, detax; int i =l ;改为double e, x, y, detax; int i ;e=l. O; x=l. O; i=l. O;将 rp i nt f ( n pl ease input enter a err or : ) ;改为pr i nt f (w please input enter a err or : n*) ;将scanf (%lf, &det ax) ; 改为将I改为i7c l 1 9 l e
7、r r or : stray241in是8pr ogram l将pr i nt ( %1 2. 101, e) ;改为print (%12. 101, e) ;10c l 20wlar ni ng: control reaches是在后一个大括号前加上r et ur n O;end of non-void function - Wr et ur n- t ype I8、测试与结果分析测试序号测试用例选取原因测试输入数据测试输出结果是否芷确结果分析1不循环21. 0000000000是2循环一次12.5000000000是3循环两次0. 72. 5000000000是(l 测试数据与结果死循环。
8、无是( 2; 相关问题回答(1 ) 阅读上面的程序, 写出程序所依据的计算公式。答: e =l +1/ 2+1/ 600+1 / i !( 2) 当输入的 det ax 各是什么值时 , 能分别使程序按下面的要求运行: 不进入循环; 只循环一次; 只循环两次;进入死循环(程序将永远循环下去)。为了能知道程序循环了多少次,应该在程序中增加 一条什么样的语句?答:大 于1不进入循环,等于 1只循环一次, 大于0. 5小于1只循环两次, 等于0进入死循环(程序将永远循环下去)。应增加pr i nt f ( i 书 d , i-1) ;( 3) 原程序中 whi l e 语句中的 y)= det ax
9、, 分别换成 y) det ax, y=det ax, y( det ax, y( =det ax,观察程序运行将会有什么变化。假如不知道机器内的程序中的各语句实际上是什么, 分别输入什么样的 det ax 来测试出 whil e 语句的循环条件 写错了。答: y) det ax , 输入不小千1时不进行循环,输出l ; 输入小千1时则会进行循环。y=det ax, 当输入为0时, y被赋值为 o, 直接结束循环; 当输入不为o, 则进入死循环。y( det ax, 输入不大于1时不进行循环, 输出为1; 输入大千1时则进入死循环。y(= det ax, 输入不小千1时进入死循环;输入小千1则
10、不进行循环,输出1。分别输入3, 0. 5, 1即可。( 4) 把原程序中w hi l e 语句之前的 y= l/ x 语句去掉,观 察程序的运行将会发生什么样 的变化。 假如不知道机器内的程序实际上是怎么写的,输 入什么样的 det ax 就能测试出少了上述 这条语句。答: 输入1.( 5) 若把原程序中的廿i 换成 i +,观察程序的运行发生了什么变化? 假如不知道这条语句到底是怎么写的,输入什么样的 de t ax 就能观试出这条语句写错了( 6 ) 把原程序中的 whil e 结构改写成 do一whi l e 结构,再分别按上述的(2) 、 ( 3) 两步进 行实验。答: ( 2) 步
11、与原来w hil e 相同。 ( 3) 步当有的输入条件不符合判断条件时, 仍会先进行一次循环后结束,而whil e 则直接结束。#i nc l ude int main()doub l e e,x,y,detax; int i ;e=l.O;x=l. 0;i=l. 0;4pr i nt f ( n pl eas e input enter a error:);定义变量/赋值scanf(%lf,&detax);/ 输入detax y=1/x;dox=x*i; y=1/x; e=e+y;+i;while(y=detax);/ 执行dowhile循环printf(%12.10lfn,e);/ 输出
展开阅读全文