


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验8 编译预处理1实验目的、要求 (1)掌握宏定义的方法。 (2)掌握文件包含处理的方法。 (3)掌握条件编译的方法。2实验内容 (1)输入程序,观察运行结果并分析。#define ADD(x) x+x#include “stdio.h” int main( ) int m=1,n=2,k=3; int sum=ADD(m+n)*k; printf(“sum=%d” ,sum); return(0);运行此程序:按F2保存源程序,按F9完成一次编译连接,无提示错误,按任意键返回源程序行,按ctrl+F9运行,按alt+F5看结果,结果显示:sum=10分析:分析:带参数的宏定义要进行参数的替换,带参数的宏的展开只是将语句中的宏名后面括号内的实参字符串代替#define命令行中的形参。经运行发现运行过程为m+n+m+n*k=10,若想得到预想过程则应改为#define ADD(x) (x)+(x).(2)编写程序 a) 定义一个带参数的宏,使两个参数的值互换,在主函数中输入两个数作为宏的参数,输出已交换后的两个值。#define SWAP(a,b) t=b;b=a;a=tmain()int a,b,t;printf(input two numbers a,b:);scanf(%d,%d,&a,&b);SWAP(a,b);printf(jiaohuanjieguowei:a=%d,b=%dn,a,b);运行此程序:按F2保存源程序,按F9完成一次编译连接,无提示错误,按任意键返回源程序行,按ctrl+F9运行,屏幕显示input two numbers a,b:45,12输入45,12,按回车键返回显示源程序,然后按alt+F5显示结果,结果为:input two numbers a,b:jiaohuanjieguowei:a=12,b=45分析:定义进行参数的替换,在程序中如果遇到了带参数的宏,按#define命令行中指定的字符串从左到右置换。宏可以得到设法得到几个返回值,此题中就是返回两个结果。 b) 用子函数实现两个值的互换,在主函数中输出已交换后的两个值。#include stdio.hint S(int x,int y)int t;t=x;x=y;y=t;printf(%d,%d,x,y);int main()int a,b;printf(please putin two numbers:);scanf(%d,%d,&a,&b);S(a,b);分析:函数调用只能返回一个返回值,而要返回俩个则不能用简单的函数调用,应用全局变量可以得到两个返回值。(3)设计输出实数的格式,包括:一行输出一个实数;一行输出两个实数;一行输出三个实数。实数用“%6.2f”格式输出。用一个文件print_format.h包含上述用#define命令定义的格式,在自己的文件中用#include命令将print_format.h文件包含进来。在程序中用scanf函数读入三个实数给f1,f2,f3。然后用上述定义的三种格式分别输出:f1;f1、f2;f1、f2、f3。编写程序如下:#include “stdio.h”#define PR printf#define NLn#define F %f#define Cf %6.2f#define F1 Cf NL#define F2 Cf Cf NL#define F3 Cf Cf Cf NLvoid main()float f1,f2,f3;scanf(%f,%f,%f,&f1,&f2,&f3); PR(D1,f1); PR(D2,f1,f2); PR(D3,f1,f2,f3);运行此程序:按F2保存源程序,按F9完成一次编译连接,无提示错误,按任意键返回源程序行,按ctrl+F9运行,出现黑屏状态,输入:12,25,36按任意键返回源程序,按alt+F5显示结果,结果为:1212 2512 25 36分析:经过编译预处理后将头文件format.h包含到主文件中,得到一个新的源文件,然后对这个文件进行编译,得到目标程序。被包含文件成为新源文件的一部分。3思考及总结总结C语言提供的预处理功能:宏定义;文件包含;条件编译。4易犯错误及纠正方法(1)在做实验内容(1)时,先分析运行结果,再上机运行,对照结果是否一致。(2)在做实验内容(2)时,注意带参数的宏定义和函数调用两种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如何设计燃煤锅炉设备项目可行性研究报告技术工艺+设备选型+财务概算
- 2025年花岗岩矿可行性研究报告
- 教师心理健康问题研究论文
- 压铸机制造加工维修项目可行性研究报告完整立项报告
- 边坡整治建设项目可行性研究报告
- 家庭教育研究期刊
- 氧氮项目投资可行性研究分析报告(2024-2030版)
- 睡眠质量与认知功能-第1篇-洞察及研究
- 生态补偿减贫机制-洞察及研究
- 新媒体助力非遗保护与传承的有效途径与实施策略
- 2025至2030中国芳纶纤维行业需求预测及发展前景趋势研究报告
- 初级保健按摩师(脊柱按摩师)资格理论必背考试题(附答案)
- 2025届新高考历史押题模拟试卷 3套(含答案解析)
- 2025年银行从业资格证考试题库获取试题及答案
- 十一学校小升初入学测试数学真题及详细解答
- 4-02-02-01 国家职业标准客运车辆驾驶员 (2025年版)
- 2024北京西城区四年级(下)期末语文试题及答案
- 【航线补贴绩效评估实证研究-以华夏航空公司为例19000字(论文)】
- 电梯五方对讲设计方案
- 24 唐诗三首 《茅屋为秋风所破歌》课件
- 2025年初一下册语文-课内现代文复习23课.《蛟龙探海》(解析版)
评论
0/150
提交评论