- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
?实验 8 预处理
实验学时:2课时
实验目标
熟练掌握函数的嵌套调用和递归调用的方法。
学习带参数和不带参数的宏定义。
学习“文件包含”处理和条件编译。
实验要求:
在上实验课之前,每一个同学必须将实验的题目、程序编写完毕,做好充分的准备。
所有实验环节均由每位同学独立完成,严禁抄袭他人实验结果,若发现有结果雷同者,按实验课考核办法处理。?
实验步骤和内容
【启动Visual C++】
【新建工程】
选中【C++ Source File】项,【新建源程序文件】
编辑程序
执行程序
1.【例6.5】用递归方法计算n!(1! = 1,n! = (n-1)! * n (n≥2))
算法分析:
1) 根据计算n!的递归定义可知,为了计算n!,必须首先计算(n-1)!;以此类推,直至1!(1! = 1)。
2) 依据1!求2!=1!*2,再依据2!求3!=2!*3;同理,依据(n-1)!求n!= (n-1)!*n。
【启动Visual C++】|【新建工程】|【新建源程序文件】:选中【C++ Source File】项
输入如下代码:
/* 源文件名:Li6_5.c
功能:利用递归求一个数的阶乘 */
#include stdio.h
long factor(int n)/*定义求阶乘函数factor()*/
{
int i;
long f;
if(n1)
f=n*factor(n-1);
else
f=1;
return f;
}
void main()
{
int n;
long s;
printf(please input a number:);
scanf(%d,n);
s=factor(n);/*调用factor()函数*/
printf(%d!=%ld\n,n,s);
}
观查执行结果,是否与教材相同。
理解递归函数的调用过程
2.【例6.13】不带参数的宏的使用举例
【启动Visual C++】|【新建工程】|【新建源程序文件】:选中【C++ Source File】项
输入如下代码:
/* 源文件名:Li6_13.c
功能:利用无参宏求圆的周长和面积 */
#include stdio.h
#define PI 3.1415926
void main( )
{
double r, circle, area;
printf(\nPlease input radius: );
scanf(%lf,r);
circle = 2 * PI * r;
area = PI * r * r;
printf(\ncircle=%lf,area=%lf\n,circle, area);
}
【例6.14】带参数的宏的使用举例
【启动Visual C++】|【新建工程】|【新建源程序文件】:选中【C++ Source File】项
输入如下代码:
/* 源文件名:Li6_14.c
功能:利用有参宏求两个数中的最大值*/
#include stdio.h
#define MAX(a,b) (ab)?a:b
void main()
{
int x,y,max;
printf(input two numbers: );
scanf(%d%d,x,y);
max=MAX(x,y);
printf(max=%d\n,max);
}?
观查执行结果,是否与教材相同。
掌握无参宏和有参宏的定义和使用
思考题
函数递归调用的执行过程?
有参宏使用时的注意事项。
实验小结:
您可能关注的文档
- C语言程序设计(第三版) 教学课件 作者 罗坚 王声决 主编 第2章 数据类型、运算符和表达式.ppt
- C语言程序设计(第三版) 教学课件 作者 罗坚 王声决 主编 第3章 算法与程序设计基础.ppt
- C语言程序设计(第三版) 教学课件 作者 罗坚 王声决 主编 第4章 函数.ppt
- C语言程序设计(第三版) 教学课件 作者 罗坚 王声决 主编 第5章 数组类型与指针类型.ppt
- C语言程序设计(第三版) 教学课件 作者 罗坚 王声决 主编 第6章 结构类型与联合类型.ppt
- C语言程序设计(第三版) 教学课件 作者 罗坚 王声决 主编 第7章 文件.ppt
- C语言程序设计(第三版) 教学课件 作者 恰汗.合孜尔 第1章 概论.ppt
- C语言程序设计(第三版) 教学课件 作者 恰汗.合孜尔 第2章 C语言基础及顺序结构程序设计.ppt
- C语言程序设计(第三版) 教学课件 作者 恰汗.合孜尔 第3章 选择结构程序设计.ppt
- C语言程序设计(第三版) 教学课件 作者 恰汗.合孜尔 第4章 循环结构程序设计.ppt
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
最近下载
- 设备安装调试及培训方案.docx VIP
- 2025届高考数学一轮复习备考建议课件——以“立体几何”为例.pptx
- 印刷-包装印刷培训资料.ppt
- 湖南省中小企业融资难的表现、原因以及对策.docx
- 安徽省芜湖市第二十七中学2024--2025学年上学期七年级入学测试数学卷(含答案).pdf VIP
- 年产250万吨薄板坯连铸连轧带钢生产线工艺设计剖析.docx
- 2022年新疆高考文科数学真题及答案.doc VIP
- 国家中小学智慧教育平台应用指南.pptx VIP
- 人教版七年级道法下册 第四单元第十一课 远离违法犯罪(上课、学习课件).pptx VIP
- 2024年N1叉车司机考试题及答案(1000题).doc
文档评论(0)