
实验七指针与引用.docx
4页本文格式为Word版,下载可任意编辑实验七 指针与引用 测验七 指针与引用 一、测验目的和要求 1. 掌管指针、指针变量、指针常量的根本概念; 2. 掌管指针与数组、指针与函数的关系及应用 3. 初步掌管引用的概念及简朴应用 二.相关学识点 1.指针变量的定义,由数据类型后跟星号,再跟指针变量名组成 2.引用值是引自所指向的实体 3.指针与数组都可以作为参数 三.测验内容 1.题目:下面的程序中,调用了findmax()函数,该函数探索数组中 的最大元素,将该元素的下标通过参数返回,并返回其地址值,编程实现findmax()函数 1. 思路分析: 2. 编程如下: # include int * findmax(int * array, int size, int * index); void main ( ) { int a[10] = {33,91,54,67,82,37,85,63,19,68}; int * maxaddr; int idx; maxaddr = findmax(a, sizeof(a)/sizeof( * a), coutmax) { 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 a[size]; int n = 0; cout > a[i]; findmax(a, size,0, cout a[*pk]) *pk= i; findmax(a,n,i+1, } } 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 void main ( ) { int a[size]; int n=0; cout > a[i]; // findmax(a, size,0, findmax(a,size,0,n); cout a[*pk]) *pk= i; findmax(a,n,i+1, } }*/ void findmax(int *a,int n,int i,int ia[pk]) pk=i; } 3.测验结果 3.编制程序,将输入的一行字符加密和解密。
加密时,每个字符依次反复加上“4962873” 中的数字,假设范围超过ASCII码的032(空格)~122('z'),那么举行模运算解密与加密的依次相反编制加密和解密函数,打印各个过程的结果 例如,加密:the result Of 3 and 2 is not 8 得到密文为:xqk\ 1. 思路分析: 2. 编程如下: #include #include #include #define size 50 void jiami(char *,int ); void jiemi(char *,int ); void main() { char str[size]; cout<<\ gets(str); int len=strlen(str); cout<<\输入的源字符串为:\ jiami(str,len); cout<<\加密后的字符串为:\ jiemi(str,len); cout<<\重新解密后的字符串为:\} void jiami(char *a,int len1) — 4 —。












