使用等价类划分法对下面程序代码进行测试if(X>3&&X<10){语句}请写出划分的几个等价类

使用等价类划分法对下面程序代码进行测试if(X>3&&X<10){语句}请写出划分的几个等价类,第1张

等价类划分法是一种黑盒测试方法,它将输入域划分为等价类,每个等价类代表一组相似的输入,以便测试用例能够覆盖每个等价类至少一次。在这个程序中,我们可以将输入域划分为以下等价类:

等价类1:X<=3,这个等价类代表不满足条件的情况,即X小于等于3。

等价类2:3

=10,这个等价类代表不满足条件的情况,即X大于等于10。

因此,我们需要至少设计一个测试用例来覆盖每个等价类。例如:

测试用例1:X=2,属于等价类1。

测试用例2:X=5,属于等价类2。

测试用例3:X=12,属于等价类3。

当我们使用这些测试用例进行测试时,可以覆盖输入域中的每个等价类,以确保程序的正确性。

gets(a) 输入字符串

a[i] 代表第i个字符;

word_num 代表单词个数;

in_word 为控制变量与a[i]=' '(空格)联系;

第一步:输入字符串;

第二步:初始化 word_num=0;in_word==0;

第三步:进入字符循环 for(i=0;a[i];i++)

第四步:进入判断条件 if(a[i]==' ') (37);

else if(in_word==0)

当i=0时,单词首字母不为空格字符,不满足if的判断条件,此时in_word=0;满足else if语句的判断条件,执行语句(38),这时word_num=1;in_word=1;接着执行第二次循环,即i=1,如果a[1]不等于空格,则接着执行第三次循环,直到第i次循环时,第i个字符a[i]=' '(空格)时,则执行语句(37),即in_word=0,接着执行else if语句,此时word_num=2;in_word=1;然后周而复始的判断执行执行;

简单的说就是遇见单词的首字母时,word_num加1

建议楼主最好列表观察,这也是分析代码算法的方法,尤其是循环过程可以更清晰的看出word_num和in_word的变化过程。

如果对你有所帮助,请记得采纳最佳答案,谢谢!

while(t=0)实际上是t=0,然后while(t)。对于有些编程语言,while()里面本来应该是返回bool型的表达式,而有些编程语言中把0当成false,非0当成true,比如你可以用while(true),也可以用while(1)。while(t=0)实际上就是while(false)。

10、阅读下面的程序,指出程序能实现的功能是什么?对每条指令加注释,程序执行后,R0、R7、A、30H单元的内容是什么?

CLR A

MOV R0,#30H

MOV R7,#16

LP: XCH A,@R0

INC R0

DJNZ R7,LP

RET

功能是把从30H开始的15个RAM单元的内容向高字节移动一个字节,30H清零。

执行后R0=40H;R7=0H;A=原3FH单元中的内容;30H=0H。

9、下述程序执行后SP=?、A=?、B=?,解释每一条指令的作用。

ORG 1000H ;

MOV SP,#60H

MOV A,#30H

LCALL 1200H;SP=62H

ADD A,#10H ;A=40H

MOV B, A;B=40H

SWAP A;对A进行半字节交换,A=04H

HERE: SJMP HERE

ORG 1200H

MOV DPTR,#100AH

PUSH DPL

PUSH DPH

RET

执行后:SP=62H;A=04H;B=40H

1 #include <stdioh>

2 main()

3 { float s[5];

4 int I,sz=0;

5 for(I=0;I<5;I++)

6 scanf("%d",s+I);

7 for(I=0;I<5;I++)

8 sz+=s[I];

9 printf("\n%f",(float)sz);

10 }

A) 没有错误

B) 第4行错误

C) 第6行错误

D) 第9行错误

C s数组是实型,不能用整型输入

下列合法的数组定义是( )。

A) int a[]="string";

B) int a[5]={0,1,2,3,4,5};

C) char a="string";

D) char a[]={0,1,2,3,4,5};

D Aa[]是整形不对 B有6个元素 C若是char a[]="string"; 就对了

以下程序段给数组所有的元素输入数据,请选择正确答案填入( )。

#include <stdioh>

