c语言程序实验报告10指针,C语言程序实验报告-指针.doc

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

学期:2011至2012__ 第_1 学期 2011年10 月 31 日

课程名称:程序设计基础教程-C语言 专业:2010级5_班

实验编号:08实验项目: C语言程序实验报告 指针 指导教师_

姓名: 学号: 实验成绩:

一、实验目的及要求

(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 *p1,int *p2)

{

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 (nAint main(void)

{

int m,*pt_m;

float b,*pt_b;

pt_m=&m;

pt_b=&b;

scanf("%d,%f",pt_m,pt_b);

*pt_m=m*(*pt_b);

printf("m is %d,pt_m is %d and *pt_m is %d\n",m,pt_m,*pt_m);

printf("b is %f,pt_b is %d and *pt_b is %d\n",b,pt_b,*pt_b);

printf("pt_m+1=%d pt_b+1=%d\n",pt_m+1,pt_b+1);

return 0;

}

实验结果见图五。

实 验 报 告 附 页

四、实验结果分析与评价 (该部分不够填写.请填写附页)

图一

图二

图三

图四

图五

注: 实验成绩等级分为(90-100分)优,(80-89分)良,(70-79分)中,(60-69分)及格,(59分)不及格

展开阅读全文

你可能感兴趣的:(c语言程序实验报告10指针)