有如下c语言方面的题目

有如下c语言方面的题目,第1张

int k;

float a,x;

scanf("%d%f%f",&k,&a,&x);

printf("%d,%2f,%f",k,a,x);

注:a要输入几位小数,就(?)就可以 ,否则默认是6位

请求输入字符串,需要的是存放字符串位置的起始地址,A错,S本来就是地址了,无需&s。B没有为S分配内存,也就是没有存放字符串的位置,错,C正确,&S[2],是字符串第三个字符的位置,也是指针正确。

至于D不正确,因为char s[20],t = s;

编译系统需要读完这一句话,才能编译S,而在读完这句话之前,编译系统不认识S,所以t=s无法赋值成功。错误

(第四个选项我是这样理解的,不是很肯定,要是单选就是C,要是多选,你编译一下试试吧。我这机子上没编译系统)

B)运行程序段后输出1

!x在x不为0时才为0,所以执行一次++x之后x=1,!x=0不满足!x 不等于0的条件,跳出循环。

此时循环内语句执行一次,x先执行++然后取值赋给s,所以s为1。

c语言写法: void test(int X, int y, int z) { if (y>1&&z==0) y=X/A; if (y==2|| X>1) X=X 1; }

语句覆盖是指选择足够的测试用du例,使得运行这些测试用例时,被测程序的每一个语句至少执行一次,其覆盖标准无法发现判定中逻辑运算的错误;

路径覆盖是每条可能执行到的路径至少执行一次;if A and B then Action1 if C or D then Action2 语句覆盖,只需要让程序中的语句都执行一遍即可 。

上例中只需设计测试用例使得A=true B=true C=true 即可。路径覆盖:要求覆盖程序中所有可能的路径。

所以可以设计测试用例满足下列条件

(1)A=true,B=true,C=true,D=true

(2)A=false,B=false,C=false,D=false

(3)A=true,B=true,C=false,D=false(4)A=false,B=false,C=true,D=true。

扩展资料:

条件组合覆盖,也称多条件覆盖MCC (Multiple Condition Coverage),设计足够多的测试用例,使得每个判定中条件的各种可能组合都至少出现一次(以数轴形式划分区域,提取交集,建立最少的测试用例)。这种方法包含了“分支覆盖”和“条件覆盖”的各种要求。满足条件组合覆盖一定满足判定覆盖、条件覆盖、判定条件覆盖。

例如上边的Coverage类中第8行“if(A==2 or X>1)”代码,所有可能的条件组合为:

“A==2,X>1”、“A==2,X<=1”和“A!=2,X>1”三种。在条件覆盖中仅需考虑到这三种的一种即可,而在条件组合覆盖中需要都考虑到。

条件组合覆盖率的公式:条件组合覆盖率=被评价到的条件取值组合的数量/条件取值组合的总数

条件组合覆盖的缺点:判定语句较多时,条件组合值比较多。

参考资料来源:百度百科-逻辑覆盖

以上就是关于有如下c语言方面的题目全部的内容,包括:有如下c语言方面的题目、以下正确的程序段是、5、设有以下程序段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存