参考答案和解析
正确答案:C
更多“执行下列程序段后,m,x,y的值分别是( ).intx=5,y=5;booleanm;m=--x ”相关问题
  • 第1题:

    执行下列程序段后,变量a,b,c的值分别是( )。 int x=5,y=4; int a,b,c; a=(--x==y++)?x:++y; b=++x; c=y;

    A.a=5,b=5,c=5

    B.a=4,b=5,c=5

    C.a=5,b=6,c=5

    D.a=1,b=5,c=6


    正确答案:B
    解析: 本题考查自加(++)、自减(--)运算符的使用。“++i,--i”,在使用i之前,先使i的值加1或者减1,再使用此时的表达式的值参与运算;“i++,i--”,先使用此时的i的值参与运算,在使用i之后,再使i的值加1或者减1。
    对于第1个表达式--x=4,y++=4。两者相等,--x==y++为真,所以a=x=4,执行完此语句后y的值是5。
    第2个表达式b=++x,x的值先加1,然后赋给b,即b=x+1=5;第一个表达式c=y=5。

  • 第2题:

    假定w、x、y、m均为int型变量,则执行下列的语句后,m的值是( )。 w=6,x=4,y=3; m=(w<x)?W:X; m=(m<y)?m:y;

    A.3

    B.4

    C.5

    D.6


    正确答案:A
    解析: 条件表达式“a?b:c”的含义是:当a为真时,其值等于表达式b的值,当a为假时,其值等于表达式c的值。第一个表达式:w=6x=4为假,所以返回x的值,即m=x=4;第二个表达式:m=4y=3为假,所以返回y的值,即m=y=3。

  • 第3题:

    执行下列程序段后,x、y和z的值分别是()。intx=10,y=20,z=30;if(xy)z=x;x=y;y=z;

    A.10,20,30

    B.20,30,30

    C.20,30,10

    D.20,30,20


    正确答案:B

  • 第4题:

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

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

    m=(W<x)?w:x;

    m=(m<y)?m:y;

    m=(m<2)?m:z;

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


    正确答案:√
    1 解析:此题考查条件表达式的运用。第1条语句执行后,变量m的值为1。第2条语句执行后,变量m的值为1。第3条语句执行后,变量m的值为1。

  • 第5题:

    下列程序段的执行结果为 X=2 Y=5 If X * Y <1 Then Y=Y - 1 Else Y=-1 Print Y-X>0A.TrueB.

    下列程序段的执行结果为 X=2 Y=5 If X * Y <1 Then Y=Y - 1 Else Y=-1 Print Y-X>0

    A.True

    B.False

    C.-1

    D.1


    正确答案:B
    解析:Print方法具有计算和输出双重功能,对于表达式,它先计算后输出,此题中经过第一步的条件语句后,Y的数值为-1,则Y-X的值为-3,小于0,所以Y-X>0为逻辑假,故输出结果应该为False。

  • 第6题:

    若x、y、z、m均为int型变量,则执行下面语句后m的值是( )。 m=1; x=2; y=3; m=(m<x) ? m : x; m=(m<y) ? m : y; m=(m<y) ? m : z;

    A.1

    B.2

    C.3

    D.4


    正确答案:A
    解析:?:运算符首先执行?之前的表达式,如果表达式的值为真,则返回?和:之间的表达式的值,否则返回:之后的表达式的值。本题中m比x和y都要小,所以,3个表达式都没有改变m的值,故应该选择A。

  • 第7题:

    下列程序的执行结果是()。includeincludeclass TestClass{public:intx,y

    下列程序的执行结果是( )。 #include<iostream.h> #include<stdlib.h> class TestClass { public: intx,y; TestClass(){x=y=0;} TestClass(int a,int b){x=a;y=b;} void disp() { cout<<"X"="<<X<<",y="<<y<<endl; }

    A.x=2,y=2

    B.x=3,y=3

    C.x=2,y=3

    D.x=3,y=2


    正确答案:C
    解析: 由主函数入手,定义了类TestClass的对象s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有参数的“TestClass(int a,int b)x=a;y=b;)”。然后引用成员函数disp(),则输出为“cout”x=“x”,y=“yendl;”。即x=2,y=3。

  • 第8题:

    执行下列程序后,变量a,b,C的值分别是( )。 intx=5,y=4; inta,b,c; a=(——x==y++)?x=++y; b=++x; c=y:

    A.a=5,b=5,c=5

    B.a=4,b=5,c=5

    C.a=5,b=6,c=5

    D.a=1,b=5,c=6


    正确答案:B
    本题考查自加(++)、自减(——)运算符的使用。“++x,——x”,在变量x前使用,先使x的值加1或者减1,再使用此时的表达式的值参与运算;“x++,x”,先把使用x的值参与运算,在使用x之后,再使X的值加1或者减1。对于表达式——x=4,y++=4,两者相等,——x=y++为真,所以a=x=4,执行完此语句后y的值是5。第2个表达式b=++x,x的值先加1,然后赋给b,即b=x+1=5;表达式c=y=5。故选项B正确。

  • 第9题:

    假定w,x,y,z和m均为int型变量,有如下程序段: w=1;x=2,y=3;z=4; m=(w<x)?w:x;m=(m<y)?m:y;m(m<2)?m:2; 则该程序段执行后,m的值为 ( )

    A.4

    B.3

    C.2

    D.1


    正确答案:D

  • 第10题:

    下列程序的输出结果为______。 include int&max(int&x,int&y) {return(x

    下列程序的输出结果为______。

    include<iostream.h>

    int&max(int&x,int&y)

    {return(x>y? x:y);)

    void main( )

    {

    int n=3,m=12;

    max(m,n)++;

    cout<<"m="<<m<<",n=<<n<<endl;

    }


    正确答案:m=13n=3
    m=13,n=3 解析:本题考察引用作为形参进行参数传递的知识。max函数的功能是返回较大的那个数,而max(m, n)++的作用是将较大值再进行增一运算。

  • 第11题:

    执行下列语句后,z的值是(). intx=4,y=25,z=5; z=y/x*z;


    正确答案:30

  • 第12题:

    单选题
    若w、x、y、z、m均为int型变量,则执行下列的语句后m的值是()。 w=2,x=3,y=4,z=5; m=(w<x)w:x; m=(m<z)m:z; m=(m<y)m:y;
    A

    2

    B

    3

    C

    5

    D

    4


    正确答案: D
    解析: 条件表达式“ab:c”的含义是:当a为真时,其值等于表达式b的值,当a为假时,其值等于表达式c的值。 表达式运算过程:第1个表达式:w-2<x=3为真,所以返回w的值,即m=w=2;第2个表达式;m-2<z=5为真,所以返回m的值,即m=2;第3个表达式;w=2<y=4为真,所以返回m的值,即m=2。

  • 第13题:

    若w、x、y、z、m均为int型变量,则执行下列的语句后m的值是( )

    w=2,x=3,y=4,z=5;

    m=(w<x)?w:x;

    m=(m<z)?m:z;

    m=(m<y)?m:y;

    A.2

    B.3

    C.5

    D.4


    正确答案:A
    解析:条件表达式“a?b:c”的含义是:当a为真时,其值等于表达式b的值;当a为假时,其值等于表达式c的值。表达式运算过程:第1个表达式:w=2x=3为真,所以返回w的值,即m=w=2:第2个表达式:m=2z=5为真,所以返回m的值,即m=2;第3个表达式:w=2y=4为真,所以返回m的值,即m=2。

  • 第14题:

    有如下程序段:

    intx=1,y=2,z=3;

    x=x^z:

    y=y^z;

    z=x^y:

    cout<<x<<y<<z;

    这个程序段的输出结果是______。


    正确答案:213
    213

  • 第15题:

    执行程序段“int x=1,y=2;x=x^y;y=y^x;x=x^y;”后,x和y的值分别是______。

    A.1和2

    B.2和2

    C.2和1

    D.1和1


    正确答案:C

  • 第16题:

    执行下列程序后,变量a,b,C的值分别是( )。 int x=5,y=4; int a,b,c; a=(--x==y++)?X:++y; b=++x: c=y:

    A. a=5,b=5,c=5

    B.a=4,b=5,c=5

    C.a=5,b=6,c=5

    D.a=1,b=5,c=6


    正确答案:B
    本题考查自加(++)、自减(--)运算符的使用。“++x,--x”,在变量x前使用,先使X的值加1或者减1,再使用此时的表达式的值参与运算;“x++,x--”,先把使用X的值参与运算,在使用X之后,再使x的值加1或者减1。对于表达式--x=4,y++=4,两者相等,--x=y++为真,所以a=x=4,执行完此语句后y的值是5。第2个表达式b=++x,x的值先加1,然后赋给b,即b=x+1=5;第一个表达式c=y=5。故B正确。

  • 第17题:

    执行下面程序段后,z值为( )。 intx=1,y=2,z=3; z=z/(float)(x/y);

    A.编译无法通过

    B.6

    C.3

    D.2


    正确答案:A
    解析: 本题考查Java的运算和类型转换。题目中变量x,y,z是im类型,由于括号的优先级要高,所以语句(noat)(x/y)的结果为0.0,分母已经成为0,编译肯定无法通过。另外,由于z是int型,不能将float型强制转化为int型。

  • 第18题:

    以下程序执行后x的值是()。includemain(){int x,y=252,i=386,*m=&y,*z=&i;x=(z

    以下程序执行后x的值是( )。 #include <stdio.h> main() { int x,y=252,i=386,*m=&y,*z=&i; x=(z= =m); printf("%d",x); }

    A.252

    B.1

    C.0

    D.运行时出错,x无定值


    正确答案:C
    解析:指针变量m和z分别指向整型变量y,i,所以这两个指针变量中存储的地址是不同的,变量x接受的是一个关系运算结果0(因为m和z两个地址是不同的),所以x为0。

  • 第19题:

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

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

    m=(W<X)?W:K;

    m=(m<y)?m:y;

    m=(m<z)?m:z;

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


    正确答案:√
    1 解析:此题考查条件表达式的运用。第1条语句执行后,变量m的值为1。第2条语句执行后,变量m的值为1。第3条语句执行后,变量m的值为1。

  • 第20题:

    阅读下列程序段,则程序的输出结果为 #include"stdio.h" #define M(X,Y)(X)*(Y) #define N(X,Y)(X)/(Y) main() { int a=5,b=6,c=8,k; k=N(M(a,b),c); printf("%d\n",k);}

    A.3

    B.5

    C.6

    D.8


    正确答案:A
    解析:带参数的宏定义命令行形式如下:#define宏名(形参表)替换文本。首先进行M的宏替换,之后再进行N的宏替换,替换后的表达式为(a)*(b)/(c)。

  • 第21题:

    假定w、x,y、z、m均为int型变量,有如下程序段; w=1;x=2;y=3;z=4; m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z; 则该程序段执行后,m的值是( )

    A.4

    B.3

    C.2

    D.1


    正确答案:D

  • 第22题:

    若w、x、y、z、m均为int型变量,则执行下列的语句后m的值是()。 w=2,x=3,y=4,z=5; m=(w<x)w:x; m=(m<z)m:z; m=(m<y)m:y;

    • A、2
    • B、3
    • C、5
    • D、4

    正确答案:A

  • 第23题:

    单选题
    有以下程序: #include  int m1(int x,int y) {  return x<=y?x:y; } int m2(int x,int y) {  return x<=y?y:x; } int fun(int a,int b) {  return a+b; } main() {  int x=2,y=3,z=1;  printf(%d,fun(m1(x,y),m2(y,z))); } 程序的运行结果是(  )。
    A

    6

    B

    5

    C

    4

    D

    3


    正确答案: D
    解析:
    条件运算符“?:”语法形式为:exp1?exp2:exp3。执行规则为:计算表达式exp1的值,测试其是否为0;如果exp1的值非0,则对exp2求值,并把这个值作为条件表达式的结果输出,不计算exp3;如果exp1的值为0,则对exp3求值,并把这个值作为条件表达式的结果输出,不计算exp2。函数m1实现返回传入两个参数中的最小值。函数m2实现返回传入两个参数中的最大值。函数fun实现返回传入两个参数之和。程序执行过程为:调用m1(2,3)返回2,调用m2(3,1)返回3,调用fun(2,3)返回5,输出结果5,答案选择B选项。