更多“判断程序运行完毕后,x,y,z值分别为()x="11"+1;y=”相关问题
  • 第1题:

    下列程序的运行结果是_______。

    main()

    { int x=1,y=2,z=3;

    printf("%d,",x<y?y:x);

    primf("%d,",z<y?x++:y++);

    primf("%d,%d",x,y);

    }


    正确答案:2213
    2,2,1,3 解析:本题考查++,--运算符和条件运算符的使用。
    “表达式1?表达式2:表达式3”的功能是:表达式 1的值若非0,则计算表达式2的值,且表达式2的值为最终结果;若表达式1的值为0,则计算表达式3的值,且为最终结果。
    本题中,x=1,y=2时,xy成立,输出y的值2;y=2, z=3时,zy不成立,执行y++,输出2后y值增1,所以最后一个输出x的值不变为1,y的值为增加后的3。

  • 第2题:

    假定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。

  • 第3题:

    判断程序运行完毕后,x,y,z值分别为()。

    A.111111111

    B.1211112

    C.12111111

    D.121212


    正确答案:C

  • 第4题:

    下列能够交换变量X和Y值的程序段是( )。

    A.Y=X:X=Y

    B.Z=X:Y=Z:X=Y

    C.Z=X:X=Y:Y=Z

    D.Z=X:W=Y:Y=Z:X=Y


    正确答案:C
    解析:本题以z为中间变量,交换x、y的值。

  • 第5题:

    有以下程序:includemain(){int x=3,y=2,z=1; printf("%d\n",x/y&~z);程序运行后的

    有以下程序: #include <stdio.h> main() { int x=3,y=2,z=1; printf("%d\n",x/y&~z); 程序运行后的输出结果是( )。

    A.3

    B.2

    C.1

    D.0


    正确答案:D
    解析:&是按位“与”运算符,若参加运算的两个运算量的相应位都为1,则该位的结果值为1,否则为0。~是“取反”运算符,用来对一个二进制数按位取反,即将0变1,1变0。对于x/y&~z,先计算x/y的值,结果为1,用十六进制表示为0001;z用十六进制表示为0001,则~z为FFFE;最后进行&运算,整个表达式的值为0。

  • 第6题:

    假定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。

  • 第7题:

    有以下程序: main() {int x,y,z; x=y=1; z=x++,y++,++y; printf("%d,%d,%d,%d\n",x,y,z); 程序运行后的输出结果是( )。

    A.2,3,3

    B.2,3,2

    C.2,3,1

    D.2,2,1


    正确答案:C
    解析:z=x++是先把x的值1赋给z,所以z=1,然后再把x加1赋给x,x=2,++y后y又加1,所以y=3。

  • 第8题:

    假定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

  • 第9题:

    以下程序输出的结果是()。includeusing namespace std;int main(){int **x,*y,z=10;y=

    以下程序输出的结果是( )。 #include<iostream> using namespace std; int main() { int **x,*y,z=10; y=&z; x=&y; cout<< **x+1<<endl; return 0; }

    A.11

    B.x的地址

    C.y的地址

    D.运行错误


    正确答案:A
    解析:执行语句y=&z;后,指针y指向了变量z。执行语句x=&y;后,指针**x指向z。所以**x的值为z的值10,那么程序最后输出为11。

  • 第10题:

    对于下面的程序段: x:=28; y:=20; z:=30; if x>y then z:=x+y; x:=y; z:=x+y; y:=z; 执行该程序段后,变量y的值为()

    • A、28
    • B、30
    • C、40
    • D、48

    正确答案:C

  • 第11题:

    x=1,y=1,z=1,执行表达式w=++x||++y&&++z后,x、y、z的值分别为()。

    • A、x=2,y=1,z=1
    • B、x=2,y=2,z=2
    • C、x=1,y=1,z=1
    • D、x=2,y=2,z=1

    正确答案:A

  • 第12题:

    单选题
    对于下面的程序段: x:=28; y:=20; z:=30; if x>y then z:=x+y; x:=y; z:=x+y; y:=z; 执行该程序段后,变量y的值为()
    A

    28

    B

    30

    C

    40

    D

    48


    正确答案: C
    解析: 暂无解析

  • 第13题:

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

    A.252

    B.1

    C.0

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


    正确答案:C
    解析:指针变量m和z分别指向整型变量y和i,所以这两个指针变量中存储的地址是不同的。变量x接受的是一个关系运算的结果,因为两个地址是不同的,所以“z=y”的判断结果为0。注意:C语言中,逻辑值的表示方法。

  • 第14题:

    单击按钮时,以下程序运行后的输出结果是 Private Sub proc1(x As Integer,y As Integer,z As Integer) x=3*z y=2*z z=x+y End Sub Private Sub Command1_Click() Dim x As Integer,y As Integer,Z As Integer x=1:y=2:z=3 Call proc1(x,x,z) Print x;x;z Call proc1(x,y,y) Print x;y;y End Sub

    A.6 6 12 `

    B.9 5 10 6101051010

    C.9 6 12

    D.9 10 10 910155410


    正确答案:A
    解析:从整体上看,可得主调过程将两次调用过程Proc1后,实参的值将随形参变化而变化,现在分析一下这两次调用实参和形参是怎么变化的。第一次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时形参x,y,z值分别为1,1,3,执行语句x=3*z后,形参x值变为9,此时相对应的实参x也变为9,执行语句y=2*z后,形参y值变为6,则相对应的实参x值变为6。执行x=x+y后,形参z值应为12,当然这次调用后,程序代码输出的数值为6,6,12;第二次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z。我们应注意一下,此时实参x的值为6而不是1,所以此时形参x,y,z值分别为6,2和2,执行语句x=3*z后,形参x值为6,相对实参x值也相应的变为6。执行语句y=2*z后,形参y值变为4,相应的实参y值也变为4,执行z=x+y后,形参z值变为10,相应的实参y的值变为10,而形参y和x的地址相同,最后它们值都应为10,所以此次调用后,程序代码将输出的数值为6,10和10。

  • 第15题:

    有以下程序 include mare() { int x=1,y=2,z=3; if(x>y) if

    有以下程序 #include <stdio.h> mare() { int x=1,y=2,z=3; if(x>y) if(y<z) printf("%d",++z); else printf("%d",++y); printf("%d\n",x++); } 程序的运行结果是______。

    A.331

    B.41

    C.2

    D.1


    正确答案:D
    解析:本题考查的是if语句的嵌套。C语言规定else总是与它上面的最近的且不带else的if配对,所以本题else与if(yz)配对,即为内嵌if。在程序执行时,先判断if(x>y)的条件表达式x>y,即1>2,不成立,所以不执行内嵌if,直接执行“printf("%d",x++);”语句。由于x++表示在使用后再将x加1,所以输出1。

  • 第16题:

    下列能够交换变量X和Y值的程序段是( )。

    A.Y=X:X=Y

    B.Z =X:Y=2:X =Y

    C.Z=X:X=Y:Y=Z

    D.Z=X:W=y:Y=Z:X=Y


    正确答案:C
    本题以Z为中间变量,交换X、Y的值。

  • 第17题:

    以下程序执行后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。

  • 第18题:

    若有以下程序段;includeusing namespace std;int main(){ int a[]={1,4,5}; int *p=&

    若有以下程序段; #include<iostream> using namespace std; int main() { int a[]={1,4,5}; int *p=&a[0],x=6,y,z; for(y=0;y<3;y++) z=((*(p+y)<x) ? *(p+y):x); cout<<z<<end1; return 0; } 程序运行后的输出结果是( )。

    A.1

    B.4

    C.5

    D.2


    正确答案:C
    解析:本题考核指针的运算。①程序首先定义了一整型数组a,并赋初值1,4,5。即a[0],a[1]和a[2]的值分别为1,4和5。程序还定义了一个整型指针p,并初始化它指向数组元素a[0]。②在for循环语句中,赋值语句“z=((*(p+y)x)?*(p+y):x);”可等价为:“z=(aly]x)?a[y]:x”。因为表达式中的“*(p+y)=p[y]=a[y]”。③for语句每循环一次,就给变量z重新赋值一次,z的值其实就是数组和x相比较,将数组a中的最大值赋给z。当y=2后,退出循环,输出结果是5。

  • 第19题:

    以下程序运行后,单击按钮输出结果是 Private Sub Commandl_Click( ) Dim x As Integer,y As Integer,z As Integer X=4:y=2: Z=3 Call Gopd(x,x,z) Print x;X;Z Call Gopd(x,y,y) Print x;y;y End Sub Private Sub Gopd(x As Integer,y As Integer,z As Integer) X=3 * Z + 1 y=2 * z z=x + y End Sub

    A.6 6 12 7 11 11

    B.8 5 10 5 11 11

    C.9 6 12 9 10 15

    D.8 10 10 5 9 10


    正确答案:A
    解析:第一次调用被调过程Gopd,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时形参x,y,z值分别为4,4和3,执行语句x=3*z+1后,形参x值变为10,此时相对应的实参x也变为10执行语句y=2*z后,形参y值变为6,则相对应的实参x值变为6;执行z=x+y后,形参z值应为12,当然这次调用后,程序代码输出的数值为6,6,12;第二次调用被调过程Gopd,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时实参x的值为6而不是1,所以此时形参x,y,z值分别为6,2和2,执行语句x=3*z+1后,形参x值为7,相对实参x值也相应的变为7;执行语句y=2*z后,形参y值变为4,相应的实参y值也变为4;执行x=x+y后,形参z值变为11,相应的实参y的值变为11,而形参y和z的地址相同,最后它们值都应为11,所以此次调用后,程序输出的数值为7,11和11。

  • 第20题:

    单击按钮时,以下程序运行后的输出结果是 Private Sub Commandl_Click( ) Dim X As Integer,y As Integer,z As Integer x=1:y=2: Z=3 Call God(x,x,z) Print x;x;z Call God(x,y,y) Print X;y;y End Sub Private Sub God(x As Integer,y As Integer,z As Integer) x=3 * Z + 1 y=2 * Z z=x + y End Sub

    A.6 6 12 7 11 11

    B.8 5 10 5 11 11

    C.9 6 12 9 10 15

    D.8 10 10 5 9 10


    正确答案:A
    解析:从整体上看,可得主调过程将两次调用过程God后,实参的值将随形参变化而变化,现在分析一下这两次调用实参和形参是怎么变化的:第一次调用被调过程God,主调过程把实参x,x和z的地址分别传给形参x,y和z,此时形参x,y和z值分别为1,1和3,执行语句x=3*z+1后,形参x值变为10,此时相对应的实参x也变为10,执行语句y=2*z后,形参y值变为6,则相对应的实参x值变为6。执行z=x+y后,形参z值应为12,当然这次调用后,程序代码输出的数值为6,6,12;第二次调用被调过程God,主调过程把实参x,x和y的地址分别传给形参x,y和z。应注意,此时实参x的值为6而不是1,所以此时形参x,y和z值分别为6,2和2,执行语句x=3*z+1后,形参x值为7,相对实参x值也相应的变为7。执行语句y=2*z后,形参y值变为4,相应的实参y值也变为4,执行z=x+y后,形参z值变为11,相应的实参y的值变为11,而形参y和z的地址相同,所以最后它们值都应为11,所以此次调用后,输出的数值为7,11和11。

  • 第21题:

    以下是某个窗体的模块代码,请分析单击窗体后程序运行至"*"号位置时变量X、Y和Z的值分别是【 】。

    DIM X AS INTEGER

    DIM Y AS INTEGER

    PRIVATE SUB FORM_CLICK()

    DIM X AS INTEGER

    X=1

    Y=1

    CALL AA(Y+1)

    Z=BB(X)

    '* * * * * * *

    MSGBOX "X="&X&"/Y="&Y&"/Z="&Z

    END SUB

    PRIVATE SUB AA(BYVAL Z AS INTEGER)

    Y=Z+X

    Z=X+Y

    END SUB

    PRIVATE FUNCTION BB(BYREF Y AS INTEGER

    Y=Y+1

    BB=X+Y

    END FUNCTION


    正确答案:222
    2,2,2 解析:调用AA过程后,全局变量Y的值为2。这时形参为局部变量Y,而实参为局部变量 X,传递采用“传址”调用,即形参Y与实参X占用同一内存地址,并且形参Y会获得实参X的传递值1。当执行BB过程中的Y=Y+1语句时,形参Y与实参x的值均为1+1=2,此时,函数的返回值为BB=X+Y,是全局变量X与形参Y相加,值为0+2=2。综合判断,得出答案为2, 2,2。

  • 第22题:

    设x、y、z的值分别为1,2,-3,下面的逻辑运算的值正确的是()

    • A、x eq 1 and y eq 2 —为真
    • B、x gt y or y gt z —为假
    • C、x lt y and y gt z —为假
    • D、x eq y or x lt z —为真

    正确答案:A

  • 第23题:

    下列能够交换变量X和Y值的程序段是()

    • A、Y=X:X=Y
    • B、Z=X:Y=Z:X=Y
    • C、Z=X:X=Y:Y=Z
    • D、Z=X:W=Y:Y=Z:X=Y

    正确答案:C

  • 第24题:

    单选题
    x=1,y=1,z=1,执行表达式w=++x||++y&&++z后,x、y、z的值分别为()。
    A

    x=2,y=1,z=1

    B

    x=2,y=2,z=2

    C

    x=1,y=1,z=1

    D

    x=2,y=2,z=1


    正确答案: B
    解析: 暂无解析