c++指针,引用和结构体

上传人:飞*** 文档编号:53058224 上传时间:2018-08-27 格式:PDF 页数:17 大小:494.72KB
返回 下载 相关 举报
c++指针,引用和结构体_第1页
第1页 / 共17页
c++指针,引用和结构体_第2页
第2页 / 共17页
c++指针,引用和结构体_第3页
第3页 / 共17页
c++指针,引用和结构体_第4页
第4页 / 共17页
c++指针,引用和结构体_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《c++指针,引用和结构体》由会员分享,可在线阅读,更多相关《c++指针,引用和结构体(17页珍藏版)》请在金锄头文库上搜索。

1、实验 5 实验 5:指针、引用和结构体要求:掌握指针、指针变量、指针常量的基本概念;掌握指针与数组、指针与函数的关系及应用。初步掌握引用的概念及简单应用。第一部分教程练习 : 1.上机实验题一观察程序运行结果,学习指针的基本运算。分析变量和数组元素的地址都可以赋给一个指针,一个指针可以加上或减去一个整数;在两个指针指向同一数组不同元素时,可以进行减运算,结果为其间的数组元素个数。一个完整的参考程序如下:#include void main() int i,a10; int *p1,*p2; p1=a; /A p2=p1+5; for (i=0;i void exchange(int,int);

2、 void main() 实验 5 coutab; cout void exchange(int*,int*); void main() coutab; cout void exchange(int 面向对象上机void main() coutab; cout char *mycopy(char*,const char*); void main() char s1=“I am a student“; char s220; mycopy(s2,s1); cout int sum1(int); int sum2(int); void main() int a; int (*f)(int); /A

3、指针函数couta; if(a%2=0) f=sum1; cout int freq(char s,char ch) char *p=s; int count=0; while(*p!=0) if (*p=ch) count+; p+; return count; void main() char s100,ch; cout s; cout ch; cout struct Stack int stacksize; long *buffer; long *sp; p; void ini(int size) p.stacksize=size; p.sp=p.buffer=new longsize;

4、 void del() delete p.buffer; void push(long data) 实验 5 if(p.sp=p.buffer+p.stacksize) cerr struct Student /创建结构 long number; float score; Student *next; ; 实验 5 Student *head; Student *Create() /建立链表 Student *ps; Student *pend; ps=new Student; head=NULL; pend=ps; coutps-numberps-score; while(ps-number

5、!=0) if(head=NULL) head=ps; else pend-next=ps; pend=ps; ps=new Student; cinps-numberps-score; pend-next=NULL; delete ps; return(head); void showlist(Student *head) /输出链表 coutnumberscorenext; void Insert(Student *head,Student *stud) /插入链表节点 if(head=NULL) head=stud; 面向对象上机stud-next=NULL; return; Stude

6、nt *pGuard=head-next; head-next=stud; stud-next=pGuard; return; void Delete(long number) /删除链表节点 Student *p; if (head-number=number) p=head; head=head-next; delete p; coutnext!=NULL;pGuard=pGuard-next) if(pGuard-next)-number=number) p=pGuard-next; pGuard-next=p-next; delete p; coutps.numberps.score;

7、 while(ts) if(ps.number=ts-number) coutps.numberps.score; ts=head; else ts=ts-next; Insert(head, showlist(head); coutxs.number; Delete(xs.number); showlist(head); 上机要求按以下格式输入数据,观察程序运行结果。Input number and score:1 11 2 22 3 33 0 00 Input insrt number and score :4 44 Input delete number :2 面向对象上机将主函数中的“ xs.number” 改写为 “ ps.number” 观察现象,分析原因。删除 void Delete(long number) 函数中的 “delete p;”语句,观察现象。实验结果未发生变化。修改程序实现对输出结果按学号从大到小的顺序排序。(3)写出实验分析及结果。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号