[問題3]
【答案】測試路徑:
Pathl:①→③
Path2:①→②→④→⑥→…
Path3:①→②→⑤→⑥→…
[問題4]
【答案】測試用例:
Path1:取n=1,datalist[0]=1,
預(yù)期結(jié)果:k=0
Path2:取:n=2,datalist[0]=1,datalist[1]=0,
預(yù)期結(jié)果:k=0
Path3:取n=2,datalist[0]=0,datalist[1]=1,
預(yù)期結(jié)果:k=1
【解析】本題考查對軟件測試概念和過程的理解,結(jié)合具體實(shí)例運(yùn)用各種測試技術(shù),學(xué)會測試用例設(shè)計(jì)、軟件測試與程序調(diào)試的方法。軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,其目的在于以最少的時間和人力系統(tǒng)地找出軟件中潛在的各種錯誤和缺陷。根據(jù)2004新大綱和最近兩次軟件設(shè)計(jì)師考試的真題,不難發(fā)現(xiàn)各類系統(tǒng)分析理論的實(shí)例化考核比例逐漸升溫,只要讀者平時對這部分知識的實(shí)例多分析、多思考,這部分分?jǐn)?shù)其實(shí)不難拿到。
●試題三
請補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:只保留字符串中的大寫字母,刪除其他字符,結(jié)果仍保存在原來的字符串中,由全局變量m對刪除后字符串的長度進(jìn)行保存。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫的若干表達(dá)式或語句。
試題程序:
#include<stdio.h>
#include<conio.h>
int m;
void fun(char *s)
{
int i=0,j=0;
char *p=s;
while(*(p+i))
{
if(*(p+i)>=′A′&&*(p+i)<=′Z′)
{
(1) ;
}
(2) ;
}
s[j]=′\0′;
(3) ;
}
main()
{
char str[80];
clrscr();
printf("\nEnter a string:");
gets(str);
printf("\n\nThe string is:\%s\n",str);
fun(str);
printf("\n\nThe string of changing
is:\%s\n",str);
printf("\n\nThe length of changed string
is:\%d\n",m);
}
●試題四
閱讀下列程序說明和C代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【程序4.1說明】
"背包問題"的基本描述是:有一個背包,能盛放的物品總重量為S,設(shè)有N件物品,其重量分別為w1,w2,...,wn,希望從N件物品中選擇若干件物品,所選物品的重量之和恰能放入該背包,即所選物品的重量之和等于S。
如下程序均能求得"背包問題"的一組解,其中程序4.1是"背包問題"的遞歸解法,而程序4.2是"背包問題"的非遞歸解法。
【程序4.1】
#include<stdio.h>
#define N 7
#define S 15
int w[N+1]={0,1,4,3,4,5,2,7};
int knap(int s,int n)
{ if(s==0)return 1;
if (s<0||(s>0& &n<1))return 0;
if( (1) )){
printf(″%4d″,w[n]);return 1;
}return (2) ;
}
main(){
if( knap(S,N))printf(″OK!\n″);
else printf(″N0!\n″);
}
希望與其他軟考考生進(jìn)行交流?點(diǎn)擊進(jìn)入軟考論壇>>>
更多信息請?jiān)L問:考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |