程序设计实验报告1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》实验报告
实验名称:编译预处理
系别: 计算机系专业:计算机科学与技术班级:五班
姓名: 学号:
实验日期: 2011 年 11 月 18 日
教师审批签字:
实验6 C编译预处理
⒈实验目的
⑴掌握宏定义的规则,领会带参数宏定义和函数调用的区别。
⑵了解文件包含命令的功能和使用规则。
⑶了解条件编译的特点和功能。
⒉实验内容或实验题目
A 宏定义及其应用
⑴以下程序的运行结果是____。
#define MIN(x,y) (x)<(y)?(x):(y)
#include “stdio.h”
void main()
{ int i=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
⑵若有宏定义如下:
#define X 5
#define Y X+1
#define Z Y*X/2
则执行以下printf语句后,输出结果是____。
int a;a=Y;
printf("%d\n",Z);
printf("%d\n",--a);
⑶请读程序:
#include
#define MUL(x,y) (x)*y
main()
{ int a=3,b=4,c;
c=MUL(a++,b++);
printf("%d\n",c);
}
上面程序的输出结果是______。
⑷以下程序的运行结果是_____.
#include “stdio.h”
void main()
{ inc x();
incy();
incx();
incy();
incx();
incy();
}
incx()
{ int x=0;
printf("x=%d\t",++x);
}
incy()
{ static int y=0;
printf("\ny=%d\n",++y);
}
B “文件包含”处理测试
⑴文件format.h包含以下内容:
#define PR printf
#define NL "\n"
#define D "%D"
#define D1 D NL
#define D2 D D NL
#define D3 D D D NL
#define D4 D D D D NL
#define S "%S"
⑵文件file1.C包含以下内容:
#include "format.h"
void main()
{ int a,B,C,D;
char string[]="CHINA";
a=1;B=2;C=3;D=4;
PR(D1,a); PR(D2,a ,B); PR(D3,a ,B ,C); PR(D4,a ,B ,C ,D); PR(S ,string);
}
调试并察看运行结果。注意文件保存的路径。
⒊ 算法说明
(用文字或流程图说明。)
(2)
⒋ 程序清单
A 宏定义及其应用 (1)
#define MIN(x,y) (x)<(y)?(x):(y) #include "stdio.h" void main()
{ int i=10,j=15,k; k=10*MIN(i,j); printf("%d\n",k); }
(2) #define X 5 #define Y X+1
B
#include "stdio.h"
main()
{
int a;a=Y;
printf("%d\n",Z);
printf("%d\n",--a);
}
(3)#include
#define MUL(x,y) (x)*y
main()
{ int a=3,b=4,c;
c=MUL(a++,b++);
printf("%d\n",c);
}
(4)#include "stdio.h"
incx();
incy();
void main()
{ incx();
incy();
incx();
incy();
incx();
incy();
}
incx()
{ int x=0;
printf("x=%d\t",++x);
}
incy()
{ static int y=0;
printf("\ny=%d\n",++y);
}
B “文件包含”处理测试
#define PR printf
#define NL "\n"
#define D "%d"
#define D1 D NL
#define D2 D D NL
#define D4 D D D D NL
#define S "%s"
#include "format.h"
#include "stdio.h"
void main()
{ int A,B,C,d;
char string[]="CHINA";
A=1;B=2;C=3;d=4;
PR(D1,A);
PR(D2,A,B);
PR(D3,A,B,C);
PR(D4,A,B,C,d);
PR(S,string);
}
⒌运行结果
(包括原始数据、相应的运行结果和必要的说明。)
A 宏定义及其应用
(1)
(2)
(3)
(4)