参考答案和解析
正确答案:C
更多“在梁的正应力公式σ=M<sub>y</sub>/I”相关问题
  • 第1题:

    以下程序的运行结果是

    sub(int x,int y,int *z)

    {*z=y-x;}

    main()

    { int a,b,c;

    sub(10,5,&a);

    sub(7,a,&b);

    sub(a,b,&c);

    printf("M,M,M\n",a,b,c);}

    A.5,2,3

    B.-5,-12,-7

    C.-5,-12,-17

    D.5,-2,-7


    正确答案:B

  • 第2题:

    有如下事件过程: Private Sub Command1_Click( ) Dim m AS Integer,n AS Integer m=2:n=1 Print "m=";m;"n=";n Call TOD(m,n) Print "m=";m;"n=";n End Sub Sub TOD(x,y) x=x^2 y=y^3 End Sub 程序运行后,输出的结果为

    A.m=2,n=1 m=1,n=2

    B.m=2,n=1 m=4,n=1

    C.m=1,n=2 m=1,n=4

    D.m=1,n=2 m=2,n=4


    正确答案:B
    解析:本题考查的是函数调用和输出语句。定义了一个函数,函数的功能是:将实参传给形参,按址传送,将改变实参的数值,语句x=x^2的作用是将x的平方值赋给x,为4;语句y=y^3的作用是将y的三次方值传给y,为1;然后返回主调过程,输出变化前后的值。

  • 第3题:

    单击命令按钮时,下列的执行结果为 Private Sub Command1_Click() Dim x As Integer,y As Integer x=86:y=29 Call Proc(x,y) Print x;y End Sub Public Sub Proc(n As Integer,ByVal m As Integer) n=n Mod 10 m=m Mod 10 End Sub

    A.12 32

    B.6 29

    C.2 3

    D.12 3


    正确答案:B
    解析:在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在VisualBasic中,实参与形参的结合有两种方式:即传址与传值。这两种方法的特点如下:传址的结合过程是,当调用一个过程是,它将实参的地址传给形参,在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。传值的结合过程是,当调用一个过程时,系统将实参的值赋值给形参并断开了联系,被调用过程中的操作时在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。而题中被调过程Proc中有两个形参,其中第一个形参n为传址方式,第二个形参m为传值方式。主调过程分别把实参x、y传递给Proc,所以当过程调用结束后,实参x的值应随着被调过程变化而变化,而实参y值在主调函数中始终不变,所以输出y的值仍为29;在被调过程中"n=nModl0"被调用时,相当于“x=xModl0”,所以x的值最终为6。

  • 第4题:

    有如下程序: 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)所示。

  • 第5题:

    在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Commandl_Click() Dim m As Integer, n As Integer, p As Integer m=3: n=5: p=0 Call Y(m, n, p) Print Str(p) End Sub Sub Y(ByVal i As Integer, ByVal j As Integer, k As Integer) k=i+j End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是( )

    A.4

    B.6

    C.8

    D.10


    正确答案:C
    解析:此程序考查了函数的调用,函数过程有3个形参,功能是将第一个和第二个形参的和赋给第三个形参,其中前两个形参是按值传递,不会影响实参的数值,即在调用函数过程的过程中,不变化实参的数值;而第三个形参是按址传递,传递的是实参的地址,这样实参会随着过程中形参的变化而变化,即改变实参的数值。在主调过程中定义了三个整型变量,分别赋值3、5、0,调用过程后 m,n的数值仍然是3、5,而p的值不再是0而变为8即m、n的和,这也是被调函数的作用。

  • 第6题:

    在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim in As Integer,n As Integer,p As Integer m=3:n=5:p=0 Call Y(m,n,p) Print Str(p) End Sub Sub Y(ByVal i As Integer,ByVal j As Integer,k As Integer) k=i+j End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是

    A.4

    B.6

    C.8

    D.10


    正确答案:C
    解析:[命题目的] 考查考生对调用通用过程中参数传递方式的掌握情况。
      [解题要点] 此程序考查了函数的调用,函数过程有3个形参,功能是将第1个与第2个形参的和赋给第3个形参,其中前两个形参是按值传递,不会影响实参的数值,即在调用函数过程的过程中,不改变实参的数值;而第3个形参是按址传递,传递的是实参的地址,这样实参会随着过程中形参的变化而变化,即改变实参的数值。在主调过程中定义了3个整型变量,分别赋值3、5、0,调用过程后m、n的数值仍然是3、5,而p的值不再是0,变为8,即m、n的和,这也是被调函数的作用。
      [错解分析] 参数按传值方式传递时,不改变实参中的值;按传地址的方式传递时,实参和形参指向同一个存储地址,所以实参指向的内容被改变。
      [考点链接] 参数传递方式的概念和应用。

  • 第7题:

    在窗体上画一个命令按钮,然后编写下列程序: Private Sub Command1 click( ) Dim a As Single,b As Single a=6:b=2 RC a,b Print a,b End Sub Sub RC(x As Single,y As Single) i=x x=i/y y=i Mod y End Sub

    A.4 3

    B.1 1

    C.3 0

    D.2 6


    正确答案:C
    解析:此程序段调用了自定义的过程,在自定义过程RC中首先定义了两个形参x,y;然后将x的值赋给I,然后将i/y的值赋给x,最后将iMody的值赋给y,完成调用过程;在命令按钮的程序段,即主程序内首先定义了两个单精度浮点数a,b然后用赋值语句赋给初值5,2,然后调用过程RC,最后用Print语句输出,输出结果为30。

  • 第8题:

    编写如下事件过程: Private sub sub1 (ByVal x1 As String, y1 As String) Dim xt As String Dim i As Integer i = Len(x1) Do While i>= 1 xt = xt + Mid(x1, i, 1) i=i-1 Loop y1 = xt End Sub Private Sub Form. Click() Dim s1 As String, s2 As String s1= "teacher" sub1 s1, s2 Print s2 End Sub 程序运行后,单击窗体,则窗体上显示的内容是

    A.rehcaet

    B.tahreee

    C.themee

    D.eerthea


    正确答案:A
    解析:可以看出,Sub1(ByValx1AsString,y1AsString)的作用是将参数x1的字符逆序处理,然后赋给y1,而y1是传址引用的,可以直接返回处理结果。

  • 第9题:

    在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub sub1(p,m,n) p=p + 1 : m = m + 1 : n =n + 1 Print p;m;n End Sub Private Sub Command1_Click() x=6 : y=4 : z=2 Call sub1(x,y+1,(z)) Print x;y;z End Sub 程序运行后,单击命令按钮,则窗体上第二行显示的内容是

    A.7 6 3

    B.7 4 2

    C.6 4 2

    D.4 6 3


    正确答案:B
    解析:本题考察的是函数过程的调用和参数传送。当发生了Command1的单击事件时,调用函数过程sub1,虽然sub1函数过程在定义时3个参数都被定义成传址方式传送,但在调用时只有第1个参数是变量,按引用传送,其他两个参数均按传值传送。参数传送后,进入subl函数过程执行,p、m和n均加1分别得到的值为7、6和3。函数过程调用返回后,只有x的值发生了变化,变为7,y和z的值仍为4和2。

  • 第10题:

    在窗体上面画一个命令按钮和一个标签,其名称分别为Command1和Label1,然后编写如下代码: Sub S(X As Integer,y As Integer) Static z As Integer y=x*x+Z z=y End Sub Private Sub Command1 Click( ) Dim i As Integer.z As Integer m=0 z=0 For i=1 T0 3 S i,Z m=m+z Next i Label1.Caption=Str(m) 程序运行后,单击命令按钮,在标签中显示的内容是( )。

    A.50

    B.20

    C.14

    D.7


    正确答案:B
    B。【解析】本题中有Sub过程,此过程中s函数使用的参数传递为地址传递,并且z变量为静态变量,所以变量2将会保存上=次计算的值,而z=Y是为静态变量进行赋值。在Click事件中的2和Sub过程中的z只是同名,没有其他的关系,所以当i=1时调用s函数,此时的y=1*1+0=1,z=y=1,当i=2时,y=2*2+1=5,z=y=5,当i=3时,y=3*3+5=14,z=14,此时m=m+z,所以m=0+1+5+14=20,所以答案选择B。

  • 第11题:

    设有如下程序: Private Sub Form. Click( ) Dim i As Integer,x As String,y As String x="

    设有如下程序:

    Private Sub Form. Click( )

    Dim i As Integer,x As String,y As String

    x="ABCDEFG"

    For i=4 To 1Step-1

    y=Mid(X,i,i)+y

    Next i

    Print y

    End Sub

    程序运行后,单击窗体,输出结果为( )。

    A.ABCCDEDEFG

    B.AABBCDEFG

    C.ABCDEFG

    D.AABBCCDDEEFFGG


    正确答案:A
    A。【解析】本题也是考查字符串的取值,当i=4时,y=Mid(x,4,4)+y=DEFG,当i=3时,Y=Mid(X,3,3)q-y=CDEDEFG,当i=2时,y=Mid(X,2,2)+y=BCCDEFG,当i=1时,y=Mid(x,1,1)+Y=ABCCDEFG,所以答案选择A。

  • 第12题:

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

    • 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

  • 第13题:

    以下过程的定义中,( )是错误的。

    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%)


    参考答案:A

  • 第14题:

    下面各被调用函数首部书写正确的是( )

    A.void sub(float x;float y);

    B.void sub(float x,y)

    C.void sub(float x,float y)

    D.void sub(float x,float y);


    正确答案:C

  • 第15题:

    设有如下程序: Private Sub Form. Click( ) Dim i As Integer,x As String,y As String x="ABCDEFG" For i=4 To 1Step-1 y=Mid(X,i,i)+y Next i Print y End Sub 程序运行后,单击窗体,输出结果为( )。

    A.ABCCDEDEFG

    B.AABBCDEFG

    C.ABCDEFG

    D.AABBCCDDEEFFGG


    正确答案:A
    A。【解析】本题也是考查字符串的取值,当i=4时,y=Mid(x,4,4)+y=DEFG,当i=3时,Y=Mid(X,3,3)q-y=CDEDEFG,当i=2时,y=Mid(X,2,2)+y=BCCDEFG,当i=1时,y=Mid(x,1,1)+Y=ABCCDEFG,所以答案选择A。

  • 第16题:

    下面程序的输出结果是( )。 #include"stdio.h" int sub(int m) { static a=4; a+=m; return a; } void main() { int i=2,j=1,k; k=sub(i); k=sub(j); printf("%d",k); }

    A.6

    B.7

    C.8

    D.9


    正确答案:B
    解析:在函数sub()的函数体中定义了一个静态存储变量a,a的值在函数调用完毕返回主函数后仍存在。第一次调用sub(i),a=a+m=4+2=6,返回值为6。第二次调用sub(j),a=a+m=6+1=7,返回值为7,最后输出k的值为7。

  • 第17题:

    有如下程序: 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。
      [错解分析] 调用通用过程可以返回多个参数值。
      [考点链接] 过程调用、参数传递。

  • 第18题:

    单击命令按钮时,下列程序代码的执行结果为_________。 Public Sub Procl(n As Integer,By Val m As Integer) n=n Mod i() m=m/10 End Sub Private Sub Command1 CliCk() Dim x As Integer,y As Integer x=12:y=34 Call Procl(x,y) Print x;y End Sub

    A.12 34

    B.2 34

    C.2 3

    D.12 3


    正确答案:B
    解析:过程中传递参数的方式有两种:一种是按地址传递参数,这种形式使过程用变量的内存地址去访问实际变量的内容,如果在过程中改变了该变量的值,则是真正改变了这一变量的值,这种形式是传递参数的缺省方式。另一种是按值传递参数,这种形式只是传递变量的副本;如果在过程中改变该变量副本的值,并不能真正改变该变量本身的值。解题思路:观察程序段,过程Procl的第一个参数n是按地址传递参数,第二个参数m是按值传递参数,所以调用过程Procl后,变量x的值改变,而变量y的值不变。由程序段可知,x=12Mod10=2,y=34最终的输出结果是:234。

  • 第19题:

    单击命令按钮时,下列程序的执行结果为 Private Sub Command1_Click() Dim x As Integer,y As Integer x=50:y=78 Call PPP(x,y) Print x;y End Sub Public Sub PPP(ByVal n As Integer,ByValm As Integer) n=n\10 m=m\10 End Sub

    A.08

    B.50 78

    C.450

    D.78 50


    正确答案:B
    解析:在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在VisualBasic中,实参与形参的结合有两种方式,即传址与传值。这两种方法的特点如下:传址的结合过程时,当调用一个过程时,它将实参的地址传给形参,因此在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。传值的结合过程时,当调用一个过程时,系统将实参的值复制给形参并断开了联系,被调用过程中的操作是在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。而题中被调过程PPP中有两个形参,两者均为传值方式。主调过程分别把实参x、y传递给PPP,所以当过程调用结束后,实参x、y的值都没有改变,最后输出的值应为5078。

  • 第20题:

    以下程序的运行结果是include void sub(int x,int y,int*z){*z=y-x;}void main(){i

    以下程序的运行结果是 #include<iostream.h> void sub(int x,int y,int*z) { *z=y-x;} void main() { int a,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); cout << a <<","<< b<<"," << C << endl;}

    A.5,2,3

    B.-5,-12,-7

    C.-5,-12,-17

    D.5,-2,-7


    正确答案:B
    解析:在C++语言中,调用函数不可能改变实参指针变量的值,但可以改变实参指针变量所指变量的值。了解了实参指针变量的改变情况,本题只剩下简单的“加减法”了。

  • 第21题:

    当发生Form_Click事件时,下列程序的输出结果是( )。 Private m As Integer,n As Integer Private Sub Form_Click() Dim k As Integer,p As Integer k=6:p=60 Call sub1(k,p) Print m,n,m,k,p Call sub1(k,p) Print m,n,k,p End Sub Private Sub Form_Load() m=7 n=70 End Sub Public Sub sub1(x As Integer,ByVal y As Integer) Dim m As Integer n=n+5 m=n+x+y x=x+y y=x+y End Sub

    A.7 75 66 60 7 80 126 60

    B.7 75 66 60 7 75 126 60

    C.7 75 66 60 7 80 66 60

    D.7 75 66 60 7 75 66 60


    正确答案:A
    解析:本题定义了两个窗体级变量m和n,并在窗体的Load事件中给窗体级变量m和n分别赋值7和70。当发生Form_Click事件时,首先进行第一次sub1过程的调用,把k的值6按地址传递给形参x,把p的值60按值传递给形参y。在sub1中定义了一个局部变量m,因此在该函数中使用的m是局部变量而非窗体级变量。执行下面的4条赋值语句后,窗体级变量n的值为75,局部变量m的值为142,形参x的值为66,形参y的值为126。函数调用返回后,由于p是按值传递,所以它的值没有变化,k是按地址传递,所以它的值变为邱,输出m、n、k和p的值分别是7、75、66和60。同理,分析第二次sub1过程调用,可知过程调用返回后,变量m、n、k和p的值分别是7、80、126、60。

  • 第22题:

    单击命令按钮时,下列程序的执行结果为 Private Sub Command1_Click Dim x As Integer, y As Integer x=12:y=32 Call Proc(x,y. Print x; y End Sub Public Sub Proc(n As Integer, ByVal m As Integer. n=n Mod 10 m=m Mod 10 End Sub

    A.1232

    B.232

    C.23

    D.123


    正确答案:B

  • 第23题:

    在窗体上画一个名称为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。

  • 第24题:

    下列定义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