您现在的位置: 中国IT实验室 >> 软件水平考试 >> 特别推荐 >> 文章正文
面向对象程序设计考试心得

中国IT实验室整理  2008-3-7  保存本文  推荐给好友  QQ上看本站  收藏本站


 

  while((c=fgetc(fp))!= EOF){

  ……/* 这里对刚读人的字符信息C作某种处理*/

  }

  fclose(fp);

  ……/* 输出处理结果*/

  (7)字符逐一生成输出,形成新文件程序的一般结构形式有:

  int c;/*也可以是 char类型*/

  对于本例题,只要包含上述(1)、(3)、(5)和(4)即可,写成完整程序如下:

  # include<stdio.h>

  FILE*FP;/*定义文件指针变量 fp*/

  char fname[40]=“text.txt”;

  main()

  {char c;/*或 int c*/

  if((fp= fopen(fname,“r”))== NULL){ /*为读打开*/

  printf(“%s文件不能打开,结束程序的执行\n”,fname);

  return;

  }

  c=fgetc(fp);/*将从文件输入的字符存于变量c*/

  printf(“%c\n”, c);

  fclose(fp);/*中所指文件关闭*/

  }

  「例9」编写函数f,该函数没有浮点型数组形参float[]和整型形参n,函数的功能是计算并返回p[]中前n个元素的平均值。由于函数返回已知数组的平均值,函数的头有以下形式:

  float f( float p[], int n)

  函数为了计算平均值,需要两个计算步骤,首先是求出数组元素之和,然后将求得的和除以元素个数。严格地说,函数还因防止形参n小于等于0的情况,假定当n小等于0时,函数返回0值。为求数组元素和,需要一个存储和的变量(例如说S)。求和通过遗历数组实现,有两种实现方法:

  一是引入一个循环控制变量(例如说i),并让 i作为弓佣数组元素的下标(如 p[i])。所以有以下代码:

  float f(float p[], int n)

  { int i; float s;

  if(n<=0)return 0.0;

  for( s=0.0, i=0; i<n; i++) s+= p[i];

  return s/n;

  }

  二是由于函数的数组形参实际是一个指针变量,遍历数组直接可用指针形参p实现。循环次数可让变量 j控制, j的初值为 n,每次循环后让 j减 1,循环直至 j为 0结束。写成 C代码如下:

  float f( float p[], int n)

  { floa S; int j=n;

  if( n<=0) return 0.0;

  for( s=0.0; j>0; j——) s+=*p++;

  return s/n;

  }

上一页  [1] [2] [3] [4] [5] 





 相关文章  热门文章
没有相关文章

 文章评论


认证培训
热门专题       more
相关下载
论坛新帖
博 客