[设为首页]
中国-东莞·教育导航
  主页 | 教育资讯 | 推荐课程 | 公开课 | 考试 | 资格认证 | 外语 | 硕士考研 | 自考成考 | IT培训 | 金融财会 | 名校 | 学习资料
  导航:首页 - 指针和函数的应用实验指导

指针和函数的应用实验指导
作者:城市学习网 来源:xue.net 更新日期:2007-12-17 阅读次数:

指针和函数的应用
一、实验目的
1.熟悉指针变量的定义。初始化和使用方法。
2.熟悉用户函数的一般定义格式和调用方法,特别是数据传递方法。
3.熟悉递归函数和指针型函数的定义与调用方法。
4.掌握教材中介绍的各类系统函数的调用格式与基本功能。
二、预习要求
1.复习指针变量的定义。初始化和使用方法。
2.复习函数的定义方法和调用方法,特别要注意函数间数据传递方法的4种方式及其特点,注意递归函数和指针型函数的定义与调用方法。
3.复习教材中介绍的各类系统函数的调用格式与基本功能。
三、实验准备
【问题一】用指针来处理一维数组元素
    从键盘上输入若干个字符,以符号“@”结束。编一个C程序,统计这些符号的个数(不包括@)存入数组元素a[0],将这些符号依次存入a[1]、a[2]、a[3]、…中。接着利用a[0]中存放的字符个数,输出这些字符。
     本题要求用指向数组a的指针变量来处理数组元素。
