实验六 定义编译预处理
更新时间:2023-10-19 20:30:01 阅读量: 综合文库 文档下载
- 实验六实验报告表推荐度:
- 相关推荐
实验六 定义编译预处理
一. 实验目的
1.掌握宏定义的方法;
2.掌握文件包含处理方法; 3.掌握条件编译的方法。
二. 实验要点
预处理语句主要有四种:宏定义和宏替换,文件包含,条件编译和行控制。 1.宏定义:以#define开头的语句,为的是在C语言程序中方便的作一些定义和扩展。
2.文件包含:是指一个程序文件将另一个指定文件的内容包含进来,用#include语句来说明。一般有两种格式: #include<文件名> #include”文件名” 3.条件编译:
一般格式: #ifdef 标识符 语句块1 #else
语句块2 #endif
三. 实验要求
1. 上机前编写好以下程序。(1为填空,2,3自己编程) 2. 上机输入和调试自己所编的程序并存在自己的软盘上。 3. 检查实验结果是否正确。
4. 上机结束后,整理实验报告。
四. 实验内容
上机调试运行以下程序。
1.以下程序的输出结果是( 9 )。 #include”stdio.h”
#define F(y) 3.84+y
#define PR(a) printf(“%d”,(int)(a)) #define PRINT(a) PR(a) ;putchar(?\\n?) main(){ int x=2;
PRINT(F(3)*x);}
2.定义一个带参数的宏,使两个参数的值互换。在主函数中输入两个数作为使用宏的实参,输出已交换后的两个值。
说明:在程序主函数使用宏时只能用两个实参,如SWAP(a,b),不能用三个实参。(谭浩强书8.1)
#include \
#define SWAP(a,b) {int t; t=a;a=b; b=t;} main() {
int x=2,y=5; SWAP(x,y);
printf (\}
3.设计输出实数的格式,包括:(1)一行输出一个实数;(2)一行内输出两个实数;(3)一行内输出三个实数。实数用“6.2f”格式输出。 (谭浩强书8.6)
#include \
#define PR1(a) printf(\
#define PR2(a,b) printf(\
#define PR3(a,b,c) printf(\main() {
float x=2,y=5,z=7; PR1(x); PR2(x,y); PR3(x,y,z); } 2.00
2.00, 5.00
2.00, 5.00, 7.00
作业题: 一. 选择题
1.在宏定义:#define PI 3.141592中,用宏名PI代替一个(D) A)常量 B)单精度数 C)双精度数 D) 字符串
2.以下任何情况下计算平方数时都不会引起二义性的宏定义是( D)。 A)#define POWER(x) x*x
B) #define POWER(x) (x)*(x) C) #define POWER(x) (x*x) D)#define POWER(x) ((x)*(x)) 3.以下正确的叙述是(C )。
A) C语言的预处理功能是指完成宏替换和包含文件的调用。 B) C语言的预处理指令只能位于C源程序文件的首部。
C) 凡是C源程序中行首以“#”标识的控制行都是预处理指令。 D) C语言的编译预处理就是对源程序进行初步的语法检查。替换 4.C语言提供的预处理功能包括条件编译,其基本形式是: #XXX 标识符 程序段 1 #else
程序段 2 #endif
这里XXX可以是(D )。
A)define或 include B) ifdef或include C) ifdef或ifndef或define D)ifdef或 ifndef 或if
二. 填空题
1.下面程序的运行结果是( 9 )。 #define MAX(a,b) (a>b?a:b)+1 main(){
int j=6,k=8,f;
printf(“%d\\n”,MAX(j,k));}
2.下面程序的运行结果是( 9.0 )。 #define A 4
#define B(x) A*x/2 main(){
float c,a=4.5; c=B(a);
printf(“%5.1f\\n”,c);}
3.设有以下程序,为使之正确运行,请在【 】中填入应包含的命令行。 【 】 main(){
int x=2,y=3;
printf(“%d\\n”,pow(x,y));} #include
int x=2,y=3;
printf(\}
4.下面程序的运行结果是( c=0 )。 main(){
int a=10,b=20,c; c=a/b;
#ifdef DEBUG
printf(“a=%d,b=%d”,a,b); #endif
printf(“c=%d\\n”,c);}
5.下面程序的运行结果是( a=14,b=15,c=0 )。 #define DEBUG main(){
int a=14,b=15,c; c=a/b;
#ifdef DEBUG
printf(“a=%d,b=%d,”,a,b); #endif
printf(“c=%d\\n”,c);}
正在阅读:
实验六 定义编译预处理10-19
河南省教师资格教育理论考试全真模拟预测试卷(五)- 副本04-10
2015届高三数学一轮复习专讲专练3.1任意角和弧度制及任意角的三角函数08-31
情景面试的案例分析03-13
涵洞拆除重建工程施工方案05-01
测区砼强度换算表 - 图文05-23
护理伦理学电大复习资料09-17
员工军训心得体会(15篇)03-31
JSP课程设计08-26
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 预处理
- 编译
- 定义
- 实验
- 3#楼施工组织设计方案1
- 全国统一建筑工程基础定额2012-宣贯教材
- 非政府组织期末复习题
- 置换课题申请书 - 图文
- 新视野大学英语视听说教程第4册原文及答案(答案用红色标出了!)(1-10单元practice和listening in)
- 贵州省建安劳保费管理办法
- 《健康评估》教学大纲
- 美学是一门什么样的学科讲义
- 2017沧州生物试题
- 雨金街道突发公共事件总体应急预案
- 汽车UDS协议简称 - 图文
- 七七老师教你背教综主观题背诵口诀
- 论了不起的盖茨比中的象征主义英语论文
- 邓村坪旅游名村创建实施方案
- ROHS不使用规定化学物质保证书
- 不锈钢多级泵,D25-30-10卧式多级泵,多级离心泵型号,宏力泵业
- SQL Server Intergration Service开发部署指南
- 五年级尖子生题库
- 新苏教版五年级数学下册知识点概括
- XX4江苏公务员面试指导:为政之秒在于沟通