為大家收集整理了《2014年軟考軟件設(shè)計師練習(xí)題》供大家參考,希望對大家有所幫助!!!
1.關(guān)系模式R(U,F),其中U=(W,X,Y,Z),F(xiàn)={WX→Y,W→X,X,→Z,yVw}。關(guān)系模式R的候選碼是( 1 ),( 2 ) 是無損連接并保持函數(shù)依賴的分解。
A.W和Y
B.WY
C.WX
D.WZ
A.ρ={R1(WY),R2(XZ)}
B.ρ={R1(WZ),R2(XY)}
C.ρ={R1(WXY),R2(XZ)}
D.ρ={R1(WX),R2(YZ)}
2.類的實例化過程是一種實例的合成過程,而不僅僅是根據(jù)單個類型進(jìn)行的空間分配、初始化和綁定。指導(dǎo)編譯程序進(jìn)行這種合成的是( 3 )。
A.類層次結(jié)構(gòu)
B.實例的個數(shù)
C.多態(tài)的種類
D.每個實例的初始狀態(tài)
3.重置的基本思想是通過( 4 )機(jī)制的支持,使得子類在繼承父類界面定義的前提下,用適合于自己要求的實現(xiàn)去置換父類中的相應(yīng)實現(xiàn)。
A.靜態(tài)綁定
B.對象引用
C.類型匹配
D.動態(tài)綁定
答案:A C A D
4.MPEG視頻中的時間冗余信息可以采用_( 5 )_的方法來進(jìn)行壓縮編碼。
A.幀間預(yù)測和變換編碼
B.霍大曼編碼和運(yùn)動補(bǔ)償
C.變換編碼和行程編碼
D.幀間預(yù)測和運(yùn)動補(bǔ)償
5.假定每一車次具有的始發(fā)站和終點(diǎn)站。如果實體“列車時刻表”屬性為車次、始發(fā)站、發(fā)車時間、終點(diǎn)站、到達(dá)時間,該實體的主鍵是_( 6 );
如果實體“列車運(yùn)行表”屬性為車次、日期、發(fā)車時間、到達(dá)時間,該實體的主鍵是_( 7 )。通常情況下,上述“列車時刻表”和“列車運(yùn)行表”兩實體
型間_( 8 )聯(lián)系。
A.車次
B.始發(fā)站
C.發(fā)車時間
D.車次,始發(fā)站
A.車次
B.始發(fā)站
C.發(fā)車時間
D.車次,日期
A.不存在
B.存在一對一
C.存在一對多
D.存在多對多
答案:D A D C
1.語句"printf("%d\n"strlen("ats\nol2\1\\"));"的輸出結(jié)果是( )
①11
②10
③9
④8
【解】字符串中的字符可以是一般的普通字符,也可以是由反斜杠字符開頭的轉(zhuǎn)
義字符。在字符串"abs\no12\11\\" 中,有三個轉(zhuǎn)義字符,它們是\n、\1、\\,
所以該字符串的有效字符個數(shù)是9。所以正確的回答是③?!?BR> 2.函數(shù)調(diào)用“strcat(strcpy(strl,str2),str3)”的功能是( )
①將字符串strl復(fù)制到字符串str2中后再連接到字符串str3之后
②將字符串strl連接到字符串str2中后再復(fù)制到字符率str3之后
③將字符串str2復(fù)制到字符串strl中后再將字符串str3連接到字符串strl之后
④將字符串str2連接到字符率strl之后再將字符串strl復(fù)制到字符串str3中
【解】函數(shù)調(diào)用strcat(s1,s2)是將s2字符串復(fù)制連接到s1字符串之后,使s1字符
串變得更長。函數(shù)調(diào)用strcpy(s1,s2)是將s2字符串復(fù)制到s1,使s1字符串的內(nèi)容
與s2字符串的內(nèi)容相同。函數(shù)調(diào)用strcat(strcpy(strl,str2) ,str3) 是先執(zhí)行
strcpy(strl,str2),然后再執(zhí)行strcat(strl,str3),所以其功能是③.
3.設(shè)有如下定義,則正確的敘述為( )char x[]={"abcdefg"};char y[]={’
a’,’b’,’c’,’d’,’e’,’f’,’g’};
①數(shù)組x和數(shù)組y等價
②數(shù)組x和數(shù)組y長度相同
③數(shù)組X的長度大于數(shù)組y的長度
④數(shù)組X的長度小于數(shù)組y的長度
【解】不指定數(shù)組長度的字符數(shù)組定義,其所需要的字節(jié)數(shù)可由初始化中給出的值
的個數(shù)確定。字符數(shù)組可以用字符串初始化,也可用字符逐個給字符數(shù)組的元素初
始化。但用字符初始化時,盡管給出了字符串中的全部字符,還是不會自動有字符
率結(jié)束字符。但字符串初始化自動會含有字符串的結(jié)束標(biāo)記符,字符串初始化所需
要的字節(jié)個數(shù)會比用同樣多的字符初始化多1個字節(jié)。所以③才是正確的。
4.根據(jù)變量定義“static int b[5],a[][3]={1,2,3,4,5,6};”,b[4]=
( ),a=[1][2]
【解】系統(tǒng)規(guī)定,靜態(tài)變量定義時,若末初始化,系統(tǒng)自動給定二進(jìn)制代碼全0的
值。所以態(tài)數(shù)組b的元素全為0,當(dāng)然包括b[4]也為幾靜態(tài)數(shù)組a是二維數(shù)組,每行
有三個元素,在初始化中結(jié)出了六個初值,所以數(shù)組a有2行。由于數(shù)組的元素按
行順序存儲,并按行順序初始化。前三個值是第一行,后三個1][2]是第二行的第
三列元素,也是a的最后一個元素,所以其值是6?!?BR> 5.設(shè)有定義語句“static int a[3][4]={{1},{2},{3}};”則a[1][1]值為( ),
a[2]
[1]的值為( )?! ?BR> 【解】給二維數(shù)組初始化時,可按行給出初值,并且每行可以只給前面部分的元素
給出初值。系統(tǒng)規(guī)定,對哪些未給出初值的部分元素,系統(tǒng)自動置二進(jìn)制代碼全0
的值。由于定義語句只給a[0][0]給定初值1、a[1][0]給定初值2、a[2][0]給定初
值3。這樣,其它元素都為0值。所以,a[1][1]=( )。0,a[2][1]=( )?!?BR> 6.若在程序中用到“putchar( )”函數(shù)時,應(yīng)在程序開頭寫上包含命令( ),
若在程序中用到“strlen( )”函數(shù)時,應(yīng)在程序開頭寫上包含命令()。
【解】putchar()是系統(tǒng)提供的頭文件stdio.h中定義的宏,所以程序要使用它,必
須寫上包含命令:#include。函數(shù)strlen()是系統(tǒng)提供的字符串處理函數(shù)之一,字
符串處理函數(shù)的函數(shù)原型說明和它們用到的有關(guān)常量、數(shù)據(jù)結(jié)構(gòu)等,在系統(tǒng)提供的
頭文件tring.h中定義,所以使用該函數(shù)的程序應(yīng)在程序開頭寫上包含命令
并include
1. 在分支-限界算法設(shè)計策略中,通常采用( 1 )搜索問題的解空間。
A.深度優(yōu)先
B.愣扔畔取
C.自底向上
D.拓?fù)湫蛄?BR> 2. 在下列算法設(shè)計方法中,( 2 )在求解問題的過程中并不從整體
上加以考慮,而是做出在當(dāng)前看來是的選擇。利用該設(shè)
計方法可以解決( 3 )問題。
A.分治法
B.貪心法
C.動態(tài)規(guī)劃方法
D.回溯法
A.排序
B.檢索
C.背包
D.0/1背包
3. 以關(guān)鍵字比較為基礎(chǔ)的排序算法在最壞情況下的計算時間下界為
O(nlogn)。下面的排序算法中,在最壞情況下計算時間可以達(dá)到
O(nlogn)的是( 4 );該算法采用的設(shè)計方法是( 5 )。
A.歸并排序
B.插入排序
C.選擇排序
D.冒泡排序
A.分治法
B.貪心法
C.動態(tài)規(guī)劃方法
D.回溯法
答案:BBCAA
1.關(guān)系模式R(U,F),其中U=(W,X,Y,Z),F(xiàn)={WX→Y,W→X,X,→Z,yVw}。關(guān)系模式R的候選碼是( 1 ),( 2 ) 是無損連接并保持函數(shù)依賴的分解。
A.W和Y
B.WY
C.WX
D.WZ
A.ρ={R1(WY),R2(XZ)}
B.ρ={R1(WZ),R2(XY)}
C.ρ={R1(WXY),R2(XZ)}
D.ρ={R1(WX),R2(YZ)}
2.類的實例化過程是一種實例的合成過程,而不僅僅是根據(jù)單個類型進(jìn)行的空間分配、初始化和綁定。指導(dǎo)編譯程序進(jìn)行這種合成的是( 3 )。
A.類層次結(jié)構(gòu)
B.實例的個數(shù)
C.多態(tài)的種類
D.每個實例的初始狀態(tài)
3.重置的基本思想是通過( 4 )機(jī)制的支持,使得子類在繼承父類界面定義的前提下,用適合于自己要求的實現(xiàn)去置換父類中的相應(yīng)實現(xiàn)。
A.靜態(tài)綁定
B.對象引用
C.類型匹配
D.動態(tài)綁定
答案:A C A D
4.MPEG視頻中的時間冗余信息可以采用_( 5 )_的方法來進(jìn)行壓縮編碼。
A.幀間預(yù)測和變換編碼
B.霍大曼編碼和運(yùn)動補(bǔ)償
C.變換編碼和行程編碼
D.幀間預(yù)測和運(yùn)動補(bǔ)償
5.假定每一車次具有的始發(fā)站和終點(diǎn)站。如果實體“列車時刻表”屬性為車次、始發(fā)站、發(fā)車時間、終點(diǎn)站、到達(dá)時間,該實體的主鍵是_( 6 );
如果實體“列車運(yùn)行表”屬性為車次、日期、發(fā)車時間、到達(dá)時間,該實體的主鍵是_( 7 )。通常情況下,上述“列車時刻表”和“列車運(yùn)行表”兩實體
型間_( 8 )聯(lián)系。
A.車次
B.始發(fā)站
C.發(fā)車時間
D.車次,始發(fā)站
A.車次
B.始發(fā)站
C.發(fā)車時間
D.車次,日期
A.不存在
B.存在一對一
C.存在一對多
D.存在多對多
答案:D A D C
1.語句"printf("%d\n"strlen("ats\nol2\1\\"));"的輸出結(jié)果是( )
①11
②10
③9
④8
【解】字符串中的字符可以是一般的普通字符,也可以是由反斜杠字符開頭的轉(zhuǎn)
義字符。在字符串"abs\no12\11\\" 中,有三個轉(zhuǎn)義字符,它們是\n、\1、\\,
所以該字符串的有效字符個數(shù)是9。所以正確的回答是③?!?BR> 2.函數(shù)調(diào)用“strcat(strcpy(strl,str2),str3)”的功能是( )
①將字符串strl復(fù)制到字符串str2中后再連接到字符串str3之后
②將字符串strl連接到字符串str2中后再復(fù)制到字符率str3之后
③將字符串str2復(fù)制到字符串strl中后再將字符串str3連接到字符串strl之后
④將字符串str2連接到字符率strl之后再將字符串strl復(fù)制到字符串str3中
【解】函數(shù)調(diào)用strcat(s1,s2)是將s2字符串復(fù)制連接到s1字符串之后,使s1字符
串變得更長。函數(shù)調(diào)用strcpy(s1,s2)是將s2字符串復(fù)制到s1,使s1字符串的內(nèi)容
與s2字符串的內(nèi)容相同。函數(shù)調(diào)用strcat(strcpy(strl,str2) ,str3) 是先執(zhí)行
strcpy(strl,str2),然后再執(zhí)行strcat(strl,str3),所以其功能是③.
3.設(shè)有如下定義,則正確的敘述為( )char x[]={"abcdefg"};char y[]={’
a’,’b’,’c’,’d’,’e’,’f’,’g’};
①數(shù)組x和數(shù)組y等價
②數(shù)組x和數(shù)組y長度相同
③數(shù)組X的長度大于數(shù)組y的長度
④數(shù)組X的長度小于數(shù)組y的長度
【解】不指定數(shù)組長度的字符數(shù)組定義,其所需要的字節(jié)數(shù)可由初始化中給出的值
的個數(shù)確定。字符數(shù)組可以用字符串初始化,也可用字符逐個給字符數(shù)組的元素初
始化。但用字符初始化時,盡管給出了字符串中的全部字符,還是不會自動有字符
率結(jié)束字符。但字符串初始化自動會含有字符串的結(jié)束標(biāo)記符,字符串初始化所需
要的字節(jié)個數(shù)會比用同樣多的字符初始化多1個字節(jié)。所以③才是正確的。
4.根據(jù)變量定義“static int b[5],a[][3]={1,2,3,4,5,6};”,b[4]=
( ),a=[1][2]
【解】系統(tǒng)規(guī)定,靜態(tài)變量定義時,若末初始化,系統(tǒng)自動給定二進(jìn)制代碼全0的
值。所以態(tài)數(shù)組b的元素全為0,當(dāng)然包括b[4]也為幾靜態(tài)數(shù)組a是二維數(shù)組,每行
有三個元素,在初始化中結(jié)出了六個初值,所以數(shù)組a有2行。由于數(shù)組的元素按
行順序存儲,并按行順序初始化。前三個值是第一行,后三個1][2]是第二行的第
三列元素,也是a的最后一個元素,所以其值是6?!?BR> 5.設(shè)有定義語句“static int a[3][4]={{1},{2},{3}};”則a[1][1]值為( ),
a[2]
[1]的值為( )?! ?BR> 【解】給二維數(shù)組初始化時,可按行給出初值,并且每行可以只給前面部分的元素
給出初值。系統(tǒng)規(guī)定,對哪些未給出初值的部分元素,系統(tǒng)自動置二進(jìn)制代碼全0
的值。由于定義語句只給a[0][0]給定初值1、a[1][0]給定初值2、a[2][0]給定初
值3。這樣,其它元素都為0值。所以,a[1][1]=( )。0,a[2][1]=( )?!?BR> 6.若在程序中用到“putchar( )”函數(shù)時,應(yīng)在程序開頭寫上包含命令( ),
若在程序中用到“strlen( )”函數(shù)時,應(yīng)在程序開頭寫上包含命令()。
【解】putchar()是系統(tǒng)提供的頭文件stdio.h中定義的宏,所以程序要使用它,必
須寫上包含命令:#include。函數(shù)strlen()是系統(tǒng)提供的字符串處理函數(shù)之一,字
符串處理函數(shù)的函數(shù)原型說明和它們用到的有關(guān)常量、數(shù)據(jù)結(jié)構(gòu)等,在系統(tǒng)提供的
頭文件tring.h中定義,所以使用該函數(shù)的程序應(yīng)在程序開頭寫上包含命令
并include
1. 在分支-限界算法設(shè)計策略中,通常采用( 1 )搜索問題的解空間。
A.深度優(yōu)先
B.愣扔畔取
C.自底向上
D.拓?fù)湫蛄?BR> 2. 在下列算法設(shè)計方法中,( 2 )在求解問題的過程中并不從整體
上加以考慮,而是做出在當(dāng)前看來是的選擇。利用該設(shè)
計方法可以解決( 3 )問題。
A.分治法
B.貪心法
C.動態(tài)規(guī)劃方法
D.回溯法
A.排序
B.檢索
C.背包
D.0/1背包
3. 以關(guān)鍵字比較為基礎(chǔ)的排序算法在最壞情況下的計算時間下界為
O(nlogn)。下面的排序算法中,在最壞情況下計算時間可以達(dá)到
O(nlogn)的是( 4 );該算法采用的設(shè)計方法是( 5 )。
A.歸并排序
B.插入排序
C.選擇排序
D.冒泡排序
A.分治法
B.貪心法
C.動態(tài)規(guī)劃方法
D.回溯法
答案:BBCAA