计算机等级 百分网手机站

计算机二级考前冲刺卷及答案(2)

时间:2018-03-27 15:08:38 计算机等级 我要投稿

2016年计算机二级考前冲刺卷及答案

  (23)有以下程序

  main()

  { int p[7]={11,13,14,15,16,17,18}, i=0,k=0;

  while(i<7 && p[i]%2) { k =k+ p[i]; i++; }

  printf("%d\n", k);

  }

  执行后输出结果是

  A)58 B)56 C)45 D)24

  (24)有以下程序

  main()

  { int i=0,s=0;

  do {

  if (i%2) { i++; continue; }

  i++;

  s += i;

  } while(i<7);

  printf("%d\n", s);

  }

  执行后输出结果是

  A)16 B)12 C)28 D)21

  (25)有以下程序

  main()

  { int i=10,j=1;

  printf("%d,%d\n",i-- ,++j);

  }

  执行后输出结果是

  A)9,2 B)10,2 C)9,1 D)10,1

  (26)有以下程序

  main()

  { char a,b,c,*d;

  a='\'; b='\xbc';

  c='\0xab'; d = "\0127";

  printf("%c %c %c %c\n",a,b,c,*d);

  }

  编译时出现错误,以下叙述中正确的是

  A)程序中只有a='\'; 语句不正确 B)b='\xbc'; 语句不正确

  C)d = "\0127";语句不正确 D)a='\'; 和c='\0xab'; 语句都不正确

  (27)有以下程序

  int f1(int x, int y)

  { return x>y ? x : y; }

  int f2(int x, int y)

  { return x>y ? y : x; }

  main()

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

  d = f1(a,b); d=f1(d,c);

  e = f2(a,b); e=f2(e,c);

  f = a+b+c-d-e;

  printf("%d,%d,%d\n",d,f,e);

  }

  执行后输出结果是

  A)3,4,5 B)5,3,4 C)5,4,3 D)3,5,4

  (28)有以下程序

  void f(int x, int y)

  { int t;

  if (x

  }

  main()

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

  f(a,b); f(a,c); f(b,c);

  printf("%d,%d,%d\n",a,b,c);

  }

  执行后输出结果是

  A)3,4,5 B)5,3,4 C)5,4,3 D)4,3,5

  (29)若有以下定义和语句

  #include

  int a=4,b=3,*p,*q, *w;

  p=&a; q=&b; w=q; q=NULL;

  则以下选项中错误的语句是

  A)*q=0; B)w=p; C)*p=a; D)*p=*w;

  (30)有以下程序

  int *f(int *x, int *y)

  { if (*x < *y)

  return x;

  else

  return y;

  }

  main()

  { int a=7,b=8,*p,*q, *r;

  p=&a; q=&b;

  r = f(p,q);

  printf("%d,%d,%d\n",*p,*q,*r);

  }

  执行后输出结果是

  A)7,8,8 B)7,8,7 C)8,7,7 D)8,7,8

  (31)有以下程序

  main()

  { char *s[]={"one","two","three"},*p;

  p=s[1];

  printf("%c,%s\n",*(p+1), s[0]);

  }

  执行后输出结果是

  A)n,two B)t,one C)w,one D)o,two

  (32)有以下程序

  main()

  { int x[8]={8,7,6,5,0,0},*s;

  s=x+3;

  printf("%d\n",s[2]);

  }

  执行后输出结果是

  A)随机值 B)0 C)5 D)6

  (33)以下能正确定义数组并正确赋初值的语句是

  A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};

  C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};

  (34)有以下程序

  main()

  { int m[][3]={1,4,7,2,5,8,3,6,9};

  int i,j,k=2;

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

  { printf("%d ",m[k][i]); }

  }

  执行后输出结果是

  A)4 5 6 B)2 5 8 C)3 6 9 D)7 8 9

  (35)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #define N 10

  void arrin(int x[N])

  { int i=0;

  while(i

  scanf("%d", );

  }

  在下划线处应填入的是

  A)x+i B)&x[i+1] C)x+(i++) D)&x[++i]

  (36)有以下程序

  main()

  { char s[]="\n123\\";

  printf("%d,%d\n ",strlen(s),sizeof(s));

  }

  执行后输出结果是

  A)赋初值的字符串有错 B)6,7 C)5,6 D)6,6

  (37)阅读以下函数

  fun(char *s1,char *s2)

  { int i=0;

  while(s1[i]==s2[i] && s2[i]!='\0') i++;

  return (s1[i]=='\0' && s2[i]=='\0');

  }

  此函数的功能是

  A)将s2所指字符串赋给s1

  B)比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0

  C)比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0

  D)比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0