ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:16.40KB ,
资源ID:7740139      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7740139.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言实验八指针程序设计详解.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言实验八指针程序设计详解.docx

1、C语言实验八指针程序设计详解实验八 指针的应用一、实验目的1掌握指针变量的定义和引用。2掌握指针与变量的程序设计方法3掌握指针与数组的程序设计方法4掌握指针与字符串的程序设计方法5掌握指针与函数的程序设计方法二、实验内容1目的访问变量的地址。 题目内容 已知,char a;int x;float p,q; 而且a=A;x=125;p=10.25;q=18.75;编写程序显示变量a,x,p,q的值及其地址。输入 无输出 变量a,x,p,q的值及其地址提示 使用运算符&,地址输出采用%u格式(因为内存地址是无符号的整数)。#include void main() char a;int x;floa

2、t p,q; a=A;x=125;p=10.25;q=18.75; printf(%c is stored at addr %u.n,a,&a); printf(%d is stored at addr %u.n,x,&x); printf(%f is stored at addr %u.n,p,&p); printf(%f is stored at addr %u.n,q,&q);A is stored at addr 1245052.125 is stored at addr 1245048.10.250000 is stored at addr 1245044.18.750000 is

3、stored at addr 1245040.Press any key to continue2目的通过指针访问变量。 题目内容 已知,int x,y;int *ptr; 而且x=10;ptr=&x;y=*ptr;,运行下列程序,使用运算符*来访问指针所指的值。输入 无输出 x,&x、*&x,&x、*ptr,ptr、y,&*ptr、ptr,&ptr、y,&y。提示 地址输出采用%u格式#include void main() int x,y; int *ptr; x=10; ptr=&x; y=*ptr; printf(%d is stored at addr %u.n,x,&x); pri

4、ntf(%d is stored at addr %u.n,*&x,&x); printf(%d is stored at addr %u.n,*ptr,ptr); printf(%d is stored at addr %u.n,y,&*ptr); printf(%d is stored at addr %u.n,ptr,&ptr); printf(%d is stored at addr %u.n,y,&y); *ptr=25; printf(nNow x=%dn,x);3目的练习指针表达式。 题目内容 已知,int x,y,a,b;int *ptr1,*ptr2; 而且x=12;y=4;

5、ptr=&x;ptr2=&y;,编写程序,当执行表达式:a=*ptr1*ptr2-6;以及: b=(4*(-*ptr2)/(*ptr1)+10;后,各变量的值分别为多少?输入 无输出 各变量的值。提示 地址输出采用%u格式#include void main() int x,y,a,b; int *ptr1,*ptr2; x=12;y=4; ptr1=&x; ptr2=&y; a=*ptr1*ptr2-6; b=(4*(-*ptr2)/(*ptr1)+10; printf(%d is stored at addr %u.n,x,&x); printf(%d is stored at addr

6、%u.n,y,&y); printf(%d is stored at addr %u.n,*ptr1,ptr1); printf(%d is stored at addr %u.n,*ptr2,ptr2); printf(a=%d n,a); printf(b=%d n,b); 4目的指针与数组 题目内容 已知,int *p,sum,i; int x5=5,9,6,3,7;,编写程序,使用指针来计算数组中所有元素的总和。输入 无输出 Element Value Addressx0 5 1245024x1 9 1245028x2 6 1245032x3 3 1245036x4 7 1245040

7、sum=30 提示 关键语句:sum=sum+*p;以及p+;#include void main() int *p,sum=0,i; int x5=5,9,6,3,7; p=x; printf(Element Value Addressnn); for(i=0;i5;i+) printf(x%d %d %un,i,*p,p); sum=sum+*p; p+; printf(sum=%d n,sum); 5目的指针与数组 题目内容 编写一个函数,用于对作为参数的数组中的元素求平均值,函数以指针方式进行处理。平均值为函数的返回值。输入10个实数输出 平均值提示 函数原型 float averag

8、e(int x,int n);关键语句:float *p; p=x; for(i=0;in;i+,p+) sum=sum+*p;#include void main() float average(float x,int n); int i; float a10,ave; printf(Enter 10 numbers: ); for(i=0;i10;i+) scanf(%f,&ai); ave=average(a,10); printf(ave=%fn,ave);float average(float x,int n) float ave1,sum=0.0; int i; float *p;

9、 p=x; for(i=0;in;i+,p+) sum=sum+*p; ave1=sum/n; return ave1;6目的指针与字符串 题目内容 已知,char name20=DELHIk; int length; char *cptr=name;,编写程序,使用指针来确定字符串的长度。输入 无输出 字符串的长度提示关键语句: while(*cptr!=0) cptr+; length=cptr-name;先将指针定位于字符串开始处,利用循环结构将指针移动到字符串尾部,length=cptr-name;即为字符串长度。#include void main() char name20=DEL

10、HIk; int length; char *cptr=name; printf(%sn,name); while(*cptr!=0) printf(%c %un,*cptr,cptr); cptr+; length=cptr-name; printf(length=%d n,length); 7目的指针与函数 题目内容 使用指针作函数参数,编写用于交换两个参数值的函数。调用该函数用于对从键盘输入的两个整数进行交换。输入 x=100,y=200输出 x=200,y=100提示 用于交换两个参数值的函数原型为:exchange(int *a,int *b);#include void main(

11、) void exchange(int *a,int *b); int x,y; printf(Enter two integers:); scanf(%d%d,&x,&y); printf(x=%d y=%dn,x,y); exchange(&x,&y); printf(x=%d y=%dn,x,y);void exchange(int *a,int *b) int t; t=*a; *a=*b; *b=t;8目的函数返回指针 题目内容 有函数:int *larger(int *a,int *b) if(*a*b) return a; else return b;和主函数:#include

12、void main() int *larger(int *a,int *b); int x=10,y=20; int *p; p=larger(&x,&y); printf(%dn,*p);运行程序,给出运行结果,并说明此程序的功能。9目的指针综合应用 题目内容 假设已有函数:void swap(int *p1,int*p2)int temp;temp=*p1;*p1=*p2;*p2=temp;编写程序,输入3个整数,调用swap函数,完成将3个整数按从小到大顺序输出的功能。输入 3个数输出 从小到大顺序输出提示关键语句:if(ab) swap(p1,p2); if(ac) swap(p1,p

13、3); if(bc) swap(p2,p3);#include void main() void swap(int *p1,int*p2); int a,b,c; int *p1,*p2,*p3; printf(Enter 3 numbers: ); scanf(%d%d%d,&a,&b,&c); p1=&a;p2=&b;p3=&c; if(ab) swap(p1,p2); if(ac) swap(p1,p3); if(bc) swap(p2,p3); printf(%d %d %d,a,b,c);void swap(int *p1,int*p2) int temp; temp=*p1;*p1=*p2;*p2=temp;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1