C语言循环实验报告_第1页
C语言循环实验报告_第2页
C语言循环实验报告_第3页
C语言循环实验报告_第4页
C语言循环实验报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 实验名 循环结构 实验目的 1 掌握在程序设计条件型循环结构时 如何正确地设定循环条件 以及如何控制循环 的次数 2 了解条件型循环结构的基本测试方法 3 掌握如何正确地控制计数型循环结构的次数 4 了解对计数型循环结构进行测试的基本方法 5 了解在嵌套循环结构中 提高程序效率的方法 二 实验内容 一一 题目题目 1 1 1 题目内容描述 1 下面是一个计算 e 的近似值 使误差小于给定的 的程序 main double e 1 0 x 1 0 y detax int i 1 printf n please input enter a error scanf lf 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 分别换成 y detax y detax y detax y detax 观察程序 运行将会有什么变化 假如不知道机器内的程序中的各语句实际上是什么 分别输入什么样的 detax 来 测试出 while 语句的循环条件写错了 4 把原程序中 while 语句之前的 y 1 x 语句去掉 观察程序的运行将会发生什么样 的变化 假如 不知道机器内的程序实际上是怎么写的 输入什么样的 detax 就能测试出少了上述 这条语句 5 若把原程序中的 i 换成 i 观察程序的运行发生了什么变化 假如不知道这条语句到底是怎么 写的 输入什么样的 detax 就能测试出这条语句写错了 2 6 把原程序中的 while 结构改写成 do while 结构 再分别按上述的 2 3 两步进 行实验 2 输入和输出信息描述及数据类型确定 1 输入数据 序号 输入数据描述 数据类型 1e x y detaxdouble 2iint 2 输出数据 序号 输出数据描述 数据类型 1Edouble 3 程序源代码 填写程序调试正确后的代码 include int main double e x y detax int i e 1 0 x 1 0 i 1 0 printf please input enter a error n scanf lf y 1 x while y detax x x i y 1 x e e y i printf 12 10lf e return 0 7 程序调试 错误 序号 错误信息 列出出错语句以及出 错提示 是否 解决 解决方法 1格式不对是手动调整 2warning return type defaults to int Wreturn type 是在main 前加上int 3error stray 243 in program error stray 273 in program 是 将double e 1 0 x 1 0 y detax int i 1 改为double e x y detax int i e 1 0 x 1 0 i 1 0 4D 程序 e近似值 main c In function main error stray 241 in program 是将printf n please input enter a error 改为printf please input enter a error n 5error stray 241 in program 是将scanf lf 改为 6error I undeclared first 是将I改为i 3 use in this function 7c 19 error stray 241 in program 是将printf 12 10lf e 改为 printf 12 10lf e 8c 20 warning control reaches end of non void function Wreturn type 是在后一个大括号前加上return 0 8 测试与结果分析 1 测试数据与结果 测试 序号 测试用例选取原 因 测试输入 数据 测试输出结果是否 正确 结果分析 1不循环21 0000000000是 2循环一次12 5000000000是 3循环两次0 72 5000000000是 死循环0无是 2 2 相关问题回答 相关问题回答 1 阅读上面的程序 写出程序所依据的计算公式 答 e 1 1 2 1 6 1 i 2 当输入的 detax 各是什么值时 能分别使程序按下面的要求运行 不进入循环 只循环一次 只 循环两次 进入死循环 程序将永远循环下去 为了能知道程序循环了多少次 应该在程序中增加一 条什么样的语句 答 大于1不进入循环 等于1只循环一次 大于0 5小于1只循环两次 等于0进入死循环 程序将永远循环 下去 应增加printf i d i 1 3 原程序中 while 语句中的 y detax 分别换成 y detax y detax y detax ydetax 输入不小于1时不进行循环 输出1 输入小于1时则会进行循环 y detax 当输入为0时 y被赋值为0 直接结束循环 当输入不为0 则进入死循环 y detax 输入不大于1时不进行循环 输出 为1 输入大于1时则进入死循环 y detax 输入不小于1时进入死循环 输入小于1则不进行循环 输出 1 分别输入3 0 5 1即可 4 把原程序中 while 语句之前的 y 1 x 语句去掉 观察程序的运行将会发生什么样 的变化 假如 不知道机器内的程序实际上是怎么写的 输入什么样的 detax 就能测试出少了上述 这条语句 答 输入1 5 若把原程序中的 i 换成 i 观察程序的运行发生了什么变化 假如不知道这条语句到底是怎么 写的 输入什么样的 detax 就能测试出这条语句写错了 6 把原程序中的 while 结构改写成 do while 结构 再分别按上述的 2 3 两步进 行实验 答 2 步与原来 while 相同 3 步当有的输入条件不符合判断条件时 仍会先进行一次循环后结束 而 while 则直接结束 include int main double e x y detax 定义变量 int i e 1 0 赋值 x 1 0 i 1 0 4 printf n please input enter a error 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 二二 题目题目2 2 1 1 题目内容描述 题目内容描述 下面是一个用以计算 的 C 程序 main int i j long sum 0 for i 1 i 20 i for j 1 j 3 j sum sum i 1 i 1 j 2 printf sum is d n sum 2 实验步骤 1 将上述程序中的和分别做什么样修改 能使程序按如下要求运行 不循环 外循环 1 次 不进 入内循环 外循环 内循环各 1 次 外循环 1 次 内循环 2 次 外循环 2次 内循环 1 次 外循环 19 次 内循环 3 次 外循环 20 次 内循环 2 次 外循环 21 次 内循环 3 次 2 试修改程序 以便能知道控制表达式 i 1 j 20 i 和 j 1 j 3 j 各执行了多少次 3 内循环与外循环的控制表达式进行对换 观察程序的执行结果有无变化 并且观 察对换后的外循环 与内循环控制表达式执行的总次数有无变化 4 将 3 中程序写为 main int i j k long sum 0 for j 1 j 3 j k j 2 for i 1 i 20 i sum sum i 1 i 1 k printf sum is d n sum 观察程序的执行结果有无变化 5 5 将 3 中程序改写为 main int I j m n long sum 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 sum is d n sum 观察程序的执行结果有无变化 6 在 5 的程序中 若将外循环控制表达式分别做如下修改 j 1 j 3 j j 1 j 3 j j 1 j3 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 2 输入和输出信息描述及数据类型确定 输入和输出信息描述及数据类型确定 1 输入数据 序号 输入数据描述 数据类型 1 I j int 2sumlong int 2 输出数据 序号 输出数据描述 数据类型 1sumLong int 3 3 程序源代码 填写程序调试正确后的代码 程序源代码 填写程序调试正确后的代码 include main int i j long sum 0 for i 1 i 20 i for j 1 j 3 j sum sum i 1 i 1 j 2 printf sum is d n sum 4 程序调试 程序调试 错误错误信息 列出出错语句以及出错提示 是否 解决方法 6 序号解决 1 6 warning value computed is not used Wunused value 是将for i 1 i 20 i 改为 for i 1 i3 j 外循环 内循环各1次 改为for i 1 i 1 i for j 1 j 1 j 外循环1次 内循环2次 改为for i 1 i 1 i int j 1 for j 2 j 外循环2次 内循环1次 改为for i 1 i 2 i for j 2 j 外循环19次 内循环3次 改为for i 1 i 19 i int j 1 for j 3 j 外循环20次 内循环2次 改为 for i 1 i 20 i int j 1 for j 2 j 外循环21次 内循环3次 改为for i 1 i 21 i int j 1 for j 3 j 2 试修改程序 以便能知道控制表达式 i 1 j 20 i 和 j 1 j 3 j 各执行了多少次 答 添加printf i d j d i j 分别执行60和20次 3 内循环与外循环的控制表达式进行对换 观察程序的执行结果有无变化 并且观 察对换后的外循环 与内循环控制表达式执行的总次数有无变化 答 无 次数外循环3次 内循环60次 内循环不变 外循环次数改变 4 将 3 中程序改写观察程序的执行结果有无变化 无 5 将 3 中程序改写 观察程序的执行结果有无变化 无 6 在 5 的程序中 若将外循环控制表达式分别做如下修改 j 1 j 3 j j 1 j 3 j j 1 j3 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 结果0 4 j 1 j 3 j 结果 0 5 j 1 j3 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 三三 题目题目3 3 1 题目内容描述 7 绘制等腰空心梯形 下底和高都为输入变量n n 5时 打印图形如 右 2 程序源代码 填写程序调试正确后的代码 include int main int i x n j 定义变量 printf please enter the n scanf d 输入格式 for i n i 1 i for j 0 j n i j printf 当j小于n i时循环输出空格 for x 1 x1 若满足条件则打印空格 if x 1 x 2 i n 2 i 1 i n printf 若满足则打印 printf n 换行 return 0 3 测试与结果分析 1 测试数据与结果 测试 序号 测试用 例选取 原因 测试输入 数据 测试输出结果是否 正确 结果分 析 16正确 28正确 8 313正确 四四 题目题目4 4 1 题目内容描述 想一个1 100之间的数 猜对 right 猜错 wrong并提示大小 1 最多猜10次猜多个数 2 10次猜 不对就猜下一个数 6 程序源代码 填写程序调试正确后的代码 猜十次 include include 预处理magic include 时间函数 int main int magic number i 定义变量 i 1 srand time NULL magic rand 100 1 产生随机数 for i 1 i 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论