试题与答案

已知C源程序如下: #include<stdio.h> #include<strin

题型:问答题

题目:

已知C源程序如下:
#include<stdio.h>
#include<string.h>
void reverse(char s[]){
int C, i, J;
for(i=0, j=strlen(s)-1; i<j; i++, j++){
c=s[i];
s[i]=s[j];
s[j]=c;
}
}
void getHex(int number, char s[]){
int I;
i=0;
while(number>0){
if(number%16<10)
s[i++]=number%16+’0’;
else
switch(number%16){
case 10: s[i++]=’A’; break;
case 11: s[i++]=’B’; break;
case 12: s[i++]=’C’; break;
case 13: s[i++]=’D’; break;
case 14: s[i++]=’E’; break;
case 15: s[i++]=;F’; break;
default: printf("Error"); break;
}
number/=16;
}
s[i]=’\0’;
reverse(S);
}
int main(){
unsigned int nmnber;
int i=0;
char s[50];
printf("%s", "please input number: \n");
scanf("%d", &number);
getHex(number, s);
i=0;
while(s[i])
printf("%c", s[i++]);
return 0;
}

设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支率无法达到100%,需说明为什么。

答案:

参考答案:

解析:设计测试用例: ①输入0,输出0 ②输入2,输出2 ③输入26,输出1A ④输入27,输出1B ⑤输入28,输出1C ⑥输入29,输出1D ⑦输入30,输出1E ⑧输入31,输出1F ⑨输入20P,输出错误 语句覆盖率无法达到100%,因为main()函数中的return 0语句永远无法执行。

试题推荐
题型:问答题 案例分析题

患儿,男性,10岁,以发热,咳嗽1周,胸痛2天为主诉入院,患儿于一周前受凉后开始出现发热,体温高达39.5℃,咳嗽呈阵发性,已行抗炎治疗,效果不明显,近几日咳嗽加剧,同时出现胸痛,呼吸困难,故就诊。入院查体:T:39.8℃,P:135次/分,R:55次/分,BP100/60mmHg。精神萎靡,呼吸浅促,唇周略发绀,鼻翼扇动,面色苍白,两侧瞳孔等大等圆,对光反射存。咽充血,气管居中,颈无抵抗。右侧肋间隙饱满,呼吸运动减弱,叩诊浊音,右肺呼吸音减弱,心率135次/分,律齐,无杂音。腹软,肝脾未及。脊柱四肢无畸形,四肢肌张力正常,无脑膜刺激征,病理反射未引出。实验室检查:血常规:Hb100g/L,WBC16.8×109/L,N78%,L21%。CRP20mg/L。X线检查:X线胸片示右肺中下部密度较高的均匀阴影,上缘斜凹,外侧高于内侧。左肺可见片状浸润影。

诊断依据

查看答案
微信公众账号搜索答案