湖北理工学院c语言作业实验六,湖北理工学院c语言实验报告六答案(完整版).doc...

湖北理工学院c语言实验报告六答案(完整版)

实验六 指针

实验课程名:高级语言程序设计(C)

专业班级: 学号: 姓名:

实验时间: 实验地点: 指导教师:

一、实验目的和要求

1. 通过实验进一步掌握指针的概念,会定义和使用指针变量;

2. 能正确使用数组的指针和指向数组的指针变量;

3. 能正确使用字符串的指针和指向字符串的指针变量;

4. 能正确使用指向函数的指针变量;

5. 了解指向指针的指针的概念及其使用方法。

二、实验内容

1、任务名称

1.上机验证以下c70101.c程序的运行结果

#include

void main()

{ int i,j,*pi,*pj;

pi=&i;

pj=&j;

i=5;

j=7;

printf("\n%d\t%d\t%d\t%d",i,j,pi,pj);

printf("\n%d\t%d\t%d\t%d",&i,*&i,&j,*&j);

}

运行结果 :

5 7 -34 -32

-34 5 -32 7

运行结果分析:指针的值与指针指向的变量值的区别。在VC环境下,以上运行结果中的负数是另一个值。

2、任务名称

源代码:

#include

void main()

{ int i,a[]={1,2,3},*p;

p=a; /*将数组a首地址赋给指针p*/

for (i=0;i<3;i++)

printf("%d,%d,%d,%d\n",a[i],p[i],*(p+i),*(a+i));

}

运行结果:(需要截图)

运行结果分析:把数组a[3]的首地址a存入指针变量p,所以a[i]和p[i],*(p+i),*(a+i)表示数组a[3]中的元素。

3、任务名称

源代码:

#include

void main()

{ int j,a[12],*p=a;

for(j=0;j<12;j++)

scanf("%d",p++);

p=a;

for(j=1;j<=12;j++)

{ printf("%4d",*p++);

if(j%4 == 0)

printf("\n");

}

}???

运行结果:(需要截图)

运行结果分析:

把数组a[12]的首地址赋给指针变量p,指针p指向数组a的第一个元素。在for循环中依次输入12个数,最后输出数组中的元素。

4、任务名称

源代码:

#include

void main( )

{ int a,b,c,*p=&c;

void sum(int ,int ,int *);

void swap(int * ,int * );

scanf("%d%d",&a,&b);

sum(a,b,p);

swap(&a,&b);

printf("sum=%d\n",c);

printf("a=%d,b=%d\n",a,b);

}

void sum(int a,int b,int *c)

{ *c=a+b;

}

void swap(int *a,int *b)

{ int t;

t=*a;

*a=*b;

*b=t;

}

运行结果:(需要截图)

运行结果分析:

输入两个整型数给变量a,b,指针p指向整型变量c,调用函数sum,把实参中的a,b传给形参a和b,实参p和形参c指向同一个变量,把a,b之和赋给p所指的变量c。然后调用swap函数使变量a和b的值交换。

5、任务名称

源代码:

#include

int table[10];

void lookup(int *t,int *a,int n)

{ int k;

*a=t[0];

for(k=1;k

if(*a>t[k]) *a=t[k];

}

void main()

{ int k,min,*p=&min;

for (k=0;k<10;k++)

scanf("%d",table+k);

lookup( table , p ,10);

printf("min=%d\n",min);

}

运行结果:(需要截图)

运行结果分析:函数lookup的功能是找到数组t中的最小值并把他赋给指针变量a所指向的变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值