首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 考试试题 >

09年4月全国计算机等级二级C语言笔试练习(11)

2008-11-20 
C语言笔试练习

    特意为大家整理的09年4月全国计算机等级二级C语言考前练习,希望对大家的备考有好的帮助!

    1.若有如下程序:
  sub(p,n)
  int (*p)[3],n;
  { int i;
  for(i=0;i<=n;i++)
  printf("%d",*(*(p+i)+n));}
  main()
  { int s[3][3]={1,2,3,4,5,6,7,8,9};
  sub(s,2);}
  则程序运行后的输出结果是()
  A)3 6 9
  B)2 4 8
  C)4 5 6
  D)7 8 9

  2.有以下的程序
  #include <stdio.h>
  void fun(char*fname,char*st)
  {FILE*myf;inti;
  myf=fopen(fname,"w");
  for(i=0;i<strlen(st);i++)fputc(st[i],myf);
  fclose(myf);
  }
  main()
  { fun("test.t","new world");fun("test.t","hello,");}
  程序执行后,文件test.t中的内容是()
  A)hello,
  B)new worldhello,
  C)new world
  D)hello,rld

  3.若有以下说明和定义
  fun(int *c){…}
  main()
  {int(*a)()=fun,*b(),w[10],c;
  …
  }
  在必要的赋值之后,对fun函数的正确调用语句是()
  A)a=a(w);
  B)(*a)(&c);
  C)b=*b(w);
  D)fun(b);

  4.有以下程序
  #include<stdio.h>
  sub1(char a,char b){char c;c=a;a=b;b=c;}
  sub2(char*a,char b){char c;c=*a;*a=b;b=c;}
  sub3(char*a,char*b){char c;c=*a;*a=*b;*b=c;}
  main()
  {char a,b;
  a=′A′;b=′B′;sub3(&a,&b);putchar(a);putchar(b);
  a=′A′;b=′B′;sub2(&a,b);putchar(a);putchar(b);
  a=′A′;b=′B′;sub1(a,b);putchar(a);putchar(b);
  }
  程序运行后的输出结果是()
  A)BABBAB
  B)ABBBBA
  C)BABABA
  D)BAABBA

  5.有以下程序
  void ss(char*s,chart)
  {while(*s)
  {if(*s==t)*s=t-′a′+′A′;
  s++;
  }
  }
  main()
  {charstr1[100]="abcddfefdbd",c=′d′;
  ss(str1,c);
  printf("%s\n",str1);
  }
  程序运行后的输出结果是()
  A)ABCDDEFEGDBD
  B)abcDDfefDbD
  C)abcAAfefAbA
  D)Abcddfefdbd

  6.有如下说明
  int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
  则数值为9的表达式是()
  A)*p+9
  B)*(p+8)
  C)*p+=9
  D)p+8

  7.下面函数的功能是()
  sss(s,t)
  char *s,*t;
  { while((*s)&&(*t)&&(*t++==*s++));
  return(*s-*t);
  }
  A)求字符串的长度
  B)比较两个字符串的大小
  C)将字符串s复制到字符串t中
  D)将字符串s接续到字符串t中

  8.设有以下定义:
  typedef union 
  { long i;int k[5];char c;}DATE;
  struct date
  { int cat;DATE cow;double dog;} too;
  DATE max;
  则下列语句的执行结果是()
  printf("%d",sizeof(struct date)+sizeof(max));
  A)25
  B)30
  C)18
  D)8

  9.fwrite函数的一般调用形式是()
  A)fwrite(buffer,count,fp,size);
  B)fwrite(fp,size,count,buffer);
  C)fwrite(fp,count,size,buffer);
  D)fwrite(buffer,size,count,fp);

  10.以下程序的输出结果是()
  struct HAR
  {int x,y;struct HAR*p;} h[2];
  main()
  {h[0].x=1;h[0].y=2;
  h[1].x=3;h[1].y=4;
  h[0].p=&h[1];h[1].p=h;
  printf("%d%d\n"h[0].p)->x,(h[1].p)->y);
  }
  A)12
  B)23
  C)14
  D)2

  答案:1.A 2.A 3.B 4.A 5.B 6.B 7.B 8.B 9.D 10.D

    11.若有以下说明和定义
  typedefint*INTEGER;
  INTEGERp,*q;
  以下叙述正确的是()
  A)p是int型变量
  B)p是基类型为int的指针变量
  C)q是基类型为int的指针变量
  D)程序中可用INTEGER代替int类型名

  12.若指针ps已正确定义,要使ps指向能够存储8个字符的动态存储单元,以下不正确的语句是()
  A)ps=(char*)malloc(8);
  B)ps=(char*)malloc(sizeof(char)*8);
  C)ps=(char*)calloc(8,sizeof(char));
  D)ps=8*(char*)malloc(sizeof(char));

  13.设下面程序段中调用fun函数传送实参a和b,
  main()
  {
  char a[10],b[10];
  …
  fun (a,b);
  …
  }
  则在fun函数首部中,对形参错误的定义是()
  A)fun(char a[10],b[10]){ …}
  B)fun(char a1[],char a2[]){ …}
  C)fun(char p[10],char q[10]){ …}
  D)fun(char*s1,char*s2){ …}

  14.C语言规定,程序中各函数之间()
  A)既允许直接递归调用也允许间接递归调用
  B)不允许直接递归调用也不允许间接递归调用
  C)允许直接递归调用不允许间接递归调用
  D)不允许直接递归调用允许间接递归调用

  15.下列程序
  voidfunc1(int i);
  voidfunc2(int i);
  char st[ ]="hello,friend!";
  void func1(int i)
  {printf("%c",st[i]);
  if(i<3){i+=2;func2(i);}
  }
  void func2(int i)
  {printf("%c",st[i]);
  if(i<3){i+=2;func1(i);}
  }
  main()
  {inti=0;func1(i);printf("\n");}
  执行后的输出结果是()
  A)hello
  B)hel
  C)hlo
  D)hlrn

  16.以下对结构体类型变量的定义中,不正确的是()
  A)typedef struct aa
  {int n;
  float m;
  }AA;
  AA tdl;
  C)struct
  {int n;
  float m;
  }aa;
  struct aa tdl;B)#define AA struct aa
  AA{int n;
  float m;
  }tdl;
  D)struct
  {int n;
  float m;
  }tdl;

  17.有以下程序
  main()
  {inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
  for(i=1;i<3;i++)
  for(j=0;j<=i;j++)s+=a[i][j];
  printf("%d\n",s);
  }
  程序运行后的输出结果是()
  A)18
  B)19
  C)20
  D)21

  18.请选出以下程序的输出结果()
  #include <stdio.h>
  sub(x,y,z)
  int x,y,*z;
  {*z=y-x;}
  main()
  { int a,b,c;
  sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);
  printf("%d,%d,%d\n",a,b,c);
  }
  A)5,2,3B)-5,-12,-7
  C)-5,-12,-17D)5,-2,-749.若有如下定义:
  unionaa
  {int n;char c[9];float x;}a,b,c;

  19.则下列叙述中不正确的是()
  A)union aa是定义的共用体类型
  B)a,b,c 是定义的共用体类型名
  C)n、c[9]和x是共用体的成员名
  D)a,b,c 是定义的共用体变量名

  20.在下列定义中的共用体所占内存字节数是()
  Union
  {char k[6];
  struct
  {int m;float f; }a;
  double d; }b;
  A)8
  B)14
  C)18
  D)10

  答案:1.B 42.D 43.A 44.A 45.C 46.C 47.A 48.B 49.B 50.A



3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/

热点排行