【待填充的源程序参考清单】
  main()
 { char a[100]={0},________________________=a,c;
    scanf("%c",&c);
    while(________________________)
       {______________________;
         *(pa+(*pa))=c;
         scanf("%c",&c);
        }
    printf("\nnumber of string:%d\nstring:\n”,*pa);
    for(pa=a+1; pa<=______________________;pa++
    printf("%c",*pa);
    printf("\n");
   }

【问题二】用指针处理二维数组元素
   从键盘上输入整型数组 a[5][5]各元素的值,再按 5行 5列的格式输出这个数组(参看下面给出的例子),然后先将数组a的第i行和第j行的对应元素交换,按5行5列的格式输出交换后的数组,再将数组a的第i列和第j列的对应元素交换,按5行5列的格式输出交换后的数组。i和j由键盘输入(1≤i≤5、1≤j≤5)。
    例如,i=2、j=4,数组a行列交换前后的结果如下:
交换前的数组a          交换后的数组a
1 2 3 4 5                      1 4 3 2 5
6 7 8 9 10                     16 19 18 17 20
11 12 13 14 15                 11 14 13 12 15
16 17 18 19 20                 6 9 8 7 10
21 22 23 24 25                 21 24 23 22 25
    本题要求分别用指向数组元素的指针变量和指向长度为5的一维数组指针变量来处理二维数组元素。
【待填充的源程序参害清单】
方法一:使用指向二维数组元素的指针变量来处理数组元素。
  main()
 { int a[5][5],*pa=&a[0][0],m,n,i,j,k;
    for( m=0;m<5;m++)
      for(n=0;n<5;n++)
        scanf("%d",____________________);
        pa=&a[0][0];
        for(m=0;m<5;m++)
       { for( n=0;n<5;n++)
          printf("%5d",________________);
          printf("\n");
        }
        printf("\n");
       printf("input i,j:");
     scanf("%d,%d",&i,&j);
     ____________________________;
     pa=&a[0][0];
     for(n=0;n<5;n++)
    { k=*(pa+ i*5+n);
      *(pa+i*5+n)=_______________________;
      *(pa+j*5+n)=k;

 

(p204)

 

 

点步行到X再下水游泳到B点)。所谓的“路线”是指求出的A点到X点的距离,误差为0.1米)。
【待填充的原程序参考清单】
 float f1(X)
{ float y;
   y=sqrt((4O-x)*(40-x)+30*30);
   return(y);

float f2(X)
float x;
{__________________________;
  y=x/2.0+f1(x)/1.2;
  return(y);
 }
main()
{ float x,min_x=0.0,min_t,t;
   min_t=_____________________________;
   for(x=0.1;x<= 4O.0;x+= 0.1)
     if((t=f2(x))>min_t)
     else
       min_t=t,min_x=x;
   printf("x=%f\nmin_time=%f\n", min_x,min_t);
  }
提示:本题的答案是 x=17.5
      min_t= 4O.0

【问题四】
(1)用C语言编写名为f1的指针型函数,从指定字符串的第n1个字将开始取n2个字符组成新的字符串,函数的返回值为新字符率的首地址。其中,指定的原字符串、新字符率和n1、n2的作为函数的参数。
(2)用C语言编写主函数,从键盘上输入字符串和整数n1、n2。如果“n1+n2>字符串长度+1”,则输出“ERROR!”;否则,调用f1函数,求字符串中从n1开始的共n2个字符组成的新字符串,并输出新字符串。
   本题要求用指向字符串的指针变量来处理字符串。
【自己编写的源程序清单】
方法一:以“指针法”使用指针变量来引用字符串中的字符。
方法二:以“下标法”使用指针变量来引用字符串中的字符。
    在方法一的程序清单基础上进行修改获得方法二的程序的清单。
四、实验步骤
【启动Turbo-C,开始实验】
1.启动计算机,进入DOS操作系统,启动Tutho-C,进入主菜单。
2.选取“File”菜单条的下拉菜单项“New”,进入源程序的编辑状态。
【问题一程序的调试与运行】
3.输入问题一中给出的、实验准备阶段已经填充好的源程序参考清单。
4.选取“File”菜单条的下拉菜单项“Save”,将源程序存盘。
【热键】 <F2>
5.选取“Compile”菜单条的下拉菜单项“Compile to OBJ”,对源程序进行编译。
【热键】 <Alt>+<F9>
6.查阅并分析系统给出的语法错误信息,重新编辑修改源程序,转第4步。反复执行,直到源程序语法没有错误,转下一步。
7.选取“Compile”菜单条的下拉菜单项“Make EXE file”,对源程序进行连接。
【热键】 <F9>
若连接中有错误,重新编辑修改源程序,转第4步。
若没有错误,转下一步。
8.选取“Run”菜单条的下拉菜单项“Run”,运行目标程序。
【热键】 <Ctrl>+<F9>
9.选取“Run”菜单条的下拉菜单项“User Screen”,查看运行结果。
【热键】 <Alt>+<F5>
看后接任一键返回Tutho-C的主菜单。
若运行结果有错,分析错误原因,重新编辑修改源程序,转第4步。
若运行结果正确,转下一步。
10.记录正确的程序清单。
【问题二(法一)程序的调试与运行】
11.选取“File”菜单条的下拉菜单项“New”,进入源程序的编辑状态。
12.输入问题二(法一)中给出的、实验准备阶段已经填充好的源程序参考清单。
13.重复前面的第4步~第9步,编译、连接、运行、调试问题二(法一)的程序。
14.记录正确的程序清单。
【问题二(法二)程序的调试与运行】
15.按照实验准备阶段的修改方案,修改已经调试成功的问题二(法一)的程序清单,成
为用法二解决问题二的程序清单。
16.重复前面的第4步~第9步,编译、连接、运行。调试问题二(法二)的程序。
17 .记录正确的程序清单。
【问题三程序的调试与运行】
18.选取“ File”菜单条的下拉菜单项“ New”,进入源程序的编辑状态。
19.输入问题三中给出的、实验准备阶段已经填充好的源程序参考清单。
20.重复前面的第4步~第9步,编译、连接、运行、调试问题三的程序。
21.记录正确的程序清单。
【问题四(法一)程序的调试与运行】
22.选取“File”菜单条的下拉菜单项“New”,进入源程序的编辑状态。
23.输入自己编写的、解决问题四(法一)的源程序清单。
24.重复前面的第4步~第9步,编译、连接、运行、调试问题四(法一)的程序。
25.记录正确的程序清单。
【问题四(法二)程序的调试与运行】
26.按照实验准备阶段的修改方案,修改已经调试成功的问题四(法一)的程序清单,成为用法二解决问题四的程序清单。
27.重复前面的第4步~第9步,编译、连接、运行、调试问题四(法二)的程序。
28.记录正确的程序清单。
【退出 TurbO- C,结束本次实验】
29.选取“File”菜单条的下拉菜单项“Quit”,退出Turbo-C,返回操作系统。
【热键】<Alt>+X
30.分析实验过程,总结实验结果。


报 名 此 课 程 / 咨 询 相 关 信 息
【预约登门】 【网上咨询】 【订座试听】 【现在报名】
课程名称
指针和函数的应用实验指导
真实姓名
* 性 别
联系电话
* E-mail:
所在地区
咨询内容

      

相关文章:
·Java事件处理模式 (2007-12-17)

Copyright© 2014 www.dgedu.com.cn 东莞教育在线 版权所有
中国·东莞
粤ICP备06023013号