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

2013计算机二级考试C语言备考试题一(附解析)(5)

2013-01-26 

  (33)有以下程序

  #include

  #include

  void fun(char *s[],int n)

  { char *t; int i,j;

  for(i=0;i

  for(j=i+1;j

  if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}

  }

  main()

  { char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};

  fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);

  }

  程序的运行结果是

  A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc

  (34)有以下程序

  #include

  int f(int x)

  { int y;

  if(x==0||x==1) return(3);

  y=x*x-f(x-2);

  return y;

  }

  main()

  { int z;

  z=f(3); printf("%d\n",z);

  }

  程序的运行结果是

  A)0 B)9 C)6 D)8

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

  char str[]="ABC",*p=str;

  printf("%d\n",*(p+3));

  A)67 B)0 C)字符′C′的地址 D)字符′C′

  (36)若有以下定义:

  struct link

  { int data;

  struct link *next;

  } a,b,c,*p,*q;

  且变量a和b之间已有如下图所示的链表结构:

  指针p指向变量a,q指向变量c。则能够把c插入到a和b 之间并形成新的链表的语句组是:

  A)a.next=c; c.next=b; B)p.next=q; q.next=p.next; C)p->next=&c; q->next=p->next; D)(*p).next=q; (*q).next=&b;

  (37)对于下述程序,在方式串分别采用"wt"和"wb"运行时,两次生成的文件TEST的长度分别是

  #include

  void main()

  { FILE *fp=fopen("TEST",);

  fputc(′A′,fp);fputc(′\n′,fp);

  fputc(′B′,fp);fputc(′\n′,fp);

  fputc(′C′,fp);

  fclose(fp); }

  A)7字节、7字节 B)7字节、5字节 C)5字节、7字节 D)5字节、5字节

  (38)变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是

  A)a^b B)a|b C)a&b D)a<<4

  (39)下面的程序段运行后,输出结果是

  int i,j,x=0;

  static int a[8][8];

  for(i=0;i<3;i++)

  for(j=0;j<3;j++)

  a[i][j]=2*i+j;

  for(i=0;i<8;i++)

  x+=a[i][j];

  printf("%d",x);

  A)9 B)不确定值 C)0 D)18

  (40)下列程序执行后的输出结果是

  void func(int *a,int b[])

  { b[0]=*a+6; }

  main()

  { int a,b[5];

  a=0; b[0]=3;

  func(&a,b); printf("%d\n",b[0]);}

  A)6 B)7 C)8 D)9

热点排行