就业数据资源平台
当前位置:首页 > C语言程序设计
2010年9月计算机等级考试二级C语言模拟试题(二)-2

33.下面程序的输出结果是( )

  fun(int x)


  {


  int a=3;


  a*=x;


  return a;


  }


  main()


  {


  int x=2,y=1,n;


  n=fun(x);


  n=fun(y);


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


  }


  A.2  B.4  C.3  D.8


  【参考答案】C


 34.以下程序的结果是( )


  main()


  {www.Examw.CoM


  char *p=″abcdefgh″,*r;


  long *q;


  q=(long*)p;


  q++;


  r=(char*)q;


  printf(″%s\n″,r);


  }


  A.defg  B.cdef  C.ghab  D.efgh


  【参考答案】D


  35.C语言中提供的关键字是( )


  A.swicth B.cher C.Case D.default


  【参考答案】D


  36.下面程序的输出结果是( )


  main()


  { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;


  printf(″%d\n″,*(p+2));


  }


  A.3  B.4  C.1  D.2


  【参考答案】A


 37.下列程序的输出结果是( )

  main()


  { ouble d=3.2;int x,y;


  x=1.2;y=(x+3.8)/5.0;


  printf(″%d\n″,d*y);


  }


  A.3  B.3.2  C.0  D.3.07


  【参考答案】C


  38.执行以下程序后,a,b的值分别为( )


  main()www.Examw.CoM


  { int a,b,k=4,m=6,*p1=&k,*p2=&m;


  a=p1==&m;


  b=(*p1)/(*p2)+7;


  printf(″a=%d\n″,a);


  printf(″b=%d\n″,b);


  }


  A.-1,5  B.1,6  C.0,7  D.4,10


  【参考答案】C


 39.以下不正确的定义语句是( )


  A.double x[5]={2.0,4.0,8.0,10.0};


  B.int y[5]={0,1,3,5,7,9};


  C.char c1[ ]={′1′,′2′,′3′,′4′,′5′};


  D.char c2[ ]={′\x10′,′\xa′,′\x8′};


  【参考答案】B


  40.下面程序段的运行结果是( )


  char *format=″%s,a=%d,b=%d\n″;


  int a=11,b=10;


  a+=b;


  printf(format,″a+=b″,a,b);


  A.for,″a+=b″,ab B.format,″a+=b″


  C.a+=b,a=21,b=10 D.以上结果都不对


  【参考答案】C


  41.以下叙述中不正确的是( )


  A.在不同的函数中可以使用相同的名字的变量


  B.函数中的形式参数是局部变量


  C.在一个函数内定义的变量只在本函数范围内有效


  D.在一个函数内的复合语句中定义的变量在本函数范围内有效


  【参考答案】D


  42.在16位IBM-PC机上使用C语言,若有如下定义


  struct data


  { int i;


   char ch;


   double f;


  } b;


  则结构变量b占用内存的字切数是( )


  A.1 B.2 C.7 D.11


  【参考答案】D


