更多“SLPC仪表的模拟量输出用Y<sub>1</sub>至Y<sub”相关问题
  • 第1题:

    Command1_Click()事件代码如下: Private Sub Command1_Click() Dim x As Integer, Y As Integer x = 6 : Y : 8 Call ABC(X, Y) Print X; Y End Sub Private Sub ABC(ByVal X As Integer,Y As Integer) X = X + 4 Y = Y = 2 End Sub 事件发生后,X和Y的值分别为 ______。

    A.6, 8

    B.10, 10

    C.10, 8

    D.6, 10


    正确答案:D
    解析:事件发生时,首先定义两个变量X,Y并给他们赋值6和8。然后调用过程ABC,在过程ABC中有两个形参X,Y。X是按值传递,Y是按地址传递,所以在ABC过程中,对形参x的修改并不影响对应的实参x,但对形参Y的修改将影响到相应的实参Y。所以过程调用后,输出的X、Y值分别为6、100。

  • 第2题:

    有如下程序: Private Sub Commandl_Click( ) Dim i As Integer For i=1 To 2 DS Next i End Sub Sub DS( ) Dim x As Integer,m As String Static y,n X=X + 1 y=y + 1 m=m &"*”:n=n&"#" Print x,y,m,n End Sub 程序运行后,输出的结果是

    A.1 1 * #

    B.1 1 * #

    C.1 1 * # 1 1 * # 1 2 * #

    D.1 1 * # 1 1 * ## 1 2 * ##


    正确答案:D
    解析:当i=1时,调用函数过程DS,由于y,n为静态变量值保存,执行x=x+1;y=y+1后x=1,y=1执行m=m&"*":n=n&"#"后,m="*",n="#";当I=2时同上,只是y=2,n="##"。输出结果如选项D)所示。

  • 第3题:

    有如下程序: Private Sub Command1_Click() Dim a As Single Dim b As Single a=5:b=4 Call Sub1(a,b) End Sub Sub Sub1(x As Single,y As Single) t=X X=t\Y Y=t Mod y End Sub 在调用运行上述程序后,a和b的值分别为

    A.0 0

    B. 1 1

    C.2 2

    D.1 2


    正确答案:B
    解析:考查考生对调用通用过程的掌握情况。
      [解题要点] 调用一个过程时,必须把实际参数传送给过程,完成形式参数与实际参数的结合,然后用实际参数执行调用的过程。因为在默认的情况下,变量都是通过“引用”传送给sub1过程,在这种情况下,可以通过改变过程中相应的参数来改变变量的值。过程Sub1的形参获得a,b的地址,此时x=5,y=4,在过程Sub1中,将x,即5的值赋给t,而将t\y的值赋给x,将t除以y的余数赋给y,此时x,y的值为1,1。
      [错解分析] 调用通用过程可以返回多个参数值。
      [考点链接] 过程调用、参数传递。

  • 第4题:

    请选出以下程序的输出结果()includesub(x,y,z)int x,y,*z;{ *2=y-x;}main(){ int a,b,

    请选出以下程序的输出结果( ) #include<stdio.h> sub(x,y,z) int x,y,*z; { *2=y-x;} main() { int a,b,c; sub(10,5,&A) ;sub(7,a,&B) ;sub(a,b,&C) ; printf("%d,%d,%d\n",a,b,C) ; }

    A.5,2,3

    B.-5,-12,-7

    C.-5,-12,-17

    D.5,-2,-7


    正确答案:B

  • 第5题:

    请选出以下程序的输出结果_______。includesub(x,y,z)int x,y,*z;{*z=y-x;}main(){int

    请选出以下程序的输出结果_______。 #include<stdio.h> sub(x,y,z) int x,y,*z; {*z=y-x;} main(){ int a,b,c; sub(10,5,&A) ;sub(7,a,&B) ;sub(a,b,&C) ; printf("%d,%d,%d\n",a,b,C) ; }

    A.5,2,3

    B.-5,-12,-7

    C.-5,-12,-17

    D.5,-2,-7


    正确答案:B
    解析:sub()函数的作用是将形参y和x的差赋给了z指向的那个内存地址,所以在sub(10,5,&a),10和5属于值传递,a是属于她址传递,也就是a与z指向了同一个存储单元,在执行函数后,a的值随*2变化,所以此次函数被调用后,a的值为y-x=5,同理可知,在sub(7,a,&b)后,b的值发生变化,其值为-5-7=12,在sub(a,b,&c)后,c的值发生变化,其值为-12-(-5)=-7。

  • 第6题:

    假定有如下的Sub过程: Sub S(x As Single,y As Single) t=x x=t/y y=t Mod y End Sub 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim a As Single Dim b As Single a=5 b=2 S a,b print a,b End Sub 程序运行后,单击命令按钮,输出结果是( )。

    A.5 2

    B.1 1

    C.1.25 4

    D.2.5 1


    正确答案:D

  • 第7题:

    以下程序的输出结果是______。 sub(int x,int*y) {*y=*y-x;} main() { inta=1,b=2; sub(a,&B) ;sub(b,&A) ; printf("%d,%d\n",a,B) ; }

    A.1,0

    B.1,2

    C.0,1

    D.2,1


    正确答案:C
    解析:函数fun的功能是将形参指针变量y所指变量的值减去形参x中的值,计算结果赋给y所指变量。主函数第一次调用函数sub之后,b的值为1,第二次调用函数sub之后,a的值为0,程序输出为0,1。

  • 第8题:

    以下程序运行后的输出结果是 ______。 Sub add(x,y) x=x+y Print "x=";x;",y=";y End Sub Private Sub Command1_Click() x=1 y=1 Call add((x),(y)) Print"x="; x;",y=";y End Sub

    A.x=1,y=1 x=2,y=2

    B.x=2,y=1 x=1,y=1

    C.x=1,y=1 x=1,y=1

    D.x=2,y=1 x=2,y=1


    正确答案:B
    解析:在过程调用语句中,一般不特别指明,参数是按传地址方式传递的。此题两个实际参数都用圆括号括起,表示为传值方式,形参的变化不影响实参,因此,虽然形参x变为2,在过程add中输出2,但返回事件过程后,输出x的值不受影响,为1。

  • 第9题:

    有如下事件过程: Sub ABD(x%,y%,z%) z%=X% +y% End Sub Private Sub Command1 _ Click( ) a%=30:b%=40 Call ABD(a%,b%,c%) Print c% End Sub 运行上面的程序,单击命令按钮,输出结果为

    A.70

    B.70.0

    C.7.0E+1

    D.显示错误信息


    正确答案:A
    解析:在此题中,定义了一个求和函数,有三个形参,第三个形参的值是前两个形参的和,语句z%=x%+y%就是实现的这个功能;在主调过程中,定义了两个变量并赋给初值a%=30:b%=40,然后用Call关键字调用函数过程CallABD(a%,b%,c%),然后输出c%的值,输出结果70。

  • 第10题:

    有如下程序: Private Sub Command1 Click() Dim a As Single Dim b As Single a=5:b=4 Call S(a,B)End Sub Sub S(x As Single,y As Single) t=x x=t\y y=t Mod y End Sub 在调用运行上述程序后,a和b的值分别为

    A.0 0

    B.1 1

    C.2 2

    D.1 2


    正确答案:B
    解析:调用一个过程时,必须把实际参数传送给过程,完成形式参数与实际参数的结合,然后用实际参数执行调用的过程;因为在默认的情况下,变量都是通过“引用”传送给S过程,在这种情况下,可以通过改变过程中相应的参数来改变变量的值;过程S的形参获得a,b的地址,此时x=5,y=4,在过程S中,将x,即5的值赋给t,而将t\y的值赋给x。将t除以y的余数赋给y,此时x,y的值为l,1。

  • 第11题:

    在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim x As Integer,y As Integer x = 41: y = 54 Call sub1(x,y) x = x + 1 Print x; y End Sub Private Sub sub1(n As Integer, ByVal m As Integer) n=n Mod 10 m=m\10 End Sub 程序运行后,单击命令按钮,则窗体上显示的内容是

    A.41 54

    B.2 54

    C.1 3

    D.42 3


    正确答案:B
    解析:在Function((参数表列))过程中,“参数表列”指明了调用时传送给过程的参数类型和个数,每个参数的格式为:[ByVal][ByRef]变量名[()][As数据类型]其中系统默认为ByRef,它指明参数传送是以传地址进行的,实际参数变量的值会由于过程中对形参的操作而改变。而ByVal则不同,参数传送,是以传值传送的,实际参数变量的值不再由于过程中对形参的操作而改变,本题目中过程sub1的参数n是传地址引用,而参数m是传值引用,因此x的值改变,x=21\10+1=2;而y值不改变,仍为54。答案为选项B。

  • 第12题:

    下列定义abc过程的语句,正确的是()

    • A、Dim Sub abc(x,y)
    • B、Public abc(x,y)
    • C、Private Sub abc(x,y)As Integer
    • D、Sub abc(x,y)

    正确答案:D

  • 第13题:

    有以下程序:

    int sub(int n) { return(n/10+n%10); }

    main()

    { int x, y;

    scanf("% d", &x);

    y=sub(sub(sub(x)));

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

    }

    若运行时输入:1234<回车>,程序的输出结果是【 】。


    正确答案:10
    10 解析:y=sub(sub(sub(x)))=sub(sub(127))=sub(19)=10。

  • 第14题:

    若有以下程序:include using namespace std;void sub(int x,int y, int *z){ *z = y+

    若有以下程序: #include <iostream> using namespace std; void sub(int x,int y, int *z) { *z = y+x; } int main() { int a,b, c; sub (8,4,&a) ; sub (6, a, &b) ; sub(a,b,&c) ; cout<<a<<", "<<b<<", "<<c<<end1; return 0; } 程序运行后的输出结果是( )。

    A.12,18,30

    B.-12,6,8

    C.6,8,10

    D.12,-18,16


    正确答案:A
    解析:本题考核对指针作为函数的参数的理解程度。分析程序:①函数sub()为void型。函数的形参中,z是一个血型的指针变量,因此它只能从实参接收一个血型变量的地址。②在函数sub()体中,语句:“*z=y+x;”的功能是把形参y与x的和值放入形参z所指的存储单元中。③在主函数中,3次调用sub()函数。第一次调用时,把8和4分别传递给形参x和y,把主函数中变量a的地址传递给形参z,这样形参就指向了主函数中的变量a,在sub函数中执行语句“*z=y+x;”后,把12放入z所指的存储单元中,即变量a被赋值12。以此类推,最后b被赋值18,c被赋值30。所以最后输出是12,18,30。

  • 第15题:

    若有以下变量和函数说明:includecharCh='*';void sub(int x,int y,char ch,double*

    若有以下变量和函数说明: #include<iostream.h> charCh='*'; void sub(int x,int y,char ch,double*Z) { switch(ch) { case'+':*Z=x+y;break; case'-':*Z=x-y;break: case'*':*Z=x*y;break; case'/':*z=x/y;break: } } 以下合法的函数调用语句是( )。

    A.sub(10,20,Ch,y);

    B.sub(1.2+3,2*2,'+',&Z);

    C.sub(sub(1,2,'+',&y),sub(3,4'+',&x),'-',&y);

    D.sub(a,b,&x,ch);


    正确答案:B

  • 第16题:

    有以下程序int sub(int n){ return(n%10+n/10); }main(){ int x,y; scanf("%d",&x); y=sub(sub(x)); printf("%d\n",y);}若运行时输入:248<回车>,程序的输出结果是


    正确答案:5
    在本题中,程序首先定义了一个返回类型为整型的sub函数,该函数带有一个整型变量的形参,函数体中只有一条返回语句,用来返回表达式n%10+n/10的结果。n%10部分的作用是求一个多位整数的个位数,而n/10是用来求一个多位整数的除个位数以外各位组成的新整数,如234,经过n/10处理后得到结果23。
    在主函数中,定义两个整型变量x和y,如果通过scanf语句从键盘给变量x输入一个初值248,然后嵌套调用sub函数,首先运行sub(248),返回的结果为8+24=32,然后运行sub(32),返回结果为2+3=5,并将该结果保存到变量y中,程序最后运行输出语句输出变量y的值,因此,程序最后的输出结果为5。

  • 第17题:

    假定有如下的Sub过程: Sub Func(x As Single, y As Single) t=x x=t/y y=t Mod y End Sub 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim a As Single Dim b As Single a=6 b=5 Func(a, B) Print a, b End Sub 程序运行后,单击命令按钮,输出结果为 ______。

    A.6 5

    B.1 1

    C.1.2 5

    D.1.2 1


    正确答案:D
    解析:Visual Basic的函数参数默认的方式是传地址的,所以函数s对参数做的改变会反映到原来的变量里。

  • 第18题:

    有如下事件过程: Private Sub Commaild1_Click( ) Dim i As Integer For i =1 To 2 DC Next i End Sub Sub DC( ) Dim x As Integer,m As String Static y,n x=x + 1 y=y + 1 m=m&"*":n=n &"#" Print x,y,m,n End Sub 程序运行后,输出的结果是

    A.1 1 * # 1 1 * #

    B.1 1 * # 1 2 * #

    C.1 1 * # 1 1 * ##

    D.1 1 * # 1 2 * ##


    正确答案:D
    解析:本题考查函数调用和输出格式的语句。当I=1时,调用函数过程DC,由于y,n为静态变量值保存,执行x=x+1;y=y+1后x=1,y=1;执行m=m&"*":n=n&"#"后,m="*",n="#";当I=2时同上,只是y=2,n="##"。

  • 第19题:

    有如下程序。 Private Sub Commandl_Click() Dim a As Single Dim b As Single a=5:b=4 Call Sub1 ( a,B)End Sub Sub Subl(x As Single, y As Single) t=x x=t\y y = t Mod y End Sub 在调用运行上述程序后,a和b的值分别为

    A.0 0

    B.1 1

    C.2

    D.1 2


    正确答案:B
    解析:调用一个过程时,必须把实际参数传送给过程,完成形式参数与实际参数的结合,然后用实际参数执行调用的过程;因为在默认的情况下,变量都是通过“引用”传送给Sub1过程,在这种情况下,可以通过改变过程中相应的参数来改变变量的值;过程 Sub1的形参获得a,b的地址,此时x=5,y=4,在过程 Sub1中,将x,即5的值赋给t,而将t\y的值赋给x,将t除以y的余数赋给y,此时x,y的值为1,1。注意: 调用通用过程可以返回多个参数值。注意:过程调用、参数传递

  • 第20题:

    假定有如下的Sub过程:Sub Sub1 (x As Single, y As Single) t=x x = t/y y = t Mod yEnd Sub 在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_ Click() Dim a As Single Dim b As Single a = 5 b = 4 Sub1 a, b Print a; b End Sub 程序运行后,单击命令按钮,输出结果为______。

    A.5 4

    B.1 1

    C.1.2 5.4

    D.1.25 1


    正确答案:D
    解析:本题重点是在子过程的调用过程中,虚实参数的传送问题,变量a和b按址传送,返回子过程的x和y值。

  • 第21题:

    请选出以下程序的输出结果 ______。include sub(x, y, z)int x, y,*z;{*z=y-x:}main()

    请选出以下程序的输出结果 ______。#include <stdio. h>sub(x, y, z)int x, y,*z;{*z=y-x:}main(){ int a, b, c; sub 10,5,&a);sub(7,a,&b);sub(a, b, &c); printf("%d,% d,/%d\n", a, b, c);}

    A.5,2,3

    B.-5,-12,-7

    C.-5,-12,-17

    D.5,-2,-7


    正确答案:B
    解析:sub()函数的作用是将形参y和x的差赋给了z指向的那个内存地址,所以在sub(0.,5,&a),10和5属于值传递,a是属于地址传递,也就是a与z指向了同一个存储单元,在执行函数后,a的值随*z变化,所以此次函数被调用后,a的值为y-x=-5,同理可知,在sub(7,a,&b)后,b的值发生变化,其值为-5-7=-12,在sub(a,b,&c)后,c的值发生变化,其值为-12-(-5)=-7。

  • 第22题:

    运行下列程序:

    Dim x, y

    Private Sub Form_Click( )

    x = 1: y = 1: z = 1

    fun1 (1)

    Print x; y; z

    End Sub

    Private Sub fun1(a)

    x = a + x: y = a + x: z = a + y

    End Sub

    单击窗体后,则输出结果是( )。

    A.1 1 1

    B.2 3 1

    C.2 3 4

    D.2 2 1


    正确答案:B

  • 第23题:

    以下定义的过程()是按“传值”方式传递参数的。

    • A、Public Sub Sum(x,y)
    • B、Public Sub Sum(ByVal x, ByVal y)
    • C、Public Sub Sum(x  As  Integer,y  As  Integer)
    • D、Public Sub Sum(x%, y%)

    正确答案:B