参考答案和解析
正确答案:C
将参数传送给UDF有两种方式:①按引用传递方式,是将作为参数的变量和数组元素的地址传递给UDF,当参数的值在被调用过程中更改时,新值传递会调用程序中相关的变量或数组元素。②按值传递方式,是把变量和数组元素的值直接传递给UDF,当UDF中参数的值发生变化时,原来的变量或数组元素的值不发生变化。若要按引用方式传递参数,在调用UDF之前,先执行如下命令:SETUDFPARMSTOREFERENCE;若要按值方式传递参数,在调用UDF之前,先执行如下命令:SETUDFPARMSTOVALUE。也可以不管SETUDFPARMS的设置,强制设定以值传递方式或引用传递方式向一个UDF传递参数:用括号括起一个变量,则设定按值传递。默认情况下,变量以引用传递方式向过程传递,以值传递方式向一个UDF传递。
更多“ 下列程序段的输出结果是( )。A)2010B)1010C)2020D)1020 ”相关问题
  • 第1题:

    下列程序段的输出结果是 CLEAR STORE 10 TO A STORE 20 TO B SET UDFPARMS TO REFERENCE DO SWAP WITH A,(B) ?A,B PROCEDURE SWAP PARAMETERS Xl,X2 TEMP=X1 X1=X2 X2=TEMP ENDPROC

    A.10 20

    B.20 20

    C.20 10

    D.10 10


    正确答案:B
    解析:本题中利用SET UDFPARMS TO REFERENCE语句设置按引用方式传递,执行DO SWAP WITHA,(B)时,A按引用传递,(B)按值传递,在调用的过程中,X1 和 x2 的值互换,X1=20,X2=10,但参数(B)是按值传递,形参数值的变化不会影响实参的变化,因此A、B的最后取值都是20。

  • 第2题:

    下列程序段的输出结果是_____。

    cout < < fixed < < 509.123456789 < < endl;


    正确答案:123457
    123457 解析:fixed的意义是在小数点后保留6位,所以 fixed输出为509.123457。

  • 第3题:

    下列程序段的输出结果是( )。

    Clear

    store 10to a

    store 20to b

    set udfparms to reference

    do Swap with a,(b)

    ?a,b

    procedure swap

    parameters x1,x2

    temp=x1

    xl=x2

    x2=temp

    endproc

    A)2010

    B)1010

    C)2020

    D)1020


    正确答案:C
    将参数传送给UDF有两种方式:
    ①按引用传递方式,是将作为参数的变量和数组元素的地址传递给UDF,当参数的值在被调用过程中更改时,新值传递会调用程序中相关的变量或数组元素。
    ②按值传递方式,是把变量和数组元素的值直接传递给UDF,当UDF中参数的值发生变化时,原来的变量或数组元素的值不发生变化。若要按引用方式传递参数,在调用UDF之前,先执行如下命令: SET UDFPARMS TO REFERENCE:若要按值方式传递参数,在调用UDF之前,先执行如下命令:SET UDFPARMS TO VALUE。也可以不管SET UDFPARMS的设置,强制设定以值传递方式或引用传递方式向一个UDF传递参数:用括号括起一个变量,则设定按值传递。默认情况下,变量以引用传递方式向过程传递,以值传递方式向一个UDF传递。

  • 第4题:

    下列程序段的输出结果是 ______。 CLEAR STORE 10TOA STORE 20TOB SET UDFPARMS TO REFERENCE DO SWAP WITH A,B) ?A,B PROCEDURE SWAP PARAMETERS X1,X2 TEMP=X1 X1=X2 X2=TEMP ENDPROC

    A.10 20

    B.20 20

    C.20 10

    D.10 10


    正确答案:B
    解析:本题中利用SET UDFPARMS TO REFERENCE语句设置按引用方式传递,执行DO SWAP WITHA,(B)时,A按引用传递,(B)按值传递,在调用的过程中,X1和X2的值互换, X1=20,X2=10,但参数(B)是按值传递,形参数值的变化不会影响实参的变化,因此A、B的最后取值都是20。

  • 第5题:

    执行下列程序:

    STORE 0 TO m,n

    DO WHILE n<=10

    m=m+n

    n=n+2

    ENDDO

    ?m.n

    RETURN

    在屏幕上显示的输出结果是( )。

    A)20 10

    B)30 10

    C)20 12

    D)30 12


    正确答案:D
    DOWHILE…ENDDO语句的格式: 
    DO WHILE<条件>
    <命令序列>
    ENDDO
    执行该语句时,先判断DO WHILE处的循环条件是否成立,如果条件为真,则执行DOWHILE与ENDDO之间的<命令序列>(循环体)。当执行到ENDDO时,返回到DO WHILE,再次判断循环条 
    件是否为真,以确定是否再次执行循环体。若条件为假,则结束该循环语句,执行ENDDO后面的语句。 
    先将0赋给两个变量m和n ,使用一个DOWHILE循环语句来操作,判断条件是变量n是否小于等于10,如果大于10,则退出循环,否则进入循环体,执行m=m+n:题干中的循环步骤及结果分别为:初始值m=0,n=0;第1次循环后:m=0,n=2;第2次循环后: m=2,n=4;第3次循环后:m=6,n=6;第4次循环后:m=12,n=8;第5次循环后:m=20,n=10;第6次循环后:m=30,n=12;此时n不满足循环条件,程序结束,m、n最终的显示值是30、12。