C语言实验报告八

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言实验报告八

以下是为大家整理的c语言实验报告八的相关范文,本文关键词为语言,实验,报告,数学,软件,科学学院,实验,报告,学期,2,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。

数学与软件科学学院实验报告

学期:_20XX_至_20XX_第__1学期20XX年_12月08日

课程名称:程序设计基础教程-c语言专业:数学与应用数学20XX_

级_1_班实验编号:08实验项目__指针_____指导教师姓名:学号:实验成绩:良+

一、实验目的及要求

(1)掌握c语言环境下指针的声明、定义和使用方法;(2)掌握指针和变量以及指针和数组的关系;(3)掌握指针、数组之间的关系;(4)掌握指针、函数之间的关系。

二、实验内容

1.熟悉指针的基本使用方法。

(1)请仔细分析以下程序段,并上机测试运行结果,对测试结果进行分析说明。

1)程序段一:

intmain(){

inti=3,j=6,k=9;

printf(“i=%dj=%dk=%d\\n”,*(return0;}

2)程序段二:

intmain(void){

intnA,*p;floatfb,*q;p=q=

scanf(“%d,%f”,p,q);*p=nA*(*q);

printf(“nAis%d,pis%dand*pis%d\\n”,nA,p,*p);printf(“fbis%f,qis%dand*qi

s%d\\n”,nA,q,*q);printf(“p+1=%dq+1=%d\\n”,p+1,q+1);return0;}

3)程序段三:

intmain(void)

{

intnA,*p,**q,***r;p=q=r=

printf(“pleaseinputnA::\\n”);scanf(“%d”,**r);

printf(Theresultsare:”);

printf(“nA’valueis%d,%d,%d,%d\\n”,nA,*p,**q,***r);printf(“nA,p,q,r’sval ueis%d,%d,%d,%d\\n”,nA,p,q,r);return0;}

(2)设计一个c语言程序,以测试以下表达式的运算顺序。

2.想使指针变量pt1指向变量nA和nb中的大者,pt2指向其小者,以下程序能否实现此目的?为什么?如果不行,请给出实现的方法。

voidswap(int*pt1,int*pt2){

int*p;

p=p1;p1=p2;p2=p;}

intmain(void){

intnA,nb;int*pt1,*pt2;

scanf(“%d,%d”,pt1=pt2=

if(nA 3.请仔细分析教材例9-2、9-3、9-6~9-11,上机调试之。

记录并分析程序运行结果。

4.请仔细分析并执行以下程序段,并给出输入数据下的运行结果:intmain(void){

intfun1();intfun2();intfun3();intfun4();

int(*function[4])();intnA=10,nb=5,i;function[0]=fun1;function[1]=fun2;fu nction[2]=fun3;function[3]=fun4;

for(i=0;i printf(“funno.%d->%d\\n”,i+1,execute(nA,nb,function[i]));return0;

}

intexecute(intnx,intnY,int*func()){return((*fun)(nx,nY));}intfun1(intnx,int nY){return(nx+nY);}intfun2(intnx,intnY){return(nx-nY);}intfun3(intnx,intn Y){return(nx*nY);}intfun4(intnx,intnY){return(nx/nY);}

对如下main()函数,假设源程序名为list.c,则对编译连接后的list.exe程序,在Dos界面运行时输入命令行时,其执行结果是什么?为什么?

/*secondmain()program*/intmain(intargc,char*argv[]){

while(argc?1)printf(“%s\\n”,*++argv);return0;}

三、实验预备

(1)编写所选实验题目的程序代码和流程图;(2)检查源程序并给出其可能的运行结果说明。

四、实验步骤

(1)上机验证所选题目,并做相应测试和分析;(2)进行实验分析;

(3)总结指针及其程序设计、实现方法和经验;(4)编写实验报告。

五、实验结果分析与评价

(1)根据测试目标写出测试报告;(2)测试结果分析说明;(3)测试程序代码清单。

1.熟悉指针的基本使用方法。

请仔细分析以下程序段,并上机测试运行结果,对测试结果进行分析说明。

1)程序段一:

intmain(){

inti=3,j=6,k=9;

printf(“i=%dj=%dk=%d\\n”,*(

/*其中*(

}

运行结果如下:

2)程序段二:

intmain(void){

intnA,*p;/*申明两个指针变量p,q,并且使他们指向nA,fb*/floatfb,*q;p=q=

scanf(“%d,%f”,p,q);/*输入p,q的值*/

*p=nA*(*q);/*重新将*p初始化,使p里面的值等于nA*(*p)*/printf(“nAis%d,pis%uand*pis%d\\n”,nA,p,*p);

/*输出地址采用%u不带符号的*/

printf(“fbis%f,qis%uand*qis%f\\n”,nb,q,*q);printf(“p+1=%uq+1=%u\\n”, p+1,q+1);

/*由于p指向intnA,则+1后移动2个字节;由于q指向floatfb,则+1后移动4个字节*/

return0;}

运行结果如下:

3)程序段三:

intmain(void){

相关文档
最新文档