就业数据资源平台
当前位置:首页 > C语言程序设计
2010上半年等考二级C语言笔试精选试题(2)

 1.若有以下定义:floatx;inta,b,c=2;,则正确的switch语句是()

  A)switch(x)


  { case1.0∶printf("*\n");


  case2.0∶printf("**\n");


  }


  B)switch(int(x))


  { case1∶printf("*\n");


  case2∶printf("**\n");


  }


  C)


  switch(a+b)


  { case1∶printf("*\n");


  case1+2∶printf("**\n");


  }


  D)switch(a+b)


  { case1∶printf("*\n");


  casec∶printf("**\n");


  }


  2.执行下面程序片段的结果是()


  int x=123;


  do


  { printf("=\n",x--);}


  while(!x);


  A)打印出321


  B)打印出123


  C)不打印任何内容


  D)陷入死循环


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


  # include


  main()


  { int i=0,a=0;


  while(i<20)


  { for(;;){ if((i)==0)break;else i--; }


  i+=11;a+=i;


  }考试


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


  }


  A)21 B)32 C)33 D)11


  4.下列与表达式“b=(a<0?-1∶a>0?1∶0)”的功能等价选项是()


  A)b=0;


  if(a>=0)


  if(a>0) b=1;


  else b=-1;


  B)if(a>0)b=1;


  else if(a<0)b=-1;


  elseb=0


  C)if(a)


  if(a<0) b=-1;


  else if(a>0)b=1;


  else b=0;


  D) b=-1;


  if(a)


  if(a>0)b=1;


  else if(a==0)b=0;


  else b=-1;


  5.若有以下定义:char a; int b; float c; double d; 则表达式“a*b+d-c”值的类型为()


  A)float B)int C)char D)double


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


  A)在函数中必须要有return语句


  B)在函数中可以有多个return语句,但只执行其中的一个


  C)return语句中必须要有一个表达式


  D)函数值并不总是通过return语句传回调用处


  7.有以下程序


  float fun(int x,int y)


  { return(x+y);


  }


  main()


  {int a=2,b=5,c=8;


  printf("%3.0f\n",fun((int)fun(a+c,b),a-c));


  }


  程序运行后的输出结果是()


  A)编译出错 B)9 C)21 D)9.0


  8.若已定义:


  inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,I;


  其中0≤i≤9,则对a数组元素不正确的引用是()


  A)a[p-a] B)*(&a[i]) C)p[i] D)a[10]


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


  A)全局变量的作用域一定比局部变量的作用域大


  B)静态(static)类型变量的生存期贯穿于整个程序的运行期间


  C)函数的形参都属于全局变量


  D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值


  10.若有如下程序:


  main()


  {char a[][9]={"china","Japan","USA","France"};


  printf("\′%s\′\n",a[2]);}


  则程序运行后的输出结果是()


  A)′Japan′ B)′USA′ C)USA D)′inaJapanUSAFrance′


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

就业数据资源平台