选择结构.docx

上传人:b****3 文档编号:27402029 上传时间:2023-06-30 格式:DOCX 页数:18 大小:43.82KB
下载 相关 举报
选择结构.docx_第1页
第1页 / 共18页
选择结构.docx_第2页
第2页 / 共18页
选择结构.docx_第3页
第3页 / 共18页
选择结构.docx_第4页
第4页 / 共18页
选择结构.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

选择结构.docx

《选择结构.docx》由会员分享,可在线阅读,更多相关《选择结构.docx(18页珍藏版)》请在冰豆网上搜索。

选择结构.docx

选择结构

一、选择题

(1)当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是

   A)k%2   

  B)k%2==1  

  C)(k%2)!

=0  

  D)!

k%2==1

(2)设有定义:

int k=1,m=2; float f=7;,则以下选项中错误的表达式是

  A)k=k>=k  

  B)-k++   

  C)k%int(f)  

  D)k>=f>=m

(3)设有定义:

int a=2,b=3,c=4;,则以下选项中值为0的表达式是

  A)(!

a==1)&&(!

b==0)    

  B)(a

c||1

  C)a&&b      

  D)a||(b+b)&&(c-a)

(4)设变量a、b、c、d和y都已正确定义并赋值。

若有以下if语句

  if(a

    if(c==d) y=0;

    else  y=1;

该语句所表示的含义是

 

(5)有以下程序

main()

{

  int a,b,d=25;

  a=d/10%9;

  b=a&&(-1);

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

}

程序运行后的输出结果是     

  A)6,1

  B)2,1

  C)6,0

  D)2,0

(6)有以下程序

main()

{   int i=1,j=2,k=3;

    if(i++==1&&(++j==3||k++==3))

       printf("%d %d %d\n",i,j,k);

}

程序运行后的输出结果是 

  A)1 2 3

  B)2 3 4

  C)2 2 3

  D)2 3 3

(7)若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是

  A)abs(x-y)<10      

  B)x-y>-10&&x-y<10

  C)@(x-y)<-10||!

(y-x)>10   

  D)(x-y)*(x-y)<100

(8)有以下程序

main()

{

inta=3,b=4,c=5,d=2;

 if(a>b)

  if(b>c)

   printf("%d",d+++1);

 else

   printf("%d",++d+1);

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

}

程序运行后的输出结果是

  A)2   

  B)3   

  C)43   

  D)44

(9)下列条件语句中,功能与其他语句不同的是

  A)if(a)printf("%d\n",x);elseprintf("%d\n",y);

  B)if(a==0)printf("%d\n",y);elseprintf("%d\n",x);

  C)if(a!

=0)printf("%d\n",x);elseprintf("%d\n",y);

  D)if(a==0)printf("%d\n",x);elseprintf("%d\n",y);

(10)以下4个选项中,不能看作一条语句的是

  A){;}   

  B)a=0,b=0,c=0;  

  C)if(a>0);  

  D)if(b==0)m=1;n=2;

 

(11)以下程序段中与语句k=a>b?

(b>c?

1:

0):

0;功能等价的是

  A)if((a>B)&&(b>C))k=1;   B) if((a>B)||(b>C)) k=1

                 else k=0;

  C)if(a<=B)  k=0;            D)if(a>B)  k=1;

    elseif(b<=C)  k=1;             elseif(b>C)  k=1;

                                         elsek=0;

(12)有以下程序

main()

{int a=1,b=2,m=0,n=0,k;

k=(n=b>a)||(m=a

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

}

程序运行后的输出结果是

  A)0,0          

  B)0,1         

  C)1,0          

  D)1,1

(13)有定义语句:

int a=1,b=2,c=3,x; 则以下选项中各程序段执行后,x的值不为3的是

  A)if(c

   elseif(b

   elsex=3;                   elsex=1;

  C)if(a<3)x=3;            D)if (a

   if(a<2)x=2;                 if (b

   if(a<1)x=1;                 if (c

(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

(15)有以下程序

main()

{ int a=5,b=4,c=3,d=2;

 if(a>b>c)

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

 elseif((c-1>=d)==1)

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

 else

printf("%d\n",d+2)

}

执行后输出结果是

  A)2   B)3   C)4   D)编译时有错,无结果

