1、数学与软件科学学院实验报告一、实验目的(1)掌握CS言环境下指针的声明、定义和使用方法;(2)掌握指针和变量以及指针和数组的关系;(3)掌握指针、数组之间的关系;(4)掌握指针、函数之间的关系。二、实验内容1.熟悉指针的基本使用方法。(1)请仔细分析以下程序段,并上机测试运行结果,对测试结果进行分析说 明。1)程序段一:#include main()int i=3,j=7,k=9;printf(i=%d,j=%d,k=%d,*(&i),*(&j),*(&k);2)程序段二:#include main()int a,*p;float b,*q;p=&a;q=&b;scanf(%d,%f,p,q)
2、;*p=a*(*q);printf(a=%d,p=%d,*p=%dn,a,p,*p); printf(b=%f,q=%d,*q=%fn,b,q,*q); printf(p+1=%d,q+1=%d,p+1,q+1);2 .想使指针变量pt1指向变量a和b中的大者,pt2指向其小者,以下程序能 否实现此目的?为什么?如果不行,请给出实现的方法。#include swap(int *p1,int *p2);main()int a,b;int *p1,*p2,*p;scanf(%d,%d,&a,&b);p1=&a;p2=&b;if(ab)swap(p1,p2);elseprintf(%d,%d,*p1
3、,*p2);swap(int *p1,int *p2)int *p;p=p1;p1=p2;p2=p;printf(%d,%d,*p1,*p2);3 .请仔细分析教材例6-86-9,上机调试之。记录并分析程序运行结果#include main()int *p1,*p2,*p,a,b;scanf(%d,%d,&a,&b);p1=&a;p2=&b;if(ab)p=p1;p1=p2;p2=p;printf(a=%d,b=%dn,a,b);printf(max=%d,min=%dn,*p1,*p2);三、实验准备(1)编写所选实验题目的程序代码和流程图;(2)检查源程序并给出其可能的运行结果说明。四、实验步骤(1)上机验证所选题目,并做相应测试和分析;(2)进行实验分析;(3)总结指针及其程序设计、实现方法和经验;(4)编写实验报告。五、实验结果1.熟悉指针的基本使用方法。(1)请仔细分析以下程序段,并上机测试运行结果,对测试结果进行分析说明1)程序段一:2)程序段二:2.想使指针变量pt1指向变量a和b中的大者,pt2指向其小者,以下程序能 否实现此目的?为什么?如果不行,请给出实现的方法。不行,因为函数调用之后就不存在了,本质上,pt1和pt2是没有改变的:3.请仔细分析教材例6-86-9,上机调试之。记录并分析程序运行结果 输入两个数,并使其从大到小输出: