计算机等级 百分网手机站

计算机二级C语言真题及答案(2)

时间:2018-04-19 19:28:23 计算机等级 我要投稿

计算机二级C语言真题及答案

  }

  以下关于程序段执行情况的叙述,正确的是

  A)for循环语句固定执行8次

  B)当产生的随机数n为4时结束循环操作

  C)当产生的随机数n为1和2时不做任何操作

  D)当产生的随机数n为0时结束程序运行

  (21)有以下程序

  #include

  main()

  { chars[]="012xy\08s34f4w2";

  int i,n=0;

  for(i=0;s[i]!=0;i++)

  if(s[i]>='0'&&s[i]<='9')n++;

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

  }

  程序运行后的输出结果是

  A)0

  B)3

  C)7

  D)8

  (22)若i和k都是int类型变量,有以下for语句

  for(i=0,k=-1;k=1;k++)printf("*****\n");

  下面关于语句执行情况的叙述中正确的是

  A)循环体执行两次

  B)循环体执行一次

  C)循环体一次也不执行

  D)构成无限循环

  (23)有以下程序

  #include

  main()

  { char b,c;int i;

  b='a'; c='A';

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

  { if(i%2) putchar(i+

  B);

  else putchar(i+

  C);

  }

  printf("\n");

  }

  程序运行后的输出结果是

  A)ABCDEF

  B)AbCdEf

  C)aBcDeF

  D)abcdef

  (24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是

  A)scanf("%f",&x[6]);

  B)scanf("%lf",*(x+6));

  C)scanf("%lf",p+6);

  D)scanf("%lf",p[6]);

  (25)有以下程序(说明:字母A的ASCII码值是65)

  #include

  voidfun(char *s)

  { while(*s)

  { if(*s%2) printf("%c",*s);

  s++;

  }

  }

  main()

  { char a[]="BYTE";

  fun(a);

  printf("\n");

  }

  程序运行后的输出结果是

  A)BY

  B)BT

  C)YT

  D) YE

  (26)有以下程序段

  #include

  main()

  { …

  while( getchar()!='\n');

  …

  }

  以下叙述中正确的是

  A)此while语句将无限循环

  B) getchar()不可以出现在while语句的条件表达式中

  C)当执行此while语句时,只有按回车键程序才能继续执行

  D)当执行此while语句时,按任意键程序就能继续执行

  (27)有以下程序

  #include

  main()

  { int x=1,y=0;

  if(!x) y++;

  else if(x==0)

  if (x) y+=2;

  else y+=3;

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

  }

  程序运行后的输出结果是

  A)3

  B)2

  C)1

  D) 0

  (28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的'是

  A)p=s;

  B)p=k;

  C)p=s[0];

  D)k=s;

  (29)有以下程序

  #include

  voidfun(char *

  C)

  { while(*

  C)

  {if(*c>='a'&&*c<='z') *c=*c-('a'-'A');

  c++;

  }

  }

  main()

  { chars[81];

  gets(s);

  fun(s);

  puts(s);

  }

  当执行程序时从键盘上输入HelloBeijing<回车>,则程序的输出结果是

  A)hello beijing

  B)Hello Beijing

  C)HELLO BEIJING

  D)hELLO Beijing

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

  #include

  #define N 10

  void fun(intx[N])

  { int i=0;

  while(i

  在程序中下划线处应填入的是

  A)x+i

  B)&x[i+1]

  C)x+(i++)

  D)&x[++i]

  (31)有以下程序

  #include

  main()

  { chara[30],b[30];

  scanf("%s",a);

  gets(

  B);

  printf("%s\n %s\n",a,

  B);

  }

  程序运行时若输入:

  how areyou? I am fine<回车>

  则输出结果是

  A)how areyou?

  B)how

  I am fine are you? I am fine

  C)how areyou? I am fine

  D)how are you?

  (32)设有如下函数定义

  int fun(intk)

  { if(k<1) return 0;

  elseif(k==1) return 1;

  else returnfun(k-1)+1;

  }

  若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是