(16)已有定义:

intx=3,y=4,z=5;,则表达式!

(x+y)+z-1&&y+z/2的值是

  A)6       B)0    C)2       D)1

(17)有一函数, ,以下程序段中不能根据x值正确计算出y值的是

  A)if(x>0)y=1;         B)y=0;

   elseif(x==0)y=0;      if(x>0)y=1;

   elsey=-1;          elseif(x<0)y=-1;

  C)y=0;            D)if(x>=0)

   if(x>=0);            if(x>0)y=1;

   if(x>0)y=1 ;         elsey=0;

   elsey=-1;           elsey=-1;

(18)有以下程序

main()

{  inta=15,b=21,m=0;

switch(a%3)

{case0:

m++;break;

case1:

m++;

switch(b%2)

{default:

m++;

case0:

m++;break;

}

}

printf(“%d\n”,m);

}

 程序运行后的输出结果是

  A)1     B)2     C)3     D)4

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

main()

{ int a=5,b=4,c=6,d;

printf("%d\n",d=a>b?

(a>c?

a:

c):

(b));

}

  A)5     B)4           C)6        D)不确定

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

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

(21)设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值位为

  A)0     B)1     C)2        D)3

(22)阅读以下程序:

main()

{  int x;

scanf(“%d”,&x);

if(x--<5)printf(“%d”’x);

else    printf(“%d”’x++);

}

程序运行后,如果从键盘上输人5,则输出结果是

  A)3       B)4     C)5      D)6

(23)假定w、x、y、z、m均为int型变量,有如下程序段:

w=1;x=2; y=3;z=4;

m=(w

w;x;   m=(m

m;y;   m=(m

m;z;

则该程序运行后,m的值是

  A)4      B)3      C)2      D)2

(24)设x、y、t均为int型变量,则执行语句:

x=y=3;t=++x||++y;后,y的值为

  A)不定值    B)4       C)3        D)1

(25)若执行以下程序时从键盘上输入9,则输出结果是

  A)11          B)10      C)9         D)8

Main0

{ int n;

  scanf(“%d”,&n);

  if(n++<10)  printf(“%d\n”,n);

  else printf(“%d\n”,n--);

}

(26)若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是

  A)swich(a+b);            B)switch(a*a+b*b) 

    { case1:

y=a+b;break;               {case3:

 

     case0:

y=a-b;break;                    case1:

y=a+b;break;

   }                                          case3:

y=b-a,break;

                              }

  C)switch a                D)switch(a-b)

    { casec1:

y=a-b;break               {default:

y=a*b;break

      casec2:

x=a*d;break                case3:

case4:

x=a+b;break

      default:

x=a+b;                         case10:

case11:

y=a-b;break;

     }                                          }

(27)能正确表示逻辑关系:

“a≥=10或a≤0”的C语言表达式是

  A)a>=10ora<=0  

  B)a>=0|a<=10     

  C)a>=10&&a<=0  

  D)a>=10‖a<=0

(28)有如下程序

main0

{   int  x=1,a=0,b=0;

switch(x){

case0:

  b++;

case1:

  a++

case2:

  a++;b++

}

printf(“a=%d,b=%d\n”,a,b);

}

该程序的输出结果是

  A)a=2,b=1        

  B)a=1,b=1        

  C)a=1,b=0       

  D)a=2,b=2

(29)有如下程序

main0

{    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

(30)有如下程序

main0

{   int  a=2,b=-1,c=2;

if(a

if(b<0)  c=0;

else   c++

printf(“%d\n”,c);

}

该程序的输出结果是

  A)0              B)1              C)2             D)3

(31)设int x=1,y=1;表达式(!

x||y--)的值是

  A)0          B)1               C)2            D)-1

(32)与y=(x>0?

1:

x<0?

-1:

0);的功能相同的if语句是

    A)if(x>0)y=1;                 B)if(x)

       elseif(x<0)y=-1;                   if(x>0)y=1;

       elsey=0;                            elseif(x<0)y=-1;

                                              elsey=0;

    C)y=-1                            D)y=0;

       if(x)                              if(x>=0)

          if(x>0)y=1;                      if(x>0)y=1;

       elseif(x==0)y=0;                elsey=-1;

       elsey=-1;

 (33)语句:

