就业数据资源平台
当前位置:首页 > C语言程序设计
2011年计算机等级二级C语言章节习题及答案(4)

  选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)
  5.1 在C程序中,判逻辑值时,用“非0”表示逻辑值“真”, 又用“0”表示逻辑值“假”。 在求逻辑值时,用()表示逻辑表达式值为“真”,又用()表示逻辑表达式值为“假”。
  A)1 0
  B)0 1
  C)非0 非0
  D)1 1
  正确答案: A
  5.2 已知int x=6,y=2,z;则执行表达式z=x=x>y后,变量z的值为
  A)0
  B)1
  C)4
  D)5
  正确答案: B
  5.3 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是
  A)a>=10 or a<=0
  B)a>=0|a<=10
  C)a>=10 &&a<=0
  D)a>=10‖a<=0
  正确答案: D
  5.4 若变量c为char类型,能正确判断出c为小写字母的表达式是
  A)′a′<=c<=′z′
  B)(c>=′a′)||(c<=′z′)
  C)(′a′<=c)and(′z′>=c)
  D)(c>=′a′)&&(c<=′z′)
  正确答案: D
  5.5 设int x=1,y=1;表达式(!x||y- -)的值是
  A)0
  B)1
  C)2
  D)-1
  正确答案: B
  5.6 有如下程序段
  int a=14,b=15,x;
  char c=′A′;
  x=(a&&b)&&(c<′B′);
  执行该程序段后,x的值为
  A)ture
  B)false
  C)0
  D)1
  正确答案: D
  5.7 以下程序的输出结果是
  main()
  { int a=4,b=5,c=0,d;
  d=!a&&!b||!c;
  printf("%d\n",d);}
  A)1
  B)0
  C)非0的数
  D)-1
  正确答案: A
  5.8 设有:
  int a=1,b=2,c=3,d=4,m=2,n=2;
  执行 (m=a>b)&&(n=c>d)后n的值是
  A)1
  B)2
  C)3
  D)4
  正确答案: B
  5.9 已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为
  A)1
  B)2
  C)3
  D)4
  正确答案: C
  5.10 表达式aA)||
  B)&
  C)<
  D)()
  正确答案: D


  5.11 若运行时给变量x输入12,则以下程序的运行结果是
  main()
  {int x,y;
  scanf("%d",&x);
  y=x>12?x+10:x-12;
  printf("%d\n",y);
  }
  A)0
  B)22
  C)12
  D)10
  正确答案: A
  5.12 已知char ch=′C′;则以下表达式的值是
  ch=(ch>=′A′ && ch<=′Z′)?(ch+32):ch;
  A)A
  B)a
  C)Z
  D)c
  正确答案: D
  5.13 若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是
  A)(exp==0)
  B)(exp!=0)
  C)(exp==1)
  D)(exp!=1)
  正确答案: B
  5.14 有以下程序
  main()
  {int i=1,j=1,k=2;
  if((j++||k++)&&i++)
  printf("%d,%d,%d\n",i,j,k);
  }
  执行后输出结果是
  A)1,1,2
  B)2,2,1
  C)2,2,2
  D)2,2,3
  正确答案: C
  5.15 请阅读以下程序:
  main()
  { int a=5,b=0,c=0;
  if(a=b+c)printf("***\n");
  else printf("$$$\n");
  }
  以上程序
  A)有语法错不能通过编译
  B)可以通过编译但不能通过连接
  C)输出***
  D)输出$$$
  正确答案: D
  5.16 若执行下述程序时,若从键盘输入6和8时,结果为
  main()
  {int a,b,s;
  scanf("%d%d",&a,&b);
  s=a;
  if(as=b;
  s*=s;
  printf("%d",s);
  }
  A)36
  B)64
  C)48
  D)以上都不对
  正确答案: B
  5.17 有如下程序
  main()
  {float x=2.0,y;
  if(x<0.0)y=0.0;
  else if(x<10.0)y=1.0/x;
  else y=1.0;
  printf("%f\n",y);}
  该程序的输出结果是
  A)0.000000
  B)0.250000
  C)0.500000
  D)1.000000
  正确答案: C
  5.18 以下4个选项中,不能看做一条语句的是
  A);
  B)a=5,b=2.5,c=3.6;
  C)if(a<5);
  D)if(b!=5)x=2;y=6;
  正确答案: D
  5.19 若int k=8;则执行下列程序后,变量k的正确结果是
  main()
  {int k=8;
  switch(k)
  {case 9:k+=1;
  case 10:k+=1;
  case 11:k+=1;break;
  default:k+=1;}
  printf("%d\n",k);}
  A)12
  B)11
  C)10
  D)9
  正确答案: D
  5.20 阅读如下程序段
  #include "stdio.h"
  main()
  { int a=45,b=40,c=50,d;
  d=a>30?b:c;
  switch(d)
  { case 30 : printf("%d,",a);
  case 40 : printf("%d,",b);
  case 50 : printf("%d,",c);
  default : printf("#");}}
  则输出的结果是
  A)40,50,
  B)50,#
  C)40,#
  D)40,50,#
  正确答案: D
  5.21 现有如下程序段,此程序段编译有错误,则程序段的错误出在
  #include
  main()
  { int a=30,b=40,c=50,d;
  d=a>30?b:c;
  switch(d)
  { case a:printf("%d,",a);
  case b:printf("%d,",b);
  case c:printf("%d,",c);
  default:printf("#");}}
  A)default:printf("#");这个语句
  B)d=a>30?b:c;这个语句
  C)case a:printf("%d,",a); case b:printf("%d,",b); case c:printf("%d,",c);这三个语句
  D)switch(d)这个语句
  正确答案: C


  填空题(请将每一个空的正确答案写在答题卡相应序号后。)
  5.22 设y是int型,请写出y为奇数的关系表达式 【1】 。
  正确答案: (y%2)==1 或 (y%2)!=0
  5.23 设int a=5,b=6,表达式(++a= =b- -)?++a:--b的值是【2】 。
  正确答案: 7
  5.24 将以下程序写成三目运算表达式是【3】 。
  if(a>b)max=a;
  else max=b;
  正确答案: max=(a>b)?a:b;
  5.25 以下程序输出的结果是【4】。
  main()
  { int a=5,b=4,c=3,d;
  d=(a>b>c);
  printf("%d\n",d);
  }
  正确答案: 0
  5.26 若从键盘输入58,则以下程序输出的结果是 【5】 。
  main()
  {int a;
  scanf("%d",&a);
  if(a>50)printf("%d",a);
  if(a>40)printf("%d",a);
  if(a>30)printf("%d",a);
  }
  正确答案: 585858
  5.27 阅读下面语句,则程序的执行结果是 【6】 。
  #include "stdio.h"
  main()
  { int a=-1,b=1,k;
  if((++a<0)&&!(b- -<=0))
  printf("%d,%d\n",a,b);
  else printf("%d,%d\n",b,a);}
  正确答案: 1,0
  5.28 阅读下面程序,则在执行时候的输出为 【7】 。
  #include "stdio.h"
  main()
  {int x=1,y=2,z=0;
  if(x=2)z=x,x=y,y=z;
  printf("%d,%d\n",x,y);}
  正确答案: 2,2
  5.29 以下程序的输出结果是【8】。
  main()
  { int x=100, a=10, b=20, ok1=5, ok2=0;
  if(aelse if(ok2)x=10;
  else x=-1;
  printf("%d\n", x);}
  正确答案: -1
  5.30 阅读下面的程序,当程序在执行时,如果输入的是′A′,则输出结果为 【9】 。
  #include "stdio.h"
  main()
  {char a;
  a=getchar();
  switch(a)
  { case 65: printf("%c",′A′);
  case 66: printf("%c",′B′);
  default :printf("%s\n","other");}}
  正确答案: ABother

就业数据资源平台