- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c程序设计课程实验报告编译预处理、内部函数和外部函数
《C程序设计》课程实验报告
学院: 班级: 姓名: 学号:?????
实验设备:计算机1台2011年3月1日
实验项目名称 编译预处理、内部函数和外部函数
掌握宏定义、宏调用,以及宏展的处理过程,掌握文件包含的概念和使用。掌握内部函数和外部函数的定义及使用方法。
实验要求:
掌握宏定义、宏调用,以及宏展的处理过程,掌握文件包含的概念和使用。掌握内部函数和外部函数的定义及使用方法。编写简单程序。
实验内容(包括步骤):
1.试分析以下宏替换后的形式,计算输出结果。
要求:先计算运行结果,然后利用程序验证。
#include stdio.h
#define CX(y) 2.5+y
#define PR(a) printf(%d,(int)(a))
#define PR1(a) PR(a); putchar(\n)
main()
{ int x=2;
PR1(CX(5)*x);
}
2.通过宏调用方式,求从n个数的最大值。
要求:数据从键盘输入。
3.已知a、b都为整型数,计算a*b。
要求: (1)a、b值从键盘输入。
(2)主函数和计算a*b的函数在不同文件中存放,求a*b的函数为内部函数,使用文件包含完成。
4.删除字符串中的指定字符。
要求:(1)字符串和要删除字符都在主函数中输入,结果在主函数中输出。
(2)主函数和删除字符串指定字符的函数在不同文件中存放,删除字符串指定字符的函数为外部函数。
调试与结果测试:
调试正常结果正确。
代码注释:
18-1
#include stdio.h
#define CX(y) 2.5+y
#define PR(a) printf(%d,(int)(a))
#define PR1(a) PR(a); putchar(\n)
main()
{ int x=2;
PR1(CX(5)*x);
}
18-2
#includestdio.h
#define max(x,y) (x)(y)?(x):(y)
int main()
{
int n,i,t;
int a[100];
scanf(%d,n);
for(i=0;in;i++)
scanf(%d,a[i]);
t=a[0];
for(i=1;in;i++)
t=max(t,a[i]);
printf(最大值是%d\n,t);
return 0;
}
18-3-1
#includestdio.h
#includeE:\C\实验五\18-3-2.cpp
int main()
{
int a,b;
scanf(%d%d,a,b);
printf(a*b=%d\n,f(a,b));
return 0;
}
18-3-2
static int f(int x,int y)
{
int s;
s=x*y;
return s;
}
18-4-1
#includestdio.h
#includeE:\C\实验五\18-4-2.cpp
int main()
{
char c,str1[50];
gets(str1);
scanf(%c,c);
delete_string(str1,c);
printf(%s\n,str1);
return 0;
}
18-4-2
extern void delete_string(char str[],char ch)
{
int i,j;
for(i=j=0;str[i]!=\0;i++)
if(str[i]!=ch)
str[j++]=str[i];
str[j]=\0;
}
――――――――――――以下内容为教师填写―――――――――――――――
教师评阅:?
?
成绩:
2011年月日
物光学院计算机类实验报告
文档评论(0)