




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验七 指针与引用一、实验目的和要求1. 掌握指针、指针变量、指针常量的基本概念;2. 掌握指针与数组、指针与函数的关系及应用。3. 初步掌握引用的概念及简单应用。二.相关知识点 1.指针变量的定义,由数据类型后跟星号,再跟指针变量名组成。2.引用值是引自所指向的实体。3.指针与数组都可以作为参数。三.实验内容 1.题目:下面的程序中,调用了findmax()函数,该函数寻找数组中的最大元素,将该元素的下标通过参数返回,并返回其地址值,编程实现findmax()函数。1. 思路分析: 2. 编程如下:# include int * findmax(int * array, int size, int * index);void main ( )int a10 = 33,91,54,67,82,37,85,63,19,68;int * maxaddr;int idx;maxaddr = findmax(a, sizeof(a)/sizeof( * a), &idx);coutidxendlmaxaddr endlaidx endl;int * findmax(int * array, int size, int * index) int i,max;int *p;p=array;max=*array;for(i=0;imax) max=*(array+i); p=array+i; *index=i; return p;3. 实验结果: 2.读下列程序,将其改写为传递引用参数;将findmax()函数改写成非递归函数(重新考虑参数个数)。# include const size= 10;void findmax(int* a, int n, int i, int * pk);void main ( )int asize;int n = 0;cout 请输入 size 个数据:;for(int i=0; i ai;findmax(a, size,0, &n);cout 最大值为: an endl其下标为: n endl;void findmax(int * a, int n, int i, int * pk)if(ia*pk)*pk= i;findmax(a,n,i+1,&(*pk);1.思路分析:2.编程如下: # include const size= 10;/void findmax(int* a, int n, int i, int * pk);void findmax(int *a,int n,int i,int &pk);void main ( )int asize;int n=0;cout 请输入 size 个数据:;for(int i=0; i ai;/findmax(a, size,0, &n); findmax(a,size,0,n);cout 最大值为: an endl其下标为: n endl;/*void findmax(int * a, int n, int i, int * pk) if(ia*pk)*pk= i;findmax(a,n,i+1,&(*pk);*/void findmax(int *a,int n,int i,int &pk)for(;iapk) pk=i;3.实验结果 3.编制程序,将输入的一行字符加密和解密。加密时,每个字符依次反复加上“4962873”中的数字,如果范围超过ASCII码的032(空格)122(z),则进行模运算。解密与加密的顺序相反。编制加密和解密函数,打印各个过程的结果。例如,加密:theresult Of 3 and 2 is not 8得到密文为:xqkzlvyuzwm#7gpls$ryvvw$A1. 思路分析:2. 编程如下: #include #include #include #define size 50void jiami(char *,int );void jiemi(char *,int );void main() char strsize;coutplease in a string:endl; gets(str);int len=strlen(str);cout输入的源字符串为:strendl;/puts(str); jiami(str,len);cout加密后的字符串为:strendl;/puts(str); jiemi(str,len);cout重新解密后的字符串为:strendl;/puts(str);void jiami(char *a,int len1)int s7=4,9,6,2,8,7,3;int t=0;for(int i=0;ilen1;i+) ai=ai+si%7;if(ai122) ai=122-(ai)%(122);void jiemi(char *b,int len2)int s7=4,9,6,2,8,7,3;int t=0;for(int i=0;ilen2;i+) bi=bi-si%7; 3.实验结果: 4.编制程序,调用传递引用的参数, 实现两个字符串变量的交换。例如开始:char* ap=hello;char* bp=how are you;交换的结果使得ap和bp指向的内容分别为:ap: how are you?bp: hello1. 思路分析:2. 编程如下: #include #include void swap(char *&pp1,char *&pp2);void main() char str150,str250;char *p1,*p2;cout请输入字符串1:endl;gets(str1);cout请输入字符串2:endl;gets(str2);p1=str1;p2=str2;swap(p1,p2);cout交换后的字符串为:endl;coutp1endl;coutp2endl;void swap(char *&pp1,char *&pp2)char *temp; temp=pp1; pp1=pp2; pp2=temp;3.实验结果 5.用指针变量编写下列字符串处理函数:(1)字符串拼接函数Strcat;(2)字符串比较函数Strcmp;(3)取字符串长度函数Strlen。1.思路分析:2.编程如下:#include #include void mystrcat(char * ,char * );int mystrcmp(char * ,char * );int mystrlen(char * );void main()char str150,str250; cout请输入字符串1:endl;gets(str1);cout请输入字符串2:endl;gets(str2);mystrcat(str1,str2);cout拼接后的字符串为:endl;coutstr1endl;cout比较后的结果为:endl;coutmystrcmp(str1,str2)endl;cout字符串的长度为:endl;coutmystrlen(str1)endl;void mystrcat(char *p1,char *p2) while(*p1!=0) p1+; while(*p2!=0) *p1=*p2;p1+;p2+; *p1=0;int mystrcmp(char *p1,char *p2) while(*p1!=0&*p2!=0) if(*p1!=*p2) return (*p1)-(*p2);break; else p1+;p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司职场内活动方案
- 公司组织健身走活动方案
- 公司自制柠檬茶活动方案
- 公司晨会团体活动方案
- 2025年统计学专业期末考试试卷及答案
- 2025年经济法相关知识考试试题及答案
- 北师大版(2024)七年级下册英语期末复习:Unit1~6各单元书面表达练习题(含答案+范文)
- 2025年中国冷冻面包产品行业市场全景分析及前景机遇研判报告
- 2024年度浙江省二级造价工程师之建设工程造价管理基础知识练习题及答案
- 2024年度浙江省二级注册建筑师之法律法规经济与施工题库综合试卷B卷附答案
- 2025 年湖北省中考生物地理试卷
- 荆州中学2024-2025学年高二下学期6月月考语文答案(定)
- 2025年高考语文新课标1卷试卷及答案(新课标Ⅰ卷)
- 公司年中会议策划方案
- 计算物理面试题及答案
- JG/T 455-2014建筑门窗幕墙用钢化玻璃
- 法人变更免责协议书
- 浙江国企招聘2025杭州地铁科技有限公司招聘51人(第一批)笔试参考题库附带答案详解
- 北京市2025年第一次普通高中学业水平合格性考试地理试题(含答案)
- 200立方米谷氨酸发酵罐设计
- 多媒体给农村初中语文教学注入了活力
评论
0/150
提交评论