niusouti.com

单选题有定义语句:"inta=1,b=2,c=3,x;",则以下选项中各程序段执行后,x的值不为3()A if(c<a)x=1; else if(b<a)x=2:else x=3;B if(a<3)x=3:else if(a<2)x=2; else x=1;C if(a<3) x=3;if(a<2) x=2;if(a<l)x=1;D if(a<b) x=b;if(b<c) x=c;if(c<a) x=a;

题目
单选题
有定义语句:"inta=1,b=2,c=3,x;",则以下选项中各程序段执行后,x的值不为3()
A

if(c<a)x=1; else if(b<a)x=2:else x=3;

B

if(a<3)x=3:else if(a<2)x=2; else x=1;

C

if(a<3) x=3;if(a<2) x=2;if(a<l)x=1;

D

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


相似考题
更多“单选题有定义语句:"inta=1,b=2,c=3,x;",则以下选项中各程序段执行后,x的值不为3()A if(c<a)x=1; else if(b<a)x=2:else x=3;B if(a<3)x=3:else if(a<2)x=2; else x=1;C if(a<3) x=3;if(a<2) x=2;if(a<l)x=1;D if(a<b) x=b;if(b<c) x=c;if(c<a) x=a;”相关问题
  • 第1题:

    当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为______。if (a<6) if(c>d) x=1;else if(a

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

    if (a<6) if(c>d) x=1; else if(a<c) if (b>l) x=2; else x=3; else x=6; else x=7;

    A.1

    B.2

    C.3

    D.6


    正确答案:A

  • 第2题:

    当a=1、b=3、c=5、d=4时,执行下面一段程序后,x的值为______。if (a<b) if (c<d) x=1; elseif (a<c)if (b<d) x=2;else x=3;else x=6;else x=7;

    A.1

    B.2

    C.3

    D.6


    正确答案:B

  • 第3题:

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

    A.1

    B.2

    C.3

    D.4


    正确答案:B

  • 第4题:

    有定义语句:“int a=1,b=2,c=3,x;”,则以下选项中各程序段执行后,x的值不为3的是( )。

    A.if(c<a)x=1; elseif(b<a)x=2; elsex=3;

    B.if(a<3)x=3; elseif(a<2)x=2; elsex=1;

    C.if(a<3)x=3; if(a<2)x=2; if(a<1)x=1;

    D.if(a<b)x=b; if(b<c)X=c; if(c<a)x=a;


    正确答案:C
    解析:选项A首先判断if语句条件中表达式的值31为假,然后执行最近的else后面的语句,该else后面又为if-else语句,在这个if-else语句中首先判断该if语句条件中表达式的值21为假,程序执行其最近的else后面的语句,将3赋值给x。选项B中首先判断if语句条件中表达式的值13为真,然后执行最近的else后面的语句x=3,后面的else不再执行,最后x的值为3。选项C中,首先执行第一条if语句,由于13为真,执行此if后面的语句x=3,接着执行第二条if语句,由于12为真,执行此if后面的语句x=2,接着执行第三条if语句,由于11为假,后面的语句不执行,所以最后的x值为2不为3。选项D中,首先执行第一条if语句,由于 ab为真,执行此if后面的语句x=b:接着执行第二条if语句,由于bc,为真,执行此if后面的语句x=c,接着执行第三条if语句,由于ca为假,后面的语句不执行,所以最后的x值为c,即为3。所以,4个选项中选项C符合题意。

  • 第5题:

    当a=1、b=2、c=3、d=4时,执行下面程序段后,x的值是( )。 if(a<B)if(c<D)x=1; else if(a<C)if(b<D)x=2: else x=3: else x=6: else x=7:

    A.1

    B.6

    C.3

    D.2


    正确答案:A

  • 第6题:

    有以下程序

    #include

    main()

    { int x=1,y=0;

    if(!x) y++;

    else if(x==0)

    if (x) y+=2;

    else y+=3;

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

    }

    程序运行后的输出结果是

    A.3

    B.2

    C.1

    D.0


    正确答案:D

  • 第7题:

    下列程序的执行结果是( )。 #include<iostream.h> classSample { intx,y; public: Sample(){x=y=0;} Sample(inta,intb){x=a;y=b;} ~Sample() { if(x==y) cout<<"x=y"<<endl; else cout<<"x!=y"<<endl; } voiddisp() { cout<<"x="<<x<<",y="<<y<<endl;} }; voidmain() { Samples1(2,3); s1.disp(); }

    A.x=2,y=2

    B.x=3,y=3

    C.x=2,y=3

    D.x=3,y=2


    正确答案:C
    C。【解析】本题考查类的构造函数和析构函数。首先,Samplesl(2,3);会调用含有两个参数的构造函数Sam-ple(inta,intb){x=a;y=b;),disp函数输出成员变量x和y的值x=2,y=3;然后结束时调用析构函数。因为x和y值不等,故输出X!=Y。

  • 第8题:

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

    A.1

    B.2

    C.3

    D.6


    正确答案:B

  • 第9题:

    当a=1、b=3、c=5、d=4时,执行下面一段程序后,x的值为______。 If a<b Then If c<d Then x=1 Else If a<c Then If b<d Then x=2 Else x=3 End If Else x=6 End If End If Else x=7 End If

    A.1

    B.2

    C.3

    D.6


    正确答案:B
    解析:当ab成立时,继续执行;当cd不成立时,执行else分支;当ac成立时,继续执行;当bd成立时,则x=2,随后连续跳出4层endif

  • 第10题:

    有以下程序 void f(int v,int w) { int t; t=v;v=w;w=t } main() {int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); pfintf("%d,%d,%d\n",x,y,2); } 执行后输出结果是

    A.1,2,3

    B.3,1,2

    C.1,3,2

    D.2,3,1


    正确答案:C
    解析:C语言规定else总是和离它最近的if语句配对。分析可以知道,函数f()作用是让形参v和形参w的值交换。在主函数中首先定义了三个变量x、y和z。 然后再执行下面的if-else语句。由程序可以看出第一个else和第一个if搭配,第二个else和第二个if搭配。由于调用函数时是进行值传递的。即将实参x,y,z传给形参v和w,以后形参和实参再无联系,故通过if语句调用f()函数后,x、y和x的值并没有改变。故最后输出的x、y和z的值为1、3和2。

  • 第11题:

    有以下程序 void f(int v,int w) { int t; t=v; v=w; w=t; } main() { int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf("%d,%d,%d/n",x,y,z); }执行后输出结果是()

    • A、1,2,3
    • B、3,1,2
    • C、1,3,2
    • D、2,3,1

    正确答案:C

  • 第12题:

    单选题
    有以下程序:#include main(){ int x=1,y=0; if(!x)y++; else if(x==0) if(x)y+=2;  else y+=3; printf(%d,y);}程序运行后的输出结果是(  )。
    A

    3

    B

    2

    C

    1

    D

    0


    正确答案: D
    解析:
    else子句总是与前面最近的不带else的if相结合,与书写格式无关。本题中的层次关系是:if(!x)与else if(x==0)是一组,位于条件判断的最外层。而if(x)与else是一组,位于else if(x==0)条件的内层。由此可知条件均不成立,所以y未进行任何操作,仍为0。答案选择D选项。

  • 第13题:

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

    A.if(c<a) x=1; else if(b<a) x=2; else x=3;

    B.if(a<3) x=3; else if(a<2) x=2; else x=1;

    C.if(a<3) x=3; if (a<2) x=2; if (a<1) x=1;

    D.if (a<b) x=b; if (b<c) x=c; if (c<a) x=a;


    正确答案:C
    解析:选项A),因为前面两个条件都不满足,所以执行x=3。选项B),a3成立,执行x=3。选项C),a3成立,执行x=3;a2成立,执行x=2;a1不成立,不执行x=1,所以执行此段程序后x=2。选项D),ab成立,执行x=b,此时x=2;bc成立,执行x=c,此时x=3;ca不成立,不执行x=a,所以执行此段程序后x=3。

  • 第14题:

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

    A.if (c<a) x=1; else if (b<a) x=2; else x=3;

    B.if (a<3) x=3; else if (b<a) x=2; else x=1;

    C.if (a<3) x=3; if (a<2) x=2; if (a<1) x=1;

    D.if (a<b) x=b; if (b<c) x=c; if (c<a) x=a;


    正确答案:C
    解析:选项A),B)考查了多分支结构的用法,选项A)中的程序段执行时,ca,ba条件均不成立,故执行else后的语句,x值为3;选项B)中a3条件成立,执行x=3;而选项C),D)是单分支结构的用法,选项C)中程序段执行时,a<3条件成立,x=3,但条件a2也成立,此时执行x=2,下一个条件不成立,不再执行其后的语句。

  • 第15题:

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

    A.if(c<a) x=1; else if(b<a) x=1; else x=3;

    B.if(a<3)x=3; else if(a<2)x=2; else x=1;

    C.if(a<3)x=3; if(a<2)x=2; if(a<1)x=1;

    D.if(a<b) x=b; if(b<c) x=c; if(c<a) x=a;


    正确答案:C
    解析:选项A首先判断if语句条件中表达式的值“31”为假,然后执行最近的else后面的语句,该else后面又为if-else语句,在这个if-else语句中首先判断该if语句条件中表达式的值“21”为假,程序执行其最近的else后面的语句,将3赋值给x。
      选项B中首先判断if语句条件中表达式的值“13”为真,然后执行最近的else后面的语句“x=3”,后面的else不再执行,最后x的值为3。
      选项C中,首先执行第一条if语句,由于“13”为真,执行此if后面的语句“x=3”,接着执行第二条if语句,由于“12”为真,执行此if后面的语句“x=2”,接着执行第三条 if语句,由于“11为假,后面的语句不执行,所以最后的x值为2不为3。
      选项D中;首先执行第一条if语句,由于“ab”为真,执行此if后面的语句“x=b”;接着执行第二条if语句,由于“bc”,为真,执行此if后面的语句“x=c”,接着执行第三条if语句,由于“ca”为假,后面的语句不执行,所以最后的x值为c即为3。

  • 第16题:

    有以下程序:includeint fun(int x,int y){if(x==y)return(x);else return((x+y)/2);}m

    有以下程序: #include<stdio.h> int fun(int x,int y) {if(x==y)return(x); else return((x+y)/2); } main() {int a=1,b=2,c=3; printf("%d\n",fun(2*a,fun(b,C))); } 程序运行后的输出结果是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:A

  • 第17题:

    有以下程序

    #inclUde<stdio.h>

    main()

    {int x=1。y=0;

    if(!x)y++;

    else if(x==0)

    if(x)y+=2;

    else y+=3; .

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

    }

    程序运行后的输出结果是

    A.3

    B.2

    C.1

    D.0


    正确答案:D
    解析:本题主要考查的知识点为if语句的嵌套.变量x的值(为1。既不满址表达式!x为真.也不满足表达式x==0.故不执行if语句,而直接执行printf函数输出y的值0。 

  • 第18题:

    有定义语句: "int a=1, b=2, c=3, x;" , 则以下选项中各程序段执行后,x的值不为3

    A.if(c<a)x=1; else if(b<a)x=2: else x=3;

    B.if(a<3)x=3: else if(a<2)x=2; else x=1;

    C.if(a<3) x=3; if(a<2) x=2; if(a<l)x=1;

    D.if(a<b) x=b; if(b<c) x=c if(c<a) x=a;


    正确答案:C
    解析:本题考核的知识点是if-else语句的程序分析。选项A首先判断if语句条件中表达式的值“31”为假,然后执行最近的else后面的语句,该else后面又为if-else语句,在这个if-else语句中首先判断该if语句条件中表达式的值“21”为假,程序执行其最近的else后面的语句,将3赋值给x。选项B中首先判断if语句条件中表达式的值“13”为真,然后执行最近的else后面的语句“x=3”,后面的else不再执行,最后x的值为3。选项C中,首先选执行第一条if,由于“13”为真,执行此if后面的语句“x=3”,接着执行第二条if语句,由于“12”为真,执行此if后面的语句“x=2”,接着执行第三条语句,由于“11”为假,后面的语句不执行,所以最后的x值为2不为3。选项D中,首先选执行第一条if语句,由于“ab”为真,执行此if后面的语句“x=b”;接着执行第二条if语句,由于“bc”,为真,执行此if后面的语句“x=c”,接着执行第三条if语句,由于“ca”为假,后面的语句不执行,所以最后的x值为c即为3.所以,4个选项中选项c符合题意。

  • 第19题:

    当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为______。 if(a<b) if(c<d) x=1; else if(a<c) if(b<d) x=2; elsex=3; elsex=6; elsex=7;

    A.1

    B.2

    C.3

    D.6


    正确答案:B
    解析:此题主要考查if语句的嵌套,注意if与else的对应关系。ab成立继续执行;cd不成立,执行else语句;ac成立继续执行;bd成立,x=2,然后退出嵌套的4层if语句。

  • 第20题:

    有定义语句:int a=1, b=2, c=3, x;,则以下选项中各程序段执行后,x的值不等于3的是______。

    A.if(c<a)x=1; else if(b<a)x=2; else x=3;

    B.if(a<3)x=3; else if(a<2)x=2; else x=1;

    C.if(a<3)x=3; if(a<2)x=2; if(a<1)x=1;

    D.if(a<b)x=b; if(b<c)x=c; if(c<a)x=a;


    正确答案:C
    解析:选项A中表达式ca(即31)的值为假,所以执行elseif(ba),因ba不成立,结果为假,因此执行else语句x=3;,得x=3;选项B中表达式a3(即13)成立,故执行语句x=3;,else后的语句不再执行,故x=3;选项D中首先执行if(ab),因ab即12成立。得x=b=2,然后执行if(bc),因23成立,得x=c=3,执行if(ca),因31不成立,语句x=a;不被执行,敞x=3;选项C中因a3成立,故得x=3,执行if(a2)因a2成立,得x=2,执行if(a1),因a1不成立,故语句x=1;不被执行,所以x=2。

  • 第21题:

    执行下列程序段后,x的位是( ) int a=8,b=7,c=6,x=1; if(a>6)if(b>7)if(c>8)x=2;else x=3;

    A.0

    B.1

    C.2

    D.3


    正确答案:B
    按照"else"只和前面最近的"if"配对的原则,上述程序段可以写成下列更为清晰的程序清单:inta=8,b=7,c=6,x=1;if(a>6)if(b>7)if(c>8)x=2:elsex=3:依据a、b、c的值,很容易看出第1个“if语句”的条件“a>6”是成立的,接着执行第2个“if语句”,该语句的条件“b>7”,是不成立的,所以下面的“if-esle”语句不执行,因此x的值不变,仍为1。所以本题答案应选B。

  • 第22题:

    (27)有以下程序

    #include <stdio.h>

    main()

    { int x=1,y=0;

    if(!x) y++;

    else if(x==0)

    if (x) y+=2;

    else y+=3;

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

    }

    程序运行后的输出结果是

    A)3

    B)2

    C)1

    D)0


    正确答案:D

  • 第23题:

    有定义语句:"inta=1,b=2,c=3,x;",则以下选项中各程序段执行后,x的值不为3()

    • A、if(c<a)x=1; else if(b<a)x=2:else x=3;
    • B、if(a<3)x=3:else if(a<2)x=2; else x=1;
    • C、if(a<3) x=3;if(a<2) x=2;if(a<l)x=1;
    • D、if(a<b) x=b;if(b<c) x=c;if(c<a) x=a;

    正确答案:D

  • 第24题:

    单选题
    有定义语句:"inta=1,b=2,c=3,x;",则以下选项中各程序段执行后,x的值不为3()
    A

    if(c<a)x=1; else if(b<a)x=2:else x=3;

    B

    if(a<3)x=3:else if(a<2)x=2; else x=1;

    C

    if(a<3) x=3;if(a<2) x=2;if(a<l)x=1;

    D

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


    正确答案: D
    解析: 本题考核的知识点是 if-else语句的程序分析。
    选项A首先判断if语句条件中表达式的值“3<1”为假,然后执行最近的else后面的语句,该 else后面又为if-else语句,在这个if-else语句中首先判断该if语句条件中表达式的值“2<1”为假,程序执行其最近的else后面的语句,将3赋值给x。
    选项B中首先判断if语句条件中表达式的值“1<3”为真,然后执行最近的else后面的语句“x=3”,后面的else不再执行,最后x的值为3。
    选项C中,首先选执行第一条if,由于“1<3”为真,执行此if后面的语句“x=3”,接着执行第二条if语句,由于“1<2”为真,执行此if后面的语句“x=2”,接着执行第三条语句,由于“1<1”为假,后面的语句不执行,所以最后的x值为2不为3。
    选项D中,首先选执行第一条if语句,由于“a<b”为真,执行此if后面的语句“x=b”;接着执行第二条if语句,由于“b<c”,为真,执行此if后面的语句“x=c”,接着执行第三条if语句,由于“c<a”为假,后面的语句不执行,所以最后的x值为c即为3.所以,4个选项中选项c符合题意。