湖北理工学院c语言实验报告六答案(完整版)_第1页
湖北理工学院c语言实验报告六答案(完整版)_第2页
湖北理工学院c语言实验报告六答案(完整版)_第3页
湖北理工学院c语言实验报告六答案(完整版)_第4页
湖北理工学院c语言实验报告六答案(完整版)_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业实验六 指针实验课程名:高级语言程序设计(C)专业班级: 学号: 姓名: 实验时间: 实验地点: 指导教师: 一、实验目的和要求1. 通过实验进一步掌握指针的概念,会定义和使用指针变量;2. 能正确使用数组的指针和指向数组的指针变量;3. 能正确使用字符串的指针和指向字符串的指针变量;4. 能正确使用指向函数的指针变量;5. 了解指向指针的指针的概念及其使用方法。二、实验内容1、任务名称1.上机验证以下c70101.c程序的运行结果#include void main(

2、) int i,j,*pi,*pj; pi=&i;pj=&j;i=5;j=7;printf(n%dt%dt%dt%d,i,j,pi,pj);printf(n%dt%dt%dt%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;i3;i+) printf(%d,%d,%d,%dn,ai,pi,*(p+i),

3、*(a+i);运行结果:(需要截图)运行结果分析:把数组a3的首地址a存入指针变量p,所以ai和pi,*(p+i),*(a+i)表示数组a3中的元素。3、任务名称源代码:#include void main() int j,a12,*p=a; for(j=0;j12;j+) scanf(%d,p+); p=a; for(j=1;j=12;j+) printf(%4d,*p+); if(j%4 = 0) printf(n); 运行结果:(需要截图)运行结果分析:把数组a12的首地址赋给指针变量p,指针p指向数组a的第一个元素。在for循环中依次输入12个数,最后输出数组中的元素。4、任务名称源代

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=%dn,c); printf(a=%d,b=%dn,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,指

5、针p指向整型变量c,调用函数sum,把实参中的a,b传给形参a和b,实参p和形参c指向同一个变量,把a,b之和赋给p所指的变量c。然后调用swap函数使变量a和b的值交换。5、任务名称源代码:#include int table10;void lookup(int *t,int *a,int n) int k; *a=t0; for(k=1;ktk) *a=tk; void main() int k,min,*p=&min;for (k=0;k10;k+) scanf(%d,table+k);lookup( table , p ,10);printf(min=%dn,min);运行结果:(需要

6、截图)运行结果分析:函数lookup的功能是找到数组t中的最小值并把他赋给指针变量a所指向的变量。在主函数中输入是个整数到数组table10,调用lookup函数找到最小值,然后输出最小值。6、任务名称源代码:#include void main() int a55=0,*p5,i,j; for(i=0;i5;i+) pi= (1) ; for(i=0;i5;i+) *(pi+ (2) )=1; *(pi+5- (3) )=1; for(i=0;i5;i+) for(j=0;j5;j+) printf(%2d,pij); (4) ;(1) A.&ai0 B.&ai1 C.&pi D.&a0i(

7、2) A.0 B.1 C.i D.(i+1)(3) A.0 B.1 C.i D.(i+1)(4) A.putchar(n); B. putchar(n); C. putchar(n); D.printf(n);答:A,C,D,B运行结果:(需要截图)运行结果分析:首先要清楚二维数组与指针的结合运用时,注意指针所指向的是数组的第一个元素的地址;其次要注意数组指针的概念和使用,弄清楚指针指向的是什么,也要清楚指针使用时的规则。7、任务名称源代码:#include void main()void fun(int *,int *,int );int a5=4,6,8,10,12,s=1,*p=&s;fun(a,p,5);printf(%dn,s);void fun(int *a,int *s,int n)int i;for (i=0;in;i+)*s*=ai;运行结果:(需要截图)运行结果分析:指针变量p指向变量s,fun函数的功能是求出一个数组所有元素的乘积,并赋给形参s指向的整型变量。这样p所指的变量c的值就是数组a5中元素的乘积。最后输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论