阅读下面程序,下列选项中,能够完成语句覆盖的测试用例是() if((x>4)||(z<7)) { k=x*y-1; j=sqrt(k); } if((x==8)&&(y>5)) { j=x%y+2; } j=j%3;A、x=2,y=6,z=5B、x=6,y=6,z=5C、x=8,y=6,z=4D、x=8,y=5,z=5

题目

阅读下面程序,下列选项中,能够完成语句覆盖的测试用例是() if((x>4)||(z<7)) { k=x*y-1; j=sqrt(k); } if((x==8)&&(y>5)) { j=x%y+2; } j=j%3;

  • A、x=2,y=6,z=5
  • B、x=6,y=6,z=5
  • C、x=8,y=6,z=4
  • D、x=8,y=5,z=5

相似考题
更多“阅读下面程序,下列选项中,能够完成语句覆盖的测试用例是() if((x4)||(z7)) { k=x*y-1; j=sqrt(k); } if((x==8)(y5)) { j=x%y+2; } j=j%3;A、x=2,y=6,z=5B、x=6,y=6,z=5C、x=8,y=6,z=4D、x=8,y=5,z=5”相关问题
  • 第1题:

    已知x=5,y=2,z=6。表达式x>y And z>x Or xy的值是()。A.FalseB.TrueC.1D.0

    已知x=5,y=2,z=6。表达式x>y And z>x Or x<y And Not z>y的值是( )。

    A.False

    B.True

    C.1

    D.0


    正确答案:A
    解析:此题只有关系运算符和逻辑运算符,应先算关系运算符。所有关系运算符运算过后,上式变成:TrueAndFalseOrFalseAndNotTrue。对于逻辑运算符,应先算Not,再算And,最后算Or。最后的结果是False。

  • 第2题:

    单击按钮时,以下程序运行后的输出结果是 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。

  • 第3题:

    设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是()。A.x&&yB.x<=yC.x‖y+z&am

    设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是( )。

    A.x&&y

    B.x<=y

    C.x‖y+z&&y-z

    D.!((x<y)&&!z‖1)


    正确答案:D
    解析:本题考查逻辑运算符的使用。当“&&”的两个运算对象都是逻辑1时,表达式才返回值是1;当“‖”的两个运算对象至少有一个是逻辑1时,表达式返回值是1。选项A)中,x和y都是逻辑1,所以返回值是1;选项B)中,x=4=y=6为逻辑1,所以返回值是1;选项C中,y+z的值等于14,非0,y-z的值为-2,非0,所以逻辑表达式4‖14&&-2的值不为0;选项D)中,xy为1,!z为0,1&&0为1,0‖1为1,因此,!1为0。

  • 第4题:

    运行如下程序段:

    K=l

    y=1

    z=1

    For j=1 To?

    For k=1 To 3

    If j=1 Then

    x=x + y +z

    Else If j=2Then

    x=2*x+2*y+2*z

    E1se

    x=3*x+3*y+3*z

    End If

    Next k

    Next j

    x的值应是【 】


    正确答案:2346
    2346 解析:当j=1时,内层循环执行x=x+y+z=x+2三次,所以x=7:
    当j=2时,内层循环执行x=2*x+2*y+2*z=2*x+4三次,所以x=84:
    当j=3时,内层循环执行x=3*x+3*y+3*z=3。x+6三次,所以x=2346。
    则最后的结果是:x=2346。

  • 第5题:

    下面程序的输出结果是( )。 #include "stdio.h" fun (x int x { int y=0; static int z=5; z=x++,y++; return(Z); } main() { int a=4,i,j; for(i=0;i<2;i++) j=fun(a++); printf("%d",j); }

    A.0

    B.3

    C.4

    D.5


    正确答案:D
    解析:本题在fun()函数中定义了一个静态局部变量z,在第一次调用此函数时,z被初始化为5,而以后的调用2都会保留上次调用后的值。主函数通过一个for循环,二次调用fun()函数,第1次调用实参表达式a++的值为4,执行z=x++,y++;语句,因运算符“=”的优先级高于“,”,故z的值为表达式x++的值,x++是先对z赋值再对x加1,则z的值为4。第二次调用实参表达式a++的值为5,返回结果也为5,所以最后输出结果是5。D为所选。

  • 第6题:

    有一段程序如下,请设计测试用例以满足语句覆盖要求。 void DoWork (int x,int y,int z) { int k=0,j=0; if ( (x>3)&&(z5) ) { j=x*y+10; } //语句块2 j=j%3; //语句块3 }


    正确答案:要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。

  • 第7题:

    下面程序执行的结果是( )。 CLEAR X=5 Y=6 Z=7 IF X>Y IF Z>8 X=X+Y ELSE X=X+Z ENDIF ENDIF ?X

    A.5

    B.11

    C.12

    D.13


    正确答案:A
    解析:在IF-ENDIF语句中,当表达式为真时,则执行IF语句之后、ELSE或ENDIF语句(以先出现的语句为准)之前的所有命令;当表达式为假时,则执行ELSE语句之后、ENDIF语句之前的所有命令。而且ELSE应该与距离它最近的不带ELSE的IF配对。本题第一个IF没有相应的ELSE配对,且表达式为假,直接输出X的值。

  • 第8题:

    单击按钮时,以下列程序运行后的输出结果是 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,2) Print x;x;z Call proc1(x,y,y) Print x;y;y End Sub

    A.6 6 12 6 6 10

    B.9 5 10 5 10 10

    C.9 6 12 9 10 15

    D.9 5 10 5 4 10


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

  • 第9题:

    已知曲面方程为x-yZ+z2-2x+8y+6z=10,则过点(5,-2.1)的切平面方程为( )。

    A、2x+3y+2z=0
    B、2x+y+2z=lO
    C、x-2y+6z=15
    D、x-2y+6z=0

    答案:B
    解析:

  • 第10题:

    指出下列关系模式是第几范式?并说明理由。 (1)R(X,Y,Z)F={XY→Z} (2)R(x,Y,z)F={Y→z,XZ→Y} (3)R(X,Y,Z)F={Y→Z,Y→X,X→YZ} (4)R(x,Y,z)F={X→Y,X→Z} (5)R(x,Y,Z)F={XY→Z} (6)R(W,X,Y,Z)F={X→Z,WX→Y}


    正确答案: (1)R是BCNF。R候选关键字为XY,F中只有一个函数依赖,而该函数依赖的左部包含了R的候选关键字XY。
    (2)R是3NF。R候选关键字为XY和XZ,R中所有属性都是主属性,不存在非主属性对的候选关键字的传递依赖。
    (3)R是BCNF。R候选关键字为X和Y,∵X→YZ,∴X→Y,X→Z,由于F中有Y→Z,Y→X,因此Z是直接函数依赖于X,而不是传递依赖于X。又∵F的每一函数依赖的左部都包含了任一候选关键字,∴R是BCNF。
    (4)R是BCNF。R的候选关键字为X,而且F中每一个函数依赖的左部都包含了候选关键字X。
    (5)R是BCNF。R的候选关键字为XY,而且F中函数依赖的左部包含了候选关键字XY。
    (6)R是1NF。R的候选关键字为WX,则Y,Z为非主属性,又由于X→Z,因此F中存在非主属性对候选关键字的部分函数依赖。

  • 第11题:

    过点(4,-1,3)且平行于直线L:(x-3)/2=y=(z-1)/5的直线方程为().

    • A、(x-4)/2=(y+1)/0=(z-3)/5
    • B、(x-4)/2=(y+1)/1=(z-3)/5
    • C、(x+4)/2=(y-1)/0=(z+3)/5
    • D、(x+4)/2=(y-1)/1=(z+3)/5

    正确答案:B

  • 第12题:

    单选题
    Which of the following choices could be equal to set Z ifX = {2, 5, 6, 7, 9} and Y = {2, 5, 7}X ∪ Y ∪ Z = {1, 2, 3, 4, 5, 6, 7, 8, 9}X ∩ Z = {2, 6}Y ∩ Z = {2}
    A

    Z= {1, 4, 8}

    B

    Z= {1, 3, 8}

    C

    Z= {1, 3, 4, 8}

    D

    Z= {1, 2, 3, 4, 6, 8}

    E

    Z= {1, 2, 3, 5, 6, 8}


    正确答案: B
    解析:
    We know that: X = {2, 5, 6, 7, 9} and Y = {2, 5, 7}, XYZ = {1, 2, 3, 4, 5, 6, 7, 8, 9}. This tells us that Z must contain {1, 3, 4, 8} because these elements are in the union of X, Y, and Z but not in set X and not in set Y.
    We also know that: XZ = {2, 6}, YZ = {2}. This tells us that Z must also contain {2, 6}. Only choice D contains all these elements. Z = {1, 2, 3, 4, 6, 8}

  • 第13题:

    运行如下程序段:

    x=1

    y=1

    Z=1

    For j=1 To 3

    For k=1 TO 3

    If j=1 Then

    x=x+y+2

    ElseIf j=2 Then

    x=2*x+2*y+2*z

    Else

    x=3*x+3*y+3*Z

    End If

    Next k

    Next j

    x的值应是【 】。


    正确答案:2346
    2346 解析:当j=1时,内层循环执行x=x+y+z=x+2三次,所以x=7;
    当j=2时,内层循环执行x=2*x+2*y+2*z=2*x+4三次,所以x=84;
    当j=3时,内层循环执行x=3*x+3*y+3*z=3*x+6三次,所以x=2346。
    则最后的结果是:x=2346。

  • 第14题:

    下列程序的输出结果是( )。 include main() { struct st { int y,x,z; }; union {long

    下列程序的输出结果是( )。 #include <stdio.h> main() { struct st { int y,x,z; }; union { long i; int j; char k; } un; printf("%d,%d\n",sizeof(struct st),sizeof(un)); }

    A.6, 2

    B.6, 4

    C.8, 4

    D.8, 6


    正确答案:B
    解析:本题主要考查结构体和联合内存使用的区别:结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立;联合所占用的内存空间为最长的成员所占用的空间。

  • 第15题:

    运行如下程序段:

    x=1

    y=1

    z=1

    For j=1 To 3

    Fork=1 To 3

    If j=1 Then

    x=x+y+z

    ElseIf j=2 Then

    x=2*x+2*y+2*Z

    Else

    x=3*x+3*y+3*Z

    End If

    Next k

    Next j

    x的值应是【 】


    正确答案:2346
    2346 解析:当j=1时,内层循环执行x=x+y+z=x+2三次,所以x=7;
    当j=2时,内层循环执行x=2*x+2*y+2*z=2*x+4三次,所以x=84;
    当j=3时,内层循环执行x=3*x+3*y+3*z=3*x+6三次,所以x=2346。
    则最后的结果是:x=2346。

  • 第16题:

    执行下面的程序后,输出的结果是 K=1 For j=1 To 4 X=X - 1: y=0 For k=1 To 4 X=X + 1: y=y + 1 Next k Next j Print X;y

    A.1 4

    B.13 4

    C.12 8

    D.20 6


    正确答案:B
    解析:本题是一个多重循环语句,是For…Next结构的两重迭用,根据“拨皮法”,一层一层分析可知,最后x=13,y=4。

  • 第17题:

    若有定义:intx,y,z;语句x=(y=z=3,++y,z+=y);运行后x的值为()。

    A.6

    B.7

    C.8

    D.3


    正确答案:B

  • 第18题:

    设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是( )。A.x&&y B.x<=y S

    设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是( )。

    A.x&&y

    B.x<=y

    C.x||y+z&&y-z

    D.!((x<y)&&!z||1)


    正确答案:D
    本题考查逻辑运算符的使用。当“&&”的两个运算对象都是逻辑1时,表达式返回值才是1;“||”的两个运算对象至少有一个是逻辑1时,表达式返回值也是1,x<y为1,!z为0,1&&0为1,0||为1,因此,!1为0。

  • 第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>3,Y<5)设计条件组合覆盖测试用例()

    • A、X=6,Y=3
    • B、X=6,Y=8
    • C、X=2,Y=3
    • D、X=2,Y=8

    正确答案:C

  • 第22题:

    经过点(6,-3,2)且与平面4x-y+2z=8平行的平面方程是()。

    • A、6x-3y+2z=31
    • B、4x-y+2z=31
    • C、6x-3y+2z=10
    • D、4x-y+2z=10

    正确答案:A

  • 第23题:

    单选题
    曲面x2+2y2+3z2=21在点(1,-2,2)的法线方程为(  )。
    A

    (x-1)/1=(y+2)/4=(z-2)/6

    B

    (x-1)/1=(y+2)/(-4)=(z-2)/6

    C

    (x-1)/6=(y+2)/(-4)=(z-2)/1

    D

    (x-1)/1=(y+2)/6=(z-2)/(-4)


    正确答案: D
    解析:
    构造函数F(x,y,z)=x2+2y2+3z2-21。则有Fx′(1,-2,2)=2,Fy′(1,-2,2)=-8,Fz′(1,-2,2)=12,则所求法线的方向向量为(1,-4,6)。又法线过点(1,-2,2),故所求法线方程为(x-1)/1=(y+2)/(-4)=(z-2)/6。