更多“有以下程序 程序运行后的输出结果是( )。A.1,2 B.1,1C.2,1D.2,2 ”相关问题
  • 第1题:

    有以下程序:

    程序运行后的输出结果是( )。

    A.2,3,3

    B.2,3,2

    C.2,3,1

    D.2,2,1


    正确答案:C
    z=X++,Y++,++y;因为赋值运算符的优先级高于逗号运算符的优先级,所以可以将上式表示成(Z=x++),(Y++),(++y)。然后从左向右先计算表达式Z=X++,因为x++先使用后自增,所以z的值为1,X的值为2。再计算逗号表达式第二个表达式Y++,此时Y的值为2,最后计算第三个表达式++y,Y的值为3。

  • 第2题:

    有以下程序:程序运行后的输出结果是( )。

    A.0,0

    B.1,0

    C.3,2

    D.1,2


    正确答案:D
    执行第一个prinff语句时,b=a+b=1,所以输出l,执行第二个printf语句时,a=2*b=2*l=2,所以输出结果为2。

  • 第3题:

    有以下程序

    程序运行后输出结果是

    A.0,2

    B.0,3

    C.1,3

    D.1,2


    正确答案:D
    本题重点考查while语句,变量a和b分别赋初值为-2和1,while语句的语义是:计算表达式的值,当值为真(非O)时,执行循环体语句。a++即a参与运算后,a的值再自增1。++b即b自增1后再参与其它运算。当表达式的值为0时,退出循环,最后输出a和b的值为1和2。因此D选项正确。

  • 第4题:

    有以下程序:

    程序运行后的输出结果是( )。

    A.2.3

    B.1,3

    C.1,4

    D.1,2


    正确答案:B
    在f(int+P,int4q)函数中,执行P=P+1是将P所对应的地址加1,而0q=+q+1是将q所指向的n的地址所对应的值加1,所以m的得知所对应的值没有变,而n的值则为3了。因此B选项正确。

  • 第5题:

    有以下程序: #include<stdio.h> main( ) {int m=1,n=2,*p=&m,*q=&n,*r; r=P;P=q;q=r; printf("%d,%d,%d,%d\n",m,n,*P,*q); } 程序运行后的输出结果是( )。

    A.1,2,1,2

    B.1,2,2,1

    C.2,1,2,1

    D.2,1,1,2


    正确答案:B
    本题进行了交换,输出的4个值,前两个为m和n的值,*P取m的值,*q取n的值,分别为l和2;而“r=P;p=q;q=r;”语句是进行P和q的交换。所以本题输出结果为1,2,2,1。