您的位置:自考365 > 复习指导 > 笔记串讲 > 工学 > 自考“高级语言程序设计”习题答案详解(51)

自考“高级语言程序设计”习题答案详解(51)

2007-09-04 10:50   【 】【我要纠错

  2.设计一个程序,将随启动程序执行时输入的两个整数的和、差、积、整除商、模运算的结果输出。 「解」直接写出程序如下:

  # include

  main( int argc,char *argv[])

  { int tl,t2;

  if( argc < 3) {

  printf(“Parmenters missing!\n”); return 0;

  }

  t1=atoi( argv[l] );t2=atoi( argv[2] );

  printf(“%d+%d=%d\n”, t1, t2, t1+t2);

  printf(“%d-%d=%d\n”, t1,t1,t1-t2);

  printf(“%d*%d=%d \n”,t1,t2,t1*t2);

  printf(“%d/%d=%d\n”,t1,t2, t1/t2);

  printf(“%d% %d=%d\n”,t1,t2, t1%t2);

  }

  3.设计一个比较字符串的程序,两个字符串随启动程序执行的命令输入,输出其中大的字符串。

  「解」直接写出程序如下:

  # include

  main(int argc,char *argv[])

  { char *s1,*s2;

  if( argc < 3) {

  printf(“Parameters missing! \n”);return 0;

  }

  for(s1=argv[1],s2=argv[2];*s1 && *s1==*s2;s1++,s2++ );

  printf(“%s\n”,*s1< *s2? argv[2]:argv[1]);

  }

  3.下面的程序用来统计文件中字符的个数,请填空。

  # include

  # include

  main()

  { FILE *fp;

  long num=0;

  if(( fp =fopen(“fname.day”,“r”))== NULL)

  { printf(“Cann‘t open file! \n”); etit(0); }

  while________ { fgetc(fp); num++; }

  printf(“num =%d \n”。 num);

  fclose(fp);

  }

  「解」若要统计文件中的字符个数,程序设计一个计数器,并预置该计数器为0值,并打开文件。在正确打开情况下,接着是一个循环。循环在文件未结束的情况下,反复读人字符,并增加字符计数器。所以循环条件可写成:!feof(fp)。程序有一个错误,由于num变量的类型是long型的,输出它的值应在格式符d之前加上格式修饰符‘l’,不加这个修饰符只有在long型与int型实现相同的系统才是正确的。另外,要统计文件的长度,最好用二进制方式打开,通过读入的字节数求出文件的长。这是因为正文文件方式打开时,文件中的双字符(回车字符和换行字符)读入后将被当作一个字符存储,二进制方式不进行这样的转换。

本文转载链接:自考“高级语言程序设计”习题答案详解(51)

分享到:
  • 站内搜索
  • 课程搜索
  • 试题搜索

热门搜索:教材 报名 查分 免考 考试计划