《C语言程序设计实验讲义(湖南师范大学).doc》由会员分享,可在线阅读,更多相关《C语言程序设计实验讲义(湖南师范大学).doc(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机基础及应用(二)C程序设计实验指导册湖南师范大学工学学院 编著目 录实验1 C程序的运行环境和运行C程序的方法1实验2 基本数据类型的使用3实验3 运算符与表达式7实验4 顺序结构程序设计10实验5 选择结构程序设计13实验6 循环结构程序设计15实验7 多重循环结构程序设计18实验8 一维数组与二维数组21实验9 字符数组与字符串22实验10 函数24实验11 多文件程序的实现26实验12 编译预处理29实验13 指针32实验14 结构体和共用体34实验15 位运算37实验16 文件操作40实验17 综合性实验44实验1 C程序的运行环境和运行C程序的方法实验类型:验证 实验学时:2学
2、时 实验日期: 年 月 日 实验成绩: 一、实验目的1、熟悉Windows环境下的DOS窗口,掌握部分常用DOS命令的操作。2、熟悉C程序的实现过程和方法:(1)掌握编辑、编译、连接、运行程序的过程和方法。(2)了解常见的两种语法错误(Error/Warning)。3、了解Turbo C 2.0集成开发环境。二、实验要求1、按照“实验内容和步骤”,在Turbo C 2.0下完成程序的编辑、编译、运行,查看并分析程序运行结果;如果程序有错,记录编译、连接遇到的错误提示。仔细思考出错原因,并更正之。2、源程序保存在D盘的用户目录中。用户目录名建议使用自己的学号或姓名拼音简写。3、建议对实验程序进行
3、反复修改、补充,比如,故意将已能正常运行的程序改错,观察对比编译、运行结果。通过这样,来验证和测试所学知识,熟练程序调试技巧,在完成实验要求的任务之外,学会创造性工作。三、实验内容和步骤1、启动操作系统,查找Turbo C集成开发环境的安装位置(路径),观察其子目录的组成,并找到TC.EXE文件。2、进入DOS窗口,切换到D盘,创建、进入用户目录。(1)点击开始程序附件命令提示符,进入DOS窗口;(2)切换到D盘; (3)创建以自己学号或姓名拼音简写为目录名的用户目录;(4)查看目录是否创建好; (5)进入你的用户目录。 3、启动、退出Turbo C 2.0集成开发环境。(1)启动Turbo
4、C 2.0集成开发环境。方法一:在Windows环境下双击Turbo C 2.0快捷图标;方法二:在DOS窗口下,进入Turbo C集成开发环境安装位置(路径)后,执行TC.exe可执行文件。(2)退出Turbo C 2.0集成开发环境。选择菜单FileQuit,退出Turbo C 2.0集成开发环境。(3)再次启动Turbo C环境。4、Turbo C环境中,常用的功能键和组合键的使用。(1)重复按F6键,观察当前激活窗口在编辑窗口和消息窗口之间切换。(2)重复按F5键,观察当前激活窗口在最大和正常状态之间切换。(3)先按F10,可以看到主菜单被激活,按、光标移动键,主菜单各个项被依次激活,
5、试着按、光标移动键可以打开相应菜单。重点浏览File(文件管理)、Run(程序运行控制)、Compile菜单(程序编译、连接)菜单,尝试理解每个菜单项的含义。最后按ESC键,光标回到编辑窗口。(4)主菜单的每一项,首字母均为红色(高亮度)。可以按Alt+高亮字母,直接激活相应菜单选项。例如按Alt+F激活File菜单,按ESC键光标回到编辑窗口。(5)观察当前源程序名。“NONAME.C”表示当前的程序还没有取名字,以后保存程序时,系统会提示输入源程序名。5、按照下面步骤完成【任务1】(1)选择菜单“FileNew”创建一个新的源程序文件;(2)输入菜单源程序,全屏幕编辑源程序;(3)选择菜单
6、“FileSave”保存源程序。以文件名L1_1.c保存在用户目录下。观察编辑窗口中的源程序名是否已经修改。用Windows资源管理器或DOS命令查看用户目录中是否出现了源程序文件名。(4)选择菜单“CompileBuild all”编译、连接源程序。如果有语法错误,修改源程序后再次编译、连接程序,直到没有语法错误,系统提示成功。 编译连接成功后,用Windows资源管理器或DOS命令查看用户目录中是否产生了相同文件主名的目标文件(*.obj)和可执行文件(*.exe)。(5)选择菜单“RunRun”运行程序,用Alt+F5切换到用户屏幕查看运行结果。对比结果是否与预期相同。如果发现逻辑错误,
7、即结果与预期不同,查找错误并修改源程序,重复(4)(5),保存、编译、运行程序,直到程序获得满意结果。6、按上述第5条所列步骤完成【任务2】。程序编辑好了后,以文件名L1_2.c保存在用户目录下。然后编译运行,观察分析结果。7、按上述第5条所列步骤完成【任务3】。程序编辑好了后,以文件名L1_3.c保存在用户目录下。然后编译运行,观察分析结果。四、任务要求及测试数据【任务1】从最简单的C程序开始学习C语言。编辑、编译、运行以下程序。参考代码main()printf(“This is my first C program!n”);【任务2】看看一个具有致命语法错的程序运行情况。注意观察并读懂系统
8、给出的错误提示。参考代码main() int i=9printf(“i=%dn”,i)【任务3】看看一个具有警告语法错的程序运行情况。分析出现警告错误的原因。参考代码main()int i=9,j,s;s=i+j;printf(s=%dn,s);五、问题记录及注意事项要求:记录上机过程中遇到的问题,并将英文错误提示翻译成中文。理解并解释原因及给出更正问题的方法。1、2、六、实验小结和思考1、你上机所用的计算机中,Turbo C的安装目录在哪里? 2、写出一些常用DOS命令的格式。切换工作驱动器:创建用户目录: 进入用户目录: 目录列表: 执行可执行程序:3、F5、F6、F10,光标移动键、Al
9、t+高亮度键的效果和作用?4、与C语言程序直接相关的几种文件及其扩展名分别是什么?5、概括运行C语言程序的主要过程。6、运行C语言程序遇到的主要错误包括语法错误和逻辑错误,语法错误又分为致命错(Error)和警告错(Warning),思考它们之间的差异。实验2 基本数据类型的使用实验类型:验证 实验学时:2学时 实验日期: 年 月 日 实验成绩: 一、实验目的1、掌握C语言基本数据类型(整型、实型、字符型)数据的常量表示、变量的定义和使用。2、掌握常见格式控制字符对输出结果的控制作用。3、了解数据溢出错误和舍入误差(以整型、实型数据为例)。4、进一步熟悉C程序的实现过程。二、实验要求1、实验前
10、认真预习,阅读分析4个程序的运行结果。实验时仔细对比程序实际运行结果。 2、按照“实验内容和步骤”,在Turbo C 2.0下完成程序的编辑、编译、运行,查看并分析程序运行结果;如果程序有错,记录编译、连接遇到的错误提示。仔细思考出错原因,并更正之。3、程序编辑过程中,建议经常用菜单“FileSave”或按热键F2保存源程序,以免出现死机、停电等意外时,导致源程序数据丢失。4、源程序保存在D盘的用户目录中。用户目录名建议使用自己的学号或姓名拼音简写。5、建议对实验程序进行反复修改、补充,比如,故意将已能正常运行的程序改错,观察对比编译、运行结果。通过这样,来验证和测试所学知识,熟练程序调试技巧
11、,在完成实验要求的任务之外,学会创造性工作。6、认真思考并回答实验小结和思考中的问题。三、实验内容和步骤首先,启动Turbo C集成开发环境。1、按要求完成【任务1】(1)录入程序,并以文件名L2_1.c保存在用户目录下;(2)编译运行,观察运行结果;(3)与阅读分析结果进行比较。2、按要求完成【任务2】(1)录入程序,并以文件名L2_2.c保存在用户目录下;(2)编译运行,观察运行结果;(3)与阅读分析结果进行比较。3、按要求完成【任务3】(1)录入程序,并以文件名L2_3.c保存在用户目录下;(2)编译运行,观察运行结果;(3)与阅读分析结果进行比较。4、按要求完成【任务4】(1)录入程序
12、,并以文件名L2_4.c保存在用户目录下;(2)编译运行,观察运行结果;(3)与阅读分析结果进行比较。最后,退出Turbo C集成开发环境,关机。四、任务要求及测试数据【任务1】上机编辑、运行一个测试整型和字符型数据的表示及输出的程序。参考代码中的注释部分是帮助理解程序的,可以不录入。参考代码main() int x=010,y=10,z=0x10; /* 整型数据表示 */ char c1=M,c2=x4d,c3=115,c4=77,c; /* 字符型数据表示 */ printf(x=%o,y=%d,z=%xn,x,y,z); /* 整型数据的输出 */* 数据以原来的进制形式输出,注意输出
13、结果中是否有前导0或0x */ printf(x=%d,y=%d,z=%dn,x,y,z); /* 数据以10进制输出,换算到10进制,分析结果的正确性*/ /* 字符型数据的输出 */ printf(c1=%c,c2=%x,c3=%o,c4=%dn,c1,c2,c3,c4); /* 数据以原来的进制形式输出,注意是否有前导0或0x */ printf(c1=%c,c2=%c,c3=%c,c4=%cn,c1,c2,c3,c4); /* 结果都是什么字符?也就是说字符可以自由的表示成几种形式?*/ printf(c1=%d,c2=%d,c3=%d,c4=%dn,c1,c2,c3,c4); /*
14、查查这些字符的十进制ASCII码值是多少?*/ /* 字符型数据参与算术运算 */c=c1+32; /* 字符型数据参加算术运算*/ printf(c=%c,c=%dn,c,c); /* 字符型的数据的两种输出形式*/阅读分析结果 实际运行结果【任务2】以下是一个理解常见转义字符对输出的控制作用的程序,上机编辑并运行。参考代码main() int a,b,c; a=5,b=6,c=7; printf(n); /* 打印一个标尺以便检查输出结果 */ printf(%dnt%d %dn %d %dtb%dn,a,b,c,a,b,c); /* 打印1个字符串 */ printf(c:L2_2.c)
15、; /* 打印一个文件名 */ printf(n);阅读分析结果 实际运行结果【任务3】以下是一个了解整型数据的溢出错误的程序。上机编辑并运行。参考代码main()int a,b; a=32767; b=a+1; printf(a=%d,a+1=%dn,a,b); /*/ a=-32768; b=a-1; printf(a=%d,a-1=%dn,a,b); /*/ getch(); /*getch()函数功能说明:获得键盘击键,起到暂停程序运行作用,目的是保留用户屏幕,便于查看结果。*/阅读分析结果 实际运行结果【任务4】以下是一个帮助了解实型数据的舍入误差的程序。上机编辑并运行。参考代码ma
16、in() float a,b; a=.789e5; b=a+20; printf(a=%f,b=%fn,a,b); /*/ printf(a=%e,b=%en,a,b); /*/阅读分析结果 实际运行结果五、问题记录及注意事项要求:记录上机过程中遇到的问题,并将英文错误提示翻译成中文。理解并解释原因及给出更正问题的方法。1、2、六、实验小结和思考(1)C语言中整型数据、字符型数据分别可以以什么形式表示?(2)简述转义字符:n,t,b的功能?(3)C语言为什么规定对所有用到的变量要“先定义,后使用”,这样做有什么好处?(4)使用计算机处理数据时可能出现溢出错误和舍入误差,这对我们编制程序有什么要
17、求?(5)如果要写出一个演示字符型数据溢出的程序,想想看如何编程实现。实验3 运算符与表达式实验类型:验证 实验学时:2学时 实验日期: 年 月 日 实验成绩: 一、实验目的1、掌握C语言算术、赋值、自增、自减运算符及相应表达式。2、掌握不同类型数据之间的赋值规律。3、了解强制数据类型转换以及运算符的优先级、结合性。4、学会根据表达式编写相应程序来验证结果的方法。二、实验要求1、【任务1】、【任务2】、【任务3】要求在实验前对题目进行阅读分析,并得出阅读分析结果。然后编制好上机测试用的验证程序。2、【任务4】、【任务5】要求实验前分析程序结果,以便上机时对比结果。3、实验中仔细观察、记录、比较
18、实验结果,如果不一致应找出原因。4、按照“实验内容和步骤”,在Turbo C 2.0下完成程序的编辑、编译、运行,查看并分析程序运行结果。5、源程序保存在D盘的用户目录中。用户目录名建议使用自己的学号或姓名拼音简写。三、实验内容和步骤首先,启动Turbo C集成开发环境。1、按要求完成【任务1】(1)录入自编的验证程序,并以文件名L3_1.c保存在用户目录下;(2)编译运行,观察运行结果;(3)与阅读分析结果进行比较。2、按要求完成【任务2】(1)录入自编的验证程序,并以文件名L3_2.c保存在用户目录下;(2)编译运行,观察运行结果;(3)与阅读分析结果进行比较。3、按要求完成【任务3】(1
19、)录入自编的验证程序,并以文件名L3_3.c保存在用户目录下;(2)编译运行,观察运行结果;(3)与阅读分析结果进行比较。4、按要求完成【任务4】(1)录入程序,并以文件名L3_4.c保存在用户目录下;(2)编译运行,观察运行结果;(3)与阅读分析结果进行比较。5、按要求完成【任务5】(1)录入程序,并以文件名L3_5.c保存在用户目录下;(2)编译运行,观察运行结果;(3)与阅读分析结果进行比较。最后,退出Turbo C集成开发环境,关机。四、任务要求及测试数据【任务1】已知:a=2,b=3,x=3.9,y=2.3(a, b为整型变量,x, y为浮点型变量),计算算术表达式(float)(a
20、+b)/2+(int)x%(int)y的值。试编程上机验证。阅读分析结果 实验运行结果 【任务2】已知:a=7,x=2.5,y=4.7(a为整型变量,x,y为浮点型变量),计算算术表达式x+a%3*(int)(x+y)%2/4的值。试编程上机验证。阅读分析结果 实验运行结果 【任务3】已知:a=12,n=5(a,n为整型变量),计算下面表达式运算后a的值。编程上机验证。(1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2) (6)a+=a-=a*=a阅读分析结果 实验运行结果(1) (2) (3) (1) (2) (3)(4) (5) (6) (4)
21、(5) (6)【任务4】阅读并分析出下面程序结果。并上机验证。main() int i,j,m,n; i=8; j=10; m=+i; n=j+; printf(i=%d, j=%d, m=%d, i=%dn,i,j,m,n);阅读分析结果 实验运行结果 【任务5】将k分别设置为127,-128,128,-129,分析下面程序结果。并上机验证。main() float a=3.7,b; int i,j=5; int k=127; /* 分别用127,-128,128,-129测试 */ unsigned U; long L; char C; i=a; printf(%dn,i); /* 浮点赋
22、值给整型 */ b=j; printf(%fn,b); /* 整型赋值给浮点*/ U=k; printf(%d,%un,U,U); /* 相同长度类型之间赋值 */ L=k; printf(%ldn,L); /* 整型赋值给长整型,短的类型赋值给长的类型 */ C=k; printf(%dn,C); /* 整型赋值给字符型,长的类型赋值给短的类型 */结果行k=127k=-128k=128k=-129阅读分析结果实验运行结果阅读分析结果实验运行结果实际运行结果实验运行结果实际运行结果实验运行结果12345五、问题记录及注意事项要求:记录上机过程中遇到的问题,并将英文错误提示翻译成中文。理解并解
23、释原因及给出更正问题的方法。1、2、六、实验小结和思考1、C语言取整是4舍5入?还是截断取整?2、归纳不同类型数据的赋值转换原则。3、本次实验学会编写程序来验证表达式结果,这对我们运用C语言有什么启发?实验4 顺序结构程序设计实验类型:验证 实验学时:2学时 实验日期: 年 月 日 实验成绩: 一、实验目的1、掌握使用标准输入/输出函数进行常见数据类型的数据的输入/输出方法。2、初步培养画流程图、编写源程序、准备测试数据以及实际调试程序的独立编程能力。二、实验要求1、实验前准备:根据【任务1】、【任务2】的要求画出流程图、编写源程序、准备测试数据。2、按照“实验内容和步骤”,在Turbo C
24、2.0下完成程序的编辑、编译、运行,查看并分析程序运行结果。3、源程序保存在D盘的用户目录中。用户目录名建议使用自己的学号或姓名拼音简写。三、实验内容和步骤首先,启动Turbo C集成开发环境。1、按要求完成【任务1】(1)录入源程序,并以文件名L4_1.c保存在用户目录下;(2)编译运行,观察分析结果。2、按要求完成【任务2】(1)录入源程序,以文件名L4_2.c保存在用户目录下;(2)编译运行,观察分析结果。3、按要求完成【任务3】(1)根据题意画出流程图;(2)根据流程图,直接在Turbo C集成开发环境中编程,并以文件名L4_3.c保存在用户目录下;(2)编译运行,观察分析结果。最后,
25、退出Turbo C集成开发环境,关机。四、任务要求及测试数据【任务1】编制程序:根据商品原价和折扣率,计算商品的实际售价。要求商品原价、折扣率等值从键盘输入,计算出的结果精确到小数点后2位)。【流程图】 【源程序】测试数据商品原价:128.00,折扣率:0.7【任务2】编制程序:根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积结果精确到小数点后3位。要求用scanf输入数据,输出计算结果。【流程图】 【源程序】测试数据园半径r=1.5,圆柱高h=3【任务3】编制程序:求ax2+bx+c=0方程的根。a,b,c由键盘输入,设b2-4ac0。五、问题记录及注意事项要求:记录上机过
26、程中遇到的问题,并将英文错误提示翻译成中文。理解并解释原因及给出更正问题的方法。1、2、注意事项:1、C语言变量先定义后使用,变量名大小写敏感。2、scanf输入数据,变量应当使用取地址运算。3、scanf函数格式字符串中的普通字符要原样输入,否则会发生错误。六、实验小结和思考1、若scanf(price=%f,discount=%f,&price,&discount); 如何输入两个数据?2、仔细分析程序中的变量采用什么类型。思考能否采用别的数据类型。实验5 选择结构程序设计实验类型:验证 实验学时:4学时 实验日期: 年 月 日 实验成绩: 一、实验目的1、了解C语言逻辑量的表示方法。2、
27、学会正确使用逻辑运算符和逻辑表达式。3、掌握if语句和switch语句的使用。3、了解Turbo C程序调试的基本方法。二、实验要求1、按照“实验内容和步骤”,在Turbo C 2.0下完成程序的编辑、编译、运行,查看并分析程序运行结果;2、源程序保存在D盘的用户目录中。用户目录名建议使用自己的学号或姓名拼音简写。三、实验内容和步骤首先,启动Turbo C集成开发环境。1、按要求及以下步骤完成【任务1】(1)根据题意,填写表格中的阅读分析结果;(2)根据题意,编辑程序,以文件名L5_1.c保存在用户目录下;(3)编译运行,观察分析结果,并与阅读分析结果进行比较;(4)尝试跟踪程序运行。用F7或
28、F8键单步跟踪程序,用Ctrl+F7可以检查变量值,用F4可以将程序运行到光标当前位置。2、按要求及以下步骤完成【任务2】(1)根据题意,编辑程序,以文件名L5_2.c保存在用户目录下;(2)编译运行,观察分析结果;(3)通过单步跟踪程序运行,理解switch语句的执行流程。3、按要求及以下步骤完成【任务3】(1)根据题意,填写表格中的阅读分析结果;(2)根据题意,编辑程序,以文件名L5_3.c保存在用户目录下;(3)编译运行,观察分析结果,并与阅读分析结果进行比较;(4)尝试跟踪程序运行。最后,退出Turbo C集成开发环境,关机。四、任务要求及测试数据【任务1】编制程序:有如下函数,要求输
29、入x的值,求y的值。x的值分别使用数据-5,0,5,10,100做测试。 |X|,X0Y= X2,0X10 lgX,X10X值Y值-50510100阅读分析结果实际运行结果【任务2】编制程序:输入1-7之间的任意数字,程序按照用户的输入,输出相应的英文星期单词。分别使用数据1,7,8做测试。要求使用switch语句编制程序。【任务3】某单位马上要加工资,增加金额取决于工龄和现工资两个因素:对于工龄大于等于20年的,如果现工资高于2000,加200元,否则加180元;对于工龄小于20年的,如果现工资高于1500,加150元,否则加120元。工龄和现工资从键盘输入,编程求加工资后的员工工资。下列表
30、格为测试用数据。工龄y(年)现工资S0(元)调整后工资S(元)阅读分析结果实际运行结果252200221900181700161400五、问题记录及注意事项要求:记录上机过程中遇到的问题,并将英文错误提示翻译成中文。理解并解释原因及给出更正问题的方法。1、2、注意事项:1、求绝对值对于浮点数要使用函数fabs。使用abs是对整数取绝对值。2、以10为底的对数,应当使用函数log10。3、0X10不能表示为0=x10,否则尽管无语法错误,但是含义不正确。4、case语句与常量之间应当有空格,否则当做语句标号处理。如case1:。(使用单步跟踪发现)。六、实验小结和思考1、程序错误分为语法错误和逻
31、辑错误。语法错误可以由编译器协助检查,逻辑错误编译器无法检查出来。程序逻辑错误比语法错误更加隐蔽,程序跟踪可用于发现程序逻辑错误。2、调用库函数应当包含对应头文件,帮助进行类型匹配检查和类型转化,保证函数调用使用正确参数。实验6 循环结构程序设计实验类型:验证 实验学时:4学时 实验日期: 年 月 日 实验成绩: 一、实验目的1、掌握while语句,do-while语句,for语句的语法结构与应用。2、掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代等)。3、进一步学习Turbo C单步执行调试程序的方法。二、实验要求1、实验前准备:根据【任务3】、【任务4】、【任务5】的要求,画出
32、N-S图,编写程序。2、按照“实验内容和步骤”,在Turbo C 2.0下完成程序的编辑、编译、运行,查看并分析程序运行结果。3、源程序保存在D盘的用户目录中。用户目录名建议使用自己的学号或姓名拼音简写。三、实验内容和步骤首先,启动Turbo C集成开发环境。1、按要求及以下步骤完成【任务1】(1)根据题意,编辑程序,分别以文件名L6_11.c、L6_12.c和L6_13.c保存在用户目录下;(2)编译运行,观察分析结果;(3)比较用三种循环结构完成的程序的异同。2、按要求及以下步骤完成【任务2】(1)根据题意,编辑程序,以文件名L6_2.c保存在用户目录下;(2)编译运行,观察分析结果。3、
33、按要求及以下步骤完成【任务3】(1)录入已编好的程序,以文件名L6_3.c保存在用户目录下;(2)编译运行,观察分析结果;(3)比较自编程序与参考代码在算法上的异同。4、按要求及以下步骤完成【任务4】(1)录入已编好的程序,以文件名L6_4.c保存在用户目录下;(2)编译运行,观察分析结果;(3)比较自编程序与参考代码在算法上的异同。5、按要求及以下步骤完成【任务5】(1)录入已编好的程序,以文件名L6_5.c保存在用户目录下;(2)编译运行,观察分析结果;(3)比较自编程序与参考代码在算法上的异同。最后,退出Turbo C集成开发环境,关机。四、任务要求及测试数据【任务1】分别使用三种循环结
34、构编程,求1000以内奇数的和。【任务2】有一堆零件(100200个之间),如果以4个零件为一组进行分组,则多2个零件;如果以7个零件为一组进行分组,则多3个零件;如果以9个零件为一组进行分组,则多5个零件。编程求解这堆零件总数。提示:用穷举法求解。即零件总数x从100-200循环试探,如果满足所有几个分组已知条件,那么此时的x就是一个解。象“分组后多几个零件”的这种条件,可以用求余运算获得条件表达式。【任务3】输出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是“水仙花数”,因为153=13+53+33。参考代码#include void ma
35、in( ) int i, j, k, n; printf(“narcissus numbers are”); for ( n=100; n1000; n+) i=n/100; j=n/10 i*10; k=n%10; if( n=i*i*i + j*j*j + k*k*k) printf(“%d”, n); printf(“n”);参考结果narcissus numbers are 153 370 371 407 【任务4】有一分数序列:2/1, 3/2, 5/3, 8/5,13/8, 21/13求出这个数列的前20项之和。参考代码#include void main( )int i,t, n
36、=20; float a=2, b=1,s=0;for (i 1; i=n;i+) s=s+a/b;t=a;a=a+b;b=t;printf(“sum=%9.6fn”,s);【任务5】一球从100m高度自落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少m?第10次反弹多高?参考代码#include void main( ) float sn=100, hn=sn/2; int n; for ( n=2; n=10; n+) sn=sn+2*hn;hn=hn/2; printf(“第10次落地时共经过%fm。n”,sn); printf(“第10次反弹%fm。n”,h
37、n);五、问题记录及注意事项要求:记录上机过程中遇到的问题,并将英文错误提示翻译成中文。理解并解释原因及给出更正问题的方法。1、2、注意事项:对于累加问题,获得的累加值可能超过变量允许的范围,出现溢出错误。六、实验小结和思考1、变量类型的选择应当考虑变量的取值范围。2、循环程序可以用三种结构实现,三种结构一般情况可以相互替换。3、while,do-while循环的区别:while先判断循环条件,如果条件满足再执行循环体,如果条件不满足,循环体一次也不执行。do-while先执行一次循环体再判断循环条件,以决定是否再次执行循环体,即循环体至少执行一次。4、穷举法是利用计算机高速计算能力试探搜索求
38、解复杂问题的一种很好的方法。实验7 多重循环结构程序设计 实验类型:验证 实验学时:4学时 实验日期: 年 月 日 实验成绩: 一、实验目的1、掌握循环嵌套使用及编程方法。2、学会使用break,continue语句。二、实验要求1、实验前准备:根据【任务3】、【任务4】的要求,画出N-S图,编写程序。2、按照“实验内容和步骤”,在Turbo C 2.0下完成程序的编辑、编译、运行,查看并分析程序运行结果。3、源程序保存在D盘的用户目录中。用户目录名建议使用自己的学号或姓名拼音简写。三、实验内容和步骤首先,启动Turbo C集成开发环境。1、按要求及以下步骤完成【任务1】(1)根据题意,编辑程
39、序,以文件名L7_1.c保存在用户目录下;(2)编译运行,观察分析结果。2、按要求及以下步骤完成【任务2】(1)根据题意,编辑程序,以文件名L7_2.c保存在用户目录下;(2)编译运行,观察分析结果。3、按要求及以下步骤完成【任务3】(1)录入已编好的程序,以文件名L7_3.c保存在用户目录下;(2)编译运行,观察分析结果;(3)比较自编程序与参考代码在算法上的异同。4、按要求及以下步骤完成【任务4】(1)录入已编好的程序,以文件名L7_4.c保存在用户目录下;(2)编译运行,观察分析结果;(3)比较自编程序与参考代码在算法上的异同。最后,退出Turbo C集成开发环境,关机。四、任务要求及测试数据【任务1】编程输出以下图案。*【任务2】编写程序,求任意两个整数之间所有的素数。