printf("%d",(a=2)&&(b=-2);的输出结果是

  A)无输出 

  B)结果不确定 

  C)-1       

  D)1

(34)当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是

  A)c=b=a;        

  B)(a=c)‖(b=c);

  C)(a=c)&&(b=c); 

  C)a=c=b;

(35)能正确表示a和b同时为正或同时为负的逻辑表达式是

  A)(a>=0‖b>=0)&&(a<0‖b<0)

  B)(a>=0&&b>=0)&&(a<0&&b<0)

  C)(a+b>0)&&(a+b<=0)

  D)a*b>0

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

  A)-1  1     B)0 1    C)1  0     D)0  0

    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);

    }

(37)以下程序输出结果是

  A)7             B)6             C)5            D)4

         main()

         {  int  m=5;

             if(m++>5) printf("%d\n",m);

             esle printf("%d\n",m--);

         }

(38)当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为

  A)1             B)2             C)3            D)6

        if(a

            if(c

            else

               if(a

                   if(b

                   else  x=3;

               else  x=6;

            else  x=7;

(39)表示关系x<=y<=z的c语言表达式为

  A)(X<=Y)&&(Y<=Z)             

  B)(X<=Y)AND(Y<=Z)

  C)(X<=Y<=Z)                  

  D)(X<=Y)&(Y<=Z)

(40)有以下程序

   #include 

   main()

   {int  a,b,c=246;

     a=c/100%9;

     b=(-1)&&(-1);

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

   }

输出结果是

  A)2,1           

  B)3,2    

  C)4,3            

  D)2,-1

(41)设a为整型变量,不能正确表达数学关系:

1010&&a>15

D)!

(a<=10)&&!

(a>=15)

(42)若有以下定义:

floatx;inta,b;

则正确的switch语句是

  A)switch(x)                           B)switch(x)

   {case1.0:

printf("*\n");               {case1,2:

printf("*\n");

    case2.0:

printf("**\n");                case3:

printf("**\n");

    }                                          }

  C)switch(a+b)                       D)switch(a+b);

   {case1:

printf("\n");                   {case1:

printf(."*\n");

    case1+2:

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

printf("**\n");

    }                                           }

(43)假定所有变量均已正确说明,下列程序段运行后x的值是

     a=b=c=0;x=35;

     if(!

a)x--;

        elseif(b);

     if(c)x=3;

        elsex=4;

  A)34              B)4           C)35             D)3

(44)在以下一组运算符中,优先级最高的运算符是

  A)<=         B)=         C)%              D)&&

(45)表达式:

10!

=9的值是

  A)true       B)非零值   C)0               D)1

(46)在下列选项中,不正确的赋值语句是

  A)++t;            

  B)n1=(n2=(n3=0)); 

  C)k=i==j;         

  D)a=b+c=1;

(47)能正确表示a≥10或a≤0的关系表达式是

  A)a>=10ora<=0                     

  B)a>=10│a<=0

  C)a>=10││a<=0                     

  D)a>=10││a<=0

(48)为表示关系x≥y≥z,应使用C语言表达式

  A)(x>=y)&&(y>=z)  

  B(x>=y)AND(y>=z)   

  C)(x>=y>=z)     

  D)(x>=y)&(y>=z)

(49)两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是

main()

{intx;

scanf("%d",&x);

if(x++>5)printf("%d",x);

else        printf("%d\n",x--);    }

  A)7和5       

  B)6和3      

  C)7和4      

  D)6和4

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

main()

{inta=-1,b=4,k;

k=(++a〈0)&&!

(b--〈=0);

printf("%d%d%d\n",k,a,b);    }

  A)104         

  B)103          

  C)003          

  D)004

(51)下面的程序

  A)有语法错误不能通过编译

  B)输出****。

  C)可以通过编译,但是不能通过连接,因而不能运行。

  D)输出####。

main()

{intx=3,y=0,z=0;

if(x=y+z)printf("****");

else    printf("####");}

(52)若执行下面的程序时从键盘上输入5,则输出是

  A)7            B)6           C)5            D)4

main()

{intx;

scanf("%d",&x);

if(x++>5)printf("%d\n",x);

else     printf("%d\n",x--);}

(53)下面程序的输出是

  A)003       B)012      C)103        D)112

mai

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1