首页>计算机等级考试>模拟试题>正文
2010年9月计算机等级考试二级C语言模拟试题及参考答案(三)

www.zige365.com 2010-7-1 17:11:49 点击:发送给好友 和学友门交流一下 收藏到我的会员中心
       8.该程序运行的结果是【9】。

  #include<conio.h>

  #include<stdio.h>

  #define M 100

  void fun(int m,int *a,int *n)

  { int i,j=0;

  for(i=1;i<=m;i++)

  if(i%7==0||i%11==0)

  a[j++]=i;

  *n=j;

  }

  main()

  { int aa[M],n,k;

  clrscr();

  fun(10,aa,&n);

  for(k=0;k<n;k++)

  if((k+1)%20==0)printf(″\n″);

  else printf(″%4d″,aa[k]);

  printf(″\n″);

  }

  【参考答案】

  【9】 ###“7”(#表示空格)

 9.下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中,请填空。

  #include <stdio.h>

  FILE *fp;

  { char ch;

  if((fp=fopen(【10】))==NULL)exit(0);

  while((ch=getchar( ))!=′@′)fputc(ch,fp);

  fclose(fp);

  }

  【参考答案】

  【10】 “bi.dat”,“w”或“bi.dat”,“w+”

  10.以下程序将数组a的4个元素和数组b的6个元素写到名为lett.dat的二进制文件中,请填空。

  #include <stdio.h>

  main()

  { FILE *fp;

  char a[4]=″1234″,b[6]=″abcedf″;

  if((fp=fopen(″【11】″,″wb″))=NULL)exit(0);

  fwrite(a,sizeof(char),4,fp);

  fwrite(b,【12】,1,fp);

  fclose(fp);

  }

  【11】 lett.dat

  【12】 6*sizeof(char)

      11.以下程序输出的结果是【13】。

  main()

  { int a=5,b=4,c=3,d;

  d=(a>b>c);

  printf(″%d\n″,d);

  }

  【参考答案】

  【13】 0

 12.以下函数用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。请填空。

  #include <conio.h>

  #include <stdio.h>

  int fun(int *s,int t,int *k)

  { int i;

  *k=0;

  【14】

  if(s[*k]<s[i]*k=i;

  return【15】;

  }

  main()

  {

  int a[10]={876,675,896,101,301,401,980,431,451,777},k;

  clrscr();

  fun(a,10,&k);

  printf(″%d,%d\n″,k,a[k]);

  }

  【参考答案】

  【14】 for(i=0;i<t;i++)

  【15】 0

13.以下程序段中,错误的行号是【16】。

  ① #include <stdio.h>

  ② main()

  ③ { char str[14];str[ ]={″I love China″};

  ④  printf(″%s″,str);

  ⑤ }

  【参考答案】

  【16】 3行

  14.设x和y均为int型变量,且x=1,y=2,则表达式double(1+x/y)的值为【17】。

  【参考答案】

  【17】 1.000000

  15.设有以下定义和语句,则*(*(p+2)+1)的值为【18】。

  int a[3][2]={10,20,30,40,50,60},(*p)[2];

  p=a;

  【参考答案】

  【18】 60

  16.以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。

  例如,若一维数组中的数据是2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后,数组中的内容应该是2 3 4 5 6 7 8 9 10。

  请填空。

  #include <stdio.h>

  #define N 80

  int fun(int a[ ],int n)

  { int i,j=1;

  for(i=1;i<n;i++)

  if(a[j-1]【19】a[i])

  a[j++]=a[i];

  【20】;

  }

  main()

  { int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19;

  printf(″The original data :\n″);

  for(i=0;i<n;i++)printf(″%3d″,a[i]);

本新闻共3页,当前在第1页  1  2  3  

我要投稿 新闻来源: 编辑: 作者:
相关新闻