实验十 指针的程序设计      实验报告下载

一、实验目的

      通过实验,了解掌握指针的间接访问特点,及相关处理的算法设计。

      

      

二、实验内容

      1、题目:字符串的递归打印

      实验分析及提示:

      程序1是一个字符串反向的递归函数,请将该函数填写完整,回答下列问题。

      程序1:

      revstr ( char * s )

      { char *p = s, c;

        while (【1】 )

          p++;

        【2】;

        if ( s < p )

        { c = *s;

          【3】;

          【4】 = ’\0’;

          revstr(s+1);

          【5】;

        }

      }

      

      2、题目:指针数组的应用。

      

      程序2定义了一个指针数组并设定了初值,请分析该程序,回答问题。

      程序2:

      char *str[5]={“AAA”,”BBB”,”CCC”,”DDD”,”EEE”};

      str[2]的值是___________________________(若不存在,请填写不存在)

      *str[2]的值是_________________________(若不存在,请填写不存在)

      *(str[2]的值是___________________________(若不存在,请填写不存在)

      str[2][0]的值是_________________________(若不存在,请填写不存在)

      

      2、题目:指针数组的应用。

      

      程序3:已知一个数组指针去访问数组的元素,请填写相关内容;

      int (*ptr)[]={{1,2,3},{,4,5,6},{,7,8,9}};

      【语句】;

      printf(”%d”,【变量】);

      

      

      

      

三、实验方法

      1、针对程序1画出流程图(可不交);

      2、按照流程图和输出要求,将程序补充完整,观察输出结果,并按照表格要求进行结果记录。

      

      

四、实验报告

      1、回答问题。

      

      根据程序1,请回答问题:

      1.1这个函数的形式参数是________________数据类型是______________,实际调用时实际的调用参数是________________,数据类型是_________________,实际调用参数与形式参数的类型一致吗?

      

      1.2 程序只是一个片段,请你写出完整的主程序。

      ________________________________________________________________________

      ________________________________________________________________________

      ________________________________________________________________________

      ________________________________________________________________________

      ________________________________________________________________________

      ________________________________________________________________________

      ________________________________________________________________________

      ________________________________________________________________________

      ________________________________________________________________________

      ________________________________________________________________________

      ________________________________________________________________________

      ________________________________________________________________________

      ________________________________________________________________________

      ________________________________________________________________________

      根据程序2,请回答问题:

      

      str[2]的值是___________________________(若不存在,请填写不存在)

      *str[2]的值是_________________________(若不存在,请填写不存在)

      *(str[2]的值是___________________________(若不存在,请填写不存在)

      str[2][0]的值是_________________________(若不存在,请填写不存在)

      

      2、将程序1的空缺语句填写完整。

      

序号语句
【1】
【2】
【3】
【4】
【5】

      

      3、根据程序3,请根据需要填写以下内容:

      

执行【语句】后变量输出
4
5
6
7
3
2
9