43.以下程序的输出结果是( )

  void reverse(int a[],int n)


  { int i,t;


  for(i=0;i

  { t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}


  }


  main()


  { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;


  reverse(b,8);


  for(i=6;i<10;i++)s+=b[i];


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


  }


  A.22  B.10  C.34  D.30


  【参考答案】A


  44.假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入PROG ABCDEFGH IJKL<回车>,则输出结果为( )


  main( int argc,char *argv[])


  { while(--argc>0)


  printf(″%s″,argv[argc]);


  printf(″\n″);


  }考试用书


  A.ABCDEFG  B.IJHL  C.ABCDEFGHIJKL  D.IJKLABCDEFGH


  【参考答案】D


 45.阅读以下程序及对程序功能的描述,其中正确的描述是( )


  #include


  main()


  {


  FILE *in,*out;


  char ch,infile[10],outfile[10];


  printf(″Enter the infile name:\n″);


  scanf(″%s″,infile);


  printf(″Enter the outfile name:\n″);


  scanf(″%s″,outfile);


  if((in=fopen(infile,″r″))==NULL)


  {


  printf(″cannot open infile\n″);


  exit(0);


  }


  if((out=fopen(outfile,″w″))==NULL)


  {


  printf(″cannot open outfile\n″);


  exit(0);


  }


  while(!feof(in))fputc(fgetc(in),out);


  fclose(in);


  fclose(out);


  }


  A.程序完成将磁盘文件的信息在屏幕上显示的功能


  B.程序完成将两个磁盘文件合二为一的功能


  C.程序完成将一个磁盘文件复制到另一个磁盘文件中


  D.程序完成将两个磁盘文件合并并在屏幕上输出


  【参考答案】C


 46.下列用于printf函数的控制字符常量中,代表“竖向跳格”的转义字符常量是( )

  A.\b  B.\t  C.\v  D.\f


  【参考答案】C


  47.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )


  A.n=(n*100+0.5)/100.0  B.m=n*100+0.5,n=m/100.0


  C.n=n*100+0.5/100.0  D.n=(n/100+0.5)*100.0


  【参考答案】B


  48.若变量已正确说明为int类型,要通过语句scanf(″%d %d %d″,&a,&b,&c);给a赋值3,b赋值5,c赋值8,不正确的输入形式是( )


  A.3<回车>       B.3,5,8<回车>


    5<回车>


    8<回车>


  C.3<回车>       D.3 5<回车>


    5 8<回车>       8<回车>


  【参考答案】B


  49.对表达式for(表达式1;;表达式3)可理解为( )


  A.for(表达式1;0;表达式3)


  B.for(表达式1;1;表达式3)


  C.for(表达式1;表达式1;表达式3)


  D.for(表达式1;表达式3;表达式3)


  【参考答案】B


  50.若有如下语句


  int x=3;


  do{ printf(″%d\n″,x-=2);}


  while(!(--x));


  则上面程序段( )


  A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循环


  【参考答案】B


二、填空题


  1.在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为【1】。


  【参考答案】:


  【1】 log2n


  2.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【2】。


  【参考答案】:


  【2】 软件生命周期


  3.数据的逻辑结构有线性结构和【3】两大类。


  【参考答案】:


  【3】 非线性结构


  4.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【4】。


  【参考答案】:


  【4】 可重用性


  5.关系操作的特点是【5】操作。


  【参考答案】:


  【5】 集合


 6.以下程序段的输出结果是【6】。

  int x=17,y=26;


  printf(″%d″,y/=(x%=6));


  【参考答案】:


  【6】 5


  7.若有以下程序段:


  int c1=1,c2=2,c3;


  c3=1.0/c2*c1;


  则执行后,c3中的值是【7】。


  【参考答案】:


  【7】 0


  8.以下函数用来在w数组中插入x。n所指向的存储单元中存放w数组中字符个数。数组w中的字符已按从小到大的顺序排列,插入后数组w中的字符仍有序。请填空。


  void fun(char *w,char x,int *n)


  { int i,p;


  p=0;


  w[*n]=x;


  while(x>w[p])p++;


  for(i=*n;i>p;i--)w[i]=【8】;


  w[p]=x;中华IT学院


  ++*n;


  }


  【参考答案】:


  【8】 w[i-1]


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


  main()


  { int y=9;


  for(;y>0;y--)


  if(y%3==0)


  { printf(″%d″,--y);continue;}


  }


  【参考答案】:


  【9】 852


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


  #define PR(ar) printf(″%d″,ar)


  main()


  { int j,a[]={1,3,5,7,9,11,15},*p=a+5;


  for(j=3;j;j--)


  switch(j)


  { case 1:


  case 2:PR(*p++);break;


  case 3:PR(*(--p));


  }


  printf(″\n″);


  }


  【参考答案】:


  【10】 9,9,11

就业数据资源平台