实验七 指针与引用

更新时间:2024-04-14 08:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验七 指针与引用

一、实验目的和要求

1. 掌握指针、指针变量、指针常量的基本概念; 2. 掌握指针与数组、指针与函数的关系及应用。 3. 初步掌握引用的概念及简单应用。

二.相关知识点

1.指针变量的定义,由数据类型后跟星号,再跟指针变量名组成。

2.引用值是引自所指向的实体。 3.指针与数组都可以作为参数。

三.实验内容

1.题目:下面的程序中,调用了findmax()函数,该函数寻找数组中

的最大元素,将该元素的下标通过参数返回,并返回其地址值,编程实现findmax()函数。

1. 思路分析:

2. 编程如下:

# include < iostream.h >

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), &idx); cout<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 < iostream.h> const size= 10;

void findmax(int* a, int n, int i, int * pk); void main ( ) {

int a[size]; int n = 0;

cout << \请输入\个数据:\ for(int i=0; i< size; i++) cin >> a[i];

findmax(a, size,0, &n);

cout <<\最大值为:\ <<\其下标为:\}

void findmax(int * a, int n, int i, int * pk) {

if(i

if(a[i] >a[*pk]) *pk= i;

findmax(a,n,i+1,&(*pk)); } }

1.思路分析:

2.编程如下:

# include < iostream.h>

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 a[size]; int n=0;

cout << \请输入\个数据:\ for(int i=0; i< size; i++) cin >> a[i];

// findmax(a, size,0, &n); findmax(a,size,0,n);

cout <<\最大值为:\ <<\其下标为:\}

/*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(;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)

本文来源:https://www.bwwdw.com/article/6dnp.html

Top