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

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

2008-11-12 
计算机等级二级C语言笔试练习题

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

1.以下程序的输出结果是()
  #include
  main ()
  {int a,b,d=241;
  a=d/100%9
  b=(-1)&&(+1);
  printf("%d,%d,a,d"); }
  A)6,1
  B)2,1
  C)6,0
  D)2,0

  2.关于if后一对圆括号中的表达式,以下叙述中正确的是()
  A)只能用逻辑表达式
  B)只能用关系表达式
  C)既可用逻辑表达式也可用关系表达式
  D)可用任意表达式

  3.有以下程序
  main()
  { int a,b;
  for(a=1,b=1;a<=100;a++)
  {if(b>=20)break;
  if(b%3==1)
  {b+=3;
  continue;}
  b-=5;
  }
  printf("%d\n",a);
  }
  程序运行后的输出结果是()
  A)7
  B)8
  C)9
  D)10

  4.C语言中()
  A)不能使用do-while语句构成的循环
  B)do-while语句构成的循环必须用break语句才能退出
  C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
  D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环

  5.当a=1、b=3、c=5、d=4时,执行下面一段程序:
  if(a  if(c  else
  if(a  if(b  elsex=3;
  elesx=6;
  elsex=7;
  程序执行后,x的值为()
  A)1
  B)2
  C)3
  D)6

  6.若x、y、z、m均为int型变量,则执行下面语句后m的值是()
  m=1;x=2;y=3;
  m= (m  m= (m  m= (m  A)1
  B)2
  C)3
  D)4

  7.设有如下的函数
  funct(x)
  float x;
  { x*=x;printf("\n%d",x);return(x);}
  则函数的类型()
  A)与参数x的类型相同
  B)void
  C)int
  D)无法确定

  8.在C语言中,不适用于局部变量的存储类说明符是()
  A)auto
  B)register
  C)static
  D)extern

  9.有以下程序
  intf(intn)
  {if(n==1)return1;
  elsereturnf(n-1)+1;
  }
  main()
  {inti,j=0;
  for(i=1;i<5;i++)j+=f(i);
  printf("%d\n",j);
  }
  程序运行后的输出结果是()
  A)15
  B)10
  C)6
  D)3

  10.有以下程序
  intb=2;
  int func(int*a)
  {b+=*a;return(b);}
  main()
  {inta=2,res=2;
  res+=func(&a);
  printf("%d\n",res);
  }
  程序运行后的输出结果是()
  A)4
  B)6
  C)8
  D)10

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

   11.下面叙述正确的是()
  A)define和auto都不能定义为用户标识符
  B)可以把define和auto定义为用户标识符
  C)可以把define定义为用户标识符,但auto是C语言的关键字
  D)可以把auto定义为用户标识符,但define是C语言的关键字

  12.以下的for循环()
  for(x=0,y=0;(y!=123)&&(x<4);x++)
  A)是无限循环
  B)循环次数不定
  C)执行4次
  D)执行3次

  13.下述对C语言字符数组的描述中错误的是()
  A)字符数组可以存放字符串
  B)字符数组中的字符串可以整体输入、输出
  C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
  D)不可以用关系运算符对字符数组中的字符串进行比较

  14.设有定义:int a,*p=&a,**pp=&p;,则与a=100;等价的语句为()
  A)**p=100;
  B)**pp=100;
  C)&*p=100;
  D)*pp=10;

  15.有以下程序
  int x=3;
  do {printf("%d",x-=2);}while(!(--x));
  程序运行后的输出结果是()
  A)1
  B)30
  C)1-2
  D)死循环

  16.执行下面程序的正确结果是()
  main()
  { float a=1.9;
  switch(a)
  { case 0∶printf("0000");
  case 1∶printf("1111");
  case 2∶printf("3333");
  }
  printf("%f",a);
  }
  A)1.900000
  B)111133331.900000
  C)33331.900000
  D)00001111233331.900000

  17.对下述程序,正确的判断是()
  main ()
  { int a, b;
  scanf("%d,%d",&a,&b);
  if(a>b)a=b;b=a;
  else a++;b++;
  printf("%d,%d",a,b);}
  A)有语法错误不能通过编译
  B)若输入4,5则输出5,6
  C)若输入5,4则输出4,5
  D)若输入5,4则输出5,5

  18.若有如下程序:
  sub(int n)
  {intt;
  if(n==1)returnt=5;
  else t=sub(n-1)+3;
  returnt;}
  main()
  {printf("%d\n",sub(5));}
  则程序运行后的输出结果是()
  A)17
  B)18
  C)19
  D)20

  19.下面各被调用函数首部书写正确的是()
  A)void sub(float x;float y);
  B)void sub(float x,y)
  C)void sub(float x,float y)
  D)void sub(float x,float y);

  20.设有如下程序:
  #include"string.h"
  main()
  {static char s1[20],s2[20];
  scanf("%s",s1);scanf("%s",s2);
  if(strcmp(s1,s2))printf("@");
  elseprintf("$");
  printf("%d\n",strlen(strcat(s1,s2)));}
  如果从键盘上输入name<回车>name1<回车>,则程序运行后的输出结果是()
  A)$8
  B)@10
  C)$9
  D)@9

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


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

热点排行