读书人

2011年计算机等级二级C语言章节习题及

发布时间: 2010-11-15 17:13:48 作者: 小乐

编辑推荐:
2011年计算机等级二级C语言章节习题及答案(1)
2011年计算机等级二级C语言章节习题及答案(3)

  第5章 选择结构程序设计

  一、选择题(在下列各题的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 表达式a

  A)||

  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(a

  s=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(a

  else 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

读书人网 >考试试题

热点推荐