C语言实验报告八.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言实验报告八

数学与软件科学学院 实验报告 学期:_2013_至_2014_ 第__1 学期 2013 年_12 月08 日 课程名称:程序设计基础教程-C语言 专业:数学与应用数学2012_级_1_班 实验编号: 08 实验项目__ 指针 _____ 指导教师 姓名: 学号: 实验成绩: 良+ 一、实验目的及要求 (1) 掌握C语言环境下指针的声明、定义和使用方法; (2) 掌握指针和变量以及指针和数组的关系; (3) 掌握指针、数组之间的关系; (4) 掌握指针、函数之间的关系。 二、实验内容 1.熟悉指针的基本使用方法。 (1) 请仔细分析以下程序段,并上机测试运行结果,对测试结果进行分析说明。 1) 程序段一: int main() { int i=3,j=6,k=9; printf(“i=%d j=%d k=%d\n”,*(i),j,k); return 0; } 2) 程序段二: int main(void) { int nA,*p; float fB,*q; p=nA; q=fB; scanf(“%d,%f”, p, q); *p=nA*(*q); printf(“nA is %d, p is %d and *p is %d\n”, nA, p,*p); printf(“fB is %f, q is %d and *q is %d\n”, nA, q,*q); printf(“p+1=%d q+1=%d\n”,p+1,q+1); return 0; } 3) 程序段三: int main(void) { int nA,*p,**q,***r; p=nA;q=p;r=q; printf(“Please input nA::\n”); scanf(“%d”,**r); printf(The results are :”); printf(“nA’ value is %d,%d,%d,%d\n”,nA,*p,**q,***r); printf(“nA,p,q,r’s value is %d,%d,%d,%d\n”,nA,p,q,r); return 0; } (2) 设计一个C语言程序,以测试以下表达式的运算顺序。 2. 想使指针变量pt1指向变量nA和nB中的大者,pt2指向其小者,以下程序能否实现此目的?为什么?如果不行,请给出实现的方法。 void swap(int *pt1,int *pt2) { int *p; p=p1;p1=p2;p2=p; } int main(void) { int nA,nB; int *pt1,*pt2; scanf(“%d,%d”,nA,nB); pt1=nA;pt2=nB; if (nAnB) swap(pt1,pt2); printf(“%d,%d\n”,*pt1,*pt2); return 0; } 3.请仔细分析教材例9-2、9-3、9-6~9-11,上机调试之。记录并分析程序运行结果。 4.请仔细分析并执行以下程序段,并给出输入数据下的运行结果: int main(void) { int fun1(); int fun2(); int fun3(); int fun4(); int (*function[4])(); int nA=10,nB=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(nA,nB,function[i])); return 0; } int execute(int nX,int nY,int *func()) {return ((*fun)(nX,nY));} int fun1(int nX,int nY) {return (nX+nY);} int fun2(int nX,int nY) {return (nX-nY);} int fun3(int nX,int nY) {return (nX*nY);} int fun4(int nX,int nY) {return (nX/nY);} 对如下main()函数,假设源程序名为list.c,则对编译连接后的list.exe程序,在DOS界面运行时输入命令行时,其执行结果是什么?为什么? /*Second main() program*/ int main(int argc,char *argv[]) { while

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档