资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实验 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); 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 指针函数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; 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!=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; Student *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; 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)写出实验分析及结果。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号