main()

{

int a[10],i=0;

while(i<10)

scanf("%d",______);

}

A) a+(i++)

B) &a[i+1]

C) a+i

D) &a[i++]

D AC显然不对 B没有输入a[0]的值

设有:

static char str[]="Beijing";

则执行:

printf("%d\n",strlen(strcpy(str,"China")));

后的输出结果为( )。

A) 5

B) 7

C) 12

D) 14

A strcpy为字符串拷贝函数 strlen为字符串统计函数

阅读下面的程序

main()

{

inn[2],I,j,k;

for(I=0;I<2;I++)

n[I]=0;

k=2;

for(I=0;I<k;I++)

for(j=0;j<k;j++)

n[j]=n[I]+1;

printf("%d\n",n[k]);

}

上面程序的输出结果是( )。

A) 不确定的值

B) 3

C) 2

D) 1

题有问题

for(I=0;I<2;I++)

n[I]=0;

初始化n[0],n[1]为0

4次循环

for(I=0;I<k;I++)

for(j=0;j<k;j++)

n[j]=n[I]+1;

得n[0]=3,n[1]=4执行

printf("%d\n",n[2]); n[2]本身就不对,越界了

定义如下变量和数组:

int I;

int x[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是( )。For(I=0;I<3;I++)

printf("%d ",x[I][2-I]);

A) 1 5 9

B) 1 4 7

C) 3 5 7

D) 3 6 9

A I=0输出(0)(2)=3,I=1输出X(1)(1)=5,I=2输出X(2)(0)=7

若有以下说明:

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};

char c='a',d,g;

则数值为4的表达式是( )。

A) a[g-c]

B) a[4]

C) a['d'-'c']

D) a['d'-c]

D A是不确定的值,B得5,C得2

Printf("%d\n",strlen("\t\"\065\xff\n));

A) 5

B) 14

C) 8

D) 输出项不合法,无正常输出

A 有5个逃逸字元

\t 水平制表符Tab

\" 双引号

\065 以8进制表示的5

\xff 以16进制表示的无名字符。打印出来显示为占两个字符位的空格

\n 换行符

若有以下定义和语句:

char s[10];

s="abcd";

printf("%s\n",s);

则输出的结果是( )。

A) 输出abcd

B) 输出a

C) 输出abcd

D) 编译不通过

D 字符串不能负值给地址应为s[]="abcd";

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

#include <stdioh>

main()

{

char ch[7]={"65ab21"};

int I,s=0;

for(I=0;ch[I]>='0'&&ch[I]<='9';I+=2)

s=10s+ch[I]-'0';

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

}

A) 12ba56

B) 6521

C) 6

D) 62

C 第一次ch[0]=6第二次ch[2]=a跳出 s=6

下述函数引用中,( )是含有错误的。其中s的定义如下:

char s[10];

A) scanf("%10s",s);

B) printf("%5s",s);

C) puts(s+3);

D) gets(s);

C 若字符串s[10]只有一个字符 如a \0,s+3指向的s[3]未分配内存

定义如下数组s:

char s[40];

若准备将字符串“This is a string”记录下来,( )是错误的输入语句。

A) gets(s+2);

B) scanf("%20s",s);

C) for(I=0;I<17;I++)

S[I]=getchar();

D) while((c=getchar())!='\n')

s[I++]=c;

C 只是输入This is a string没有输入\n

这是一个乘法表,也是一个矩阵。

外层循环,i 从 1 开始到 9

内层循环,对于每个 i,有一个 j 从 1 到 9,分别输出 i 1, i 2, i 9

内层循环结束后,输出一个换行,继续对下一个 i 进行同样的 *** 作

最后输出一个九行九列的表格,第 i 行 第 j 列的值就是 i j:

以上就是关于使用等价类划分法对下面程序代码进行测试if(X>3&&X<10){语句}请写出划分的几个等价类全部的内容,包括:使用等价类划分法对下面程序代码进行测试if(X>3&&X<10){语句}请写出划分的几个等价类、C语言程序题补充题、对于下面的程序段, t=1 while(t=0) {;}中的循环控制表达式的值是多少等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9360219.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存