- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言实验报告实验八
数学与软件科学学院 实验报告
学期:__2011_ 至_2012 第_ 1__ 学期 20 11 年 11 月 10 日
课程名称:_C语言程序设计 专业:__ 会计学 2008 级 _ 8 班
实验编号: 08 实验项目: 指针 指导教师: 王开端
姓名: 陈银钗 学号: 2008080513 实验成绩:_ __
一、实验目的:
(1) 掌握C语言环境下指针的声明、定义和使用方法;
(2) 掌握指针和变量以及指针和数组的关系;
(3) 掌握指针、数组之间的关系;
(4) 掌握指针、函数之间的关系。
二、实验内容:
1.熟悉指针的基本使用方法。
(1) 请仔细分析以下程序段,并上机测试运行结果,对测试结果进行分析说明。
1) 程序段一:
main()
{
int i=3,j=6,k=9;
printf(“i=%d j=%d k=%d\n”,*(i),j,k);
}
2) 程序段二:
main()
{
int a,*p;
float b,*q;
p=a;
q=b;
scanf(“%d,%f”, p, q);
*p=a*(*q);
printf(“a is %d, p is %d and *p is %d\n”, a, p,*p);
printf(“b is %f, q is %d and *q is %d\n”, a, q,*q);
printf(“p+1=%d q+1=%d\n”,p+1,q+1);
}
3) 程序段三:
main()
{
int a,*p,**q,***r;
p=a;q=p;r=q;
printf(“Please input a::\n”);
scanf(“%d”,**r);
printf(The results are :”);
printf(“a’ value is %d,%d,%d,%d\n”,a,*p,**q,***r);
printf(“a,p,q,r’s value is %d,%d,%d,%d\n”,a,p,q,r);
}
(2) 设计一个C程序,以测试以下表达式的运算顺序。
2. 想使指针变量pt1指向变量a和b中的大者,pt2指向其小者,以下程序能否实现此目的?为什么?如果不行,请给出实现的方法。
swap(int *pt1,int *pt2)
{
int *p;
p=p1;p1=p2;p2=p;
}
main()
{
int a,b;
int *pt1,*pt2;
scanf(“%d,%d”,a,b);
pt1=a;pt2=b;
if (ab) swap(pt1,pt2);
printf(“%d,%d\n”,*pt1,*pt2);
}
3.请仔细分析教材例6-8~6-9,上机调试之。记录并分析程序运行结果。
4.请仔细分析并执行以下程序段,并给出输入数据下的运行结果:
main()
{
int fun1();
int fun2();
int fun3();
int fun4();
int (*function[4])();
int a=10,b=5,i;
function[0]=fun1;
function[1]=fun2;
function[2]=fun3;
function[3]=fun4;
for (i=0;i4;i++)
printf(“fun No.%d-%d\n”,i+1,execute(a,b,function[i]));
}
execute(int x,int y,int *func()) {return ((*fun)(x,y));}
fun1(int x,int y) {return (x+y);}
fun2(int x,int y) {return (x-y);}
fun3(int x,int y) {return (x*y);}
fun4(int x,int y) {return (x/y);}
对如下main()函数,假设源程序名为list.c,则对编译连接后的list.exe程序,在DOS界面运行时输入命令行时,其执行结果是什么?为什么?
/*Second main() program*/
main(int argc,char *argv[])
{
while (argc(1) printf(“%s\n”,*++argv);
}
三、实验准备:
(1) 编写所选实验题目的程序代码和流程图;
(2) 检查源程序并给出其可能的运行结果说明。
四、实验步骤及结果
实验步骤:
1.熟悉指针的基本使用方法。
编辑:
1) 程序段一:
编译:
连接:
运行:
程序段二:
编辑:
原创力文档


文档评论(0)