(1)算法的空間復(fù)雜度是指
A)算法程序的長(zhǎng)度
B)算法程序中的指令條數(shù)
C)執(zhí)行算法程序所占的存儲(chǔ)空間
D)算法執(zhí)行過程中所需要的存儲(chǔ)空間
【答案】D
【解析】算法的空間復(fù)雜度一般是指這個(gè)算法執(zhí)行時(shí)所需要的內(nèi)存空間,其中包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間以及算法執(zhí)行過程中所需要的額外空間,其中額外空間還包括算法程序執(zhí)行過程的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲(chǔ)空間。
(2)線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是一種
A)隨機(jī)結(jié)構(gòu)
B)順序結(jié)構(gòu)
C)索引結(jié)構(gòu)
D)散列結(jié)構(gòu)
【答案】B
【解析】線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的每一個(gè)存儲(chǔ)結(jié)點(diǎn)不僅含有一個(gè)數(shù)據(jù)元素,還包括指針,每一個(gè)指針指向一個(gè)與本結(jié)點(diǎn)有邏輯關(guān)系的結(jié)點(diǎn)。此類存儲(chǔ)方式屬于順序存儲(chǔ)。
(3)設(shè)有下列二叉樹:對(duì)此二叉樹先序遍歷的結(jié)果是
A)ABCDEF
B)DBEAFC
C)ABDECF
D)DEBFCA
【答案】C
【解析】二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求先序遍歷;遍歷順序應(yīng)該為:訪問根結(jié)點(diǎn)->先序遍歷左子樹->先序遍歷右子樹。按照定義,先序遍歷序列是ABDECF。
(4)編制一個(gè)好的程序,首先要保證它的正確性和可靠性,還應(yīng)強(qiáng)調(diào)良好的編程風(fēng)格,在書寫功能性注釋時(shí)應(yīng)考慮
A)僅為整個(gè)程序作注釋
B)僅為每個(gè)模塊作注釋
C)為程序段作注釋
D)為每個(gè)語句作注釋
【答案】C
【解析】功能性注釋是嵌在源程序體中的,用以描述其后的語句或程序段是在做什么工作,或者執(zhí)行了下面的語句會(huì)怎么樣。所以它描述的是一段程序,是為程序段做注釋,而不是每條語句。
(5)下列哪個(gè)是面向?qū)ο蟪绦蛟O(shè)計(jì)不同于其他語言的主要特點(diǎn)?
A)繼承性
B)消息傳遞
C)多態(tài)性
D)靜態(tài)聯(lián)編
【答案】A
【解析】繼承是一個(gè)子類直接使用父類的所有屬性和方法。它可以減少相似的類的重復(fù)說明,從而體現(xiàn)出一般性與特殊性的原則,這使得面向?qū)ο蟪绦蛟O(shè)計(jì)語言有了良好的重用性,也是其不同于其他語言的主要特點(diǎn)。
(6)需求分析最終結(jié)果是產(chǎn)生
A)項(xiàng)目開發(fā)計(jì)劃
B)需求規(guī)格說明書
C)設(shè)計(jì)說明書
D)可行性分析報(bào)告
【答案】B
【解析】需求分析應(yīng)交付的主要文檔就是需求規(guī)格說明書。
(7)在進(jìn)行單元測(cè)試時(shí),常用的方法是
A)采用白盒測(cè)試,輔之以黑盒測(cè)試
B)采用黑盒測(cè)試,輔之以白盒測(cè)試
C)只使用白盒測(cè)試
D)只使用黑盒測(cè)試
【答案】A
【解析】白盒測(cè)試是測(cè)試程序內(nèi)部邏輯結(jié)構(gòu),黑盒測(cè)試只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。從程序內(nèi)部的邏輯結(jié)構(gòu)對(duì)系統(tǒng)進(jìn)行測(cè)試才是測(cè)試的根本,更容易發(fā)現(xiàn)和解決程序中的問題,因此單元測(cè)試時(shí)應(yīng)該以白盒測(cè)試為主,而黑盒測(cè)試為輔。
(8)數(shù)據(jù)庫(kù)是()的集合,它具有統(tǒng)一的結(jié)構(gòu)格式并存放于統(tǒng)一的存儲(chǔ)介質(zhì),可被各個(gè)應(yīng)用程序所共享。
A)視圖
B)消息
C)數(shù)據(jù)
D)關(guān)系
【答案】C
【解析】數(shù)據(jù)庫(kù)是數(shù)據(jù)的集合,其中的數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,它能構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu),以建立數(shù)據(jù)之間的內(nèi)在聯(lián)系與復(fù)雜的關(guān)系。
(9)下列敘述中,不正確的是
A)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題
B)數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
C)數(shù)據(jù)庫(kù)設(shè)計(jì)是指設(shè)計(jì)一個(gè)能滿足用戶要求,性能良好的數(shù)據(jù)庫(kù)
D)數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),但是需要操作系統(tǒng)的支持
【答案】B
【解析】數(shù)據(jù)庫(kù)應(yīng)該具有物理獨(dú)立性和邏輯獨(dú)立性,改變其一而不影響另一個(gè)。
(10)規(guī)范化理論中,分解()是消除其中多余的數(shù)據(jù)相關(guān)性。
A)關(guān)系運(yùn)算
B)內(nèi)模式
C)外模式
D)視圖
【答案】A
【解析】數(shù)據(jù)庫(kù)規(guī)范化的基本思想是逐步消除數(shù)據(jù)依賴中不合適的部分,根本思想是通過分解關(guān)系運(yùn)算來消除多余的數(shù)據(jù)相關(guān)性。
(11)以下說法中,不正確的是
A)C程序中必須有一個(gè)main()函數(shù),從main()函數(shù)的第一條語句開始執(zhí) 行
B)非主函數(shù)都是在執(zhí)行主函數(shù)時(shí),通過函數(shù)調(diào)用或嵌套調(diào)用而執(zhí)行
C)C程序中的main()函數(shù)必須放在程序的開始位置
D)C程序中的main()函數(shù)位置可以任意指定
【答案】C
【解析】main()函數(shù)的作用,以及main()函數(shù)在程序中出現(xiàn)的位置。一個(gè)完整的C語言程序有且僅有一個(gè)主函數(shù)(main()函數(shù))。程序總從main()函數(shù)的第一條語句開始執(zhí)行,到main()函數(shù)的最后一條語句結(jié)束,其他函數(shù)都是在執(zhí)行main()函數(shù)時(shí),通過函數(shù)調(diào)用或嵌套調(diào)用而得以執(zhí)行的。C語言規(guī)定,main()函數(shù)在程序中的位置是任意的。
(12)變量a已被定義為整型,下列表達(dá)式不正確的是
A)a='A'+20
B)a-='a'
C)a=c+【答案】D
D)a='c'+'d'
【答案】C
【解析】在C語言中,字符變量可參與任何整數(shù)運(yùn)算。本題中只有C有錯(cuò),因?yàn)镃選項(xiàng)中c、d如果是字符常量,應(yīng)有單引號(hào),如果是變量,應(yīng)該提前定義。
(13)下面程序的輸出結(jié)果是
#include <stdio.h>
main()
{int i=010,j=10;
printf("%d,%d",++i,j--);
}
A)11,10
B)9,10
C)010,9
D)10,9
【答案】B
【解析】程序中i的值用八進(jìn)制表示(十進(jìn)制為8),++i是在變量使用前自身先加1,而j--是在變量使用后自身減1。
(14)下面可以作為C語言用戶標(biāo)識(shí)符的一組是
A)void define WOR【答案】D
B)a3_b3 _123 IF
C)for --abc case
D)2a D0 sizeof
【答案】B
【解析】在C語言中,合法的標(biāo)識(shí)符可以由字母、數(shù)字和下劃線組成,其中關(guān)鍵字不能作為用戶的標(biāo)識(shí)符,且開頭的第一個(gè)字符必須為字母或下劃線。選項(xiàng)A中void為關(guān)鍵字;選項(xiàng)C中for和case為關(guān)鍵字;選項(xiàng)D中sizeof為關(guān)鍵字。
(15)下面哪一個(gè)不是正確的賦值語句?
A)a++;
B)a==b;
C)a+=b;
D)a=1,b=1;
【答案】B
【解析】C語言中賦值語句是由賦值表達(dá)式加“;”構(gòu)成的。賦值表達(dá)式的形式為:變量=表達(dá)式;。選項(xiàng)A中a++相當(dāng)于a+1,是賦值語句;選項(xiàng)C和選項(xiàng)D也是賦值語句。只有選項(xiàng)B不是,因?yàn)檫x項(xiàng)B中“==”符號(hào)是等于的意思,并不是賦值運(yùn)算符。
(16)若有定義:int a=8,b=5,c;執(zhí)行語句c=a/b+0.4;后,c的值為
A)1.4
B)1
C)2.0
D)2
【答案】B
【解析】在表達(dá)式中根據(jù)運(yùn)算的結(jié)合性和運(yùn)算符的優(yōu)先級(jí),首先計(jì)算的是a/b(8/5=1),再將1+0.4賦值給c,由于c為整型變量所以要將1.4轉(zhuǎn)換為整型,即舍棄小數(shù)位(c的值變?yōu)?)。
(17)若變量a是int類型,并執(zhí)行了語句:a='A'+1.6;則正確的敘述是
A)a的值是字符C
B)a的值是浮點(diǎn)型
C)不允許字符型和浮點(diǎn)型相加
D)a的值是字符'A'的ASCII值加上1。
【答案】D
【解析】在C語言中規(guī)定允許不同類型的量進(jìn)行運(yùn)算,但在運(yùn)算時(shí)需轉(zhuǎn)換成高級(jí)的類型進(jìn)行運(yùn)算。在表達(dá)式中有字符型和實(shí)型參加運(yùn)算時(shí),統(tǒng)一轉(zhuǎn)換為實(shí)型再運(yùn)算,當(dāng)運(yùn)算結(jié)果存入變量時(shí)再轉(zhuǎn)換為該變量的類型
A)算法程序的長(zhǎng)度
B)算法程序中的指令條數(shù)
C)執(zhí)行算法程序所占的存儲(chǔ)空間
D)算法執(zhí)行過程中所需要的存儲(chǔ)空間
【答案】D
【解析】算法的空間復(fù)雜度一般是指這個(gè)算法執(zhí)行時(shí)所需要的內(nèi)存空間,其中包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間以及算法執(zhí)行過程中所需要的額外空間,其中額外空間還包括算法程序執(zhí)行過程的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲(chǔ)空間。
(2)線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是一種
A)隨機(jī)結(jié)構(gòu)
B)順序結(jié)構(gòu)
C)索引結(jié)構(gòu)
D)散列結(jié)構(gòu)
【答案】B
【解析】線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的每一個(gè)存儲(chǔ)結(jié)點(diǎn)不僅含有一個(gè)數(shù)據(jù)元素,還包括指針,每一個(gè)指針指向一個(gè)與本結(jié)點(diǎn)有邏輯關(guān)系的結(jié)點(diǎn)。此類存儲(chǔ)方式屬于順序存儲(chǔ)。
(3)設(shè)有下列二叉樹:對(duì)此二叉樹先序遍歷的結(jié)果是
A)ABCDEF
B)DBEAFC
C)ABDECF
D)DEBFCA
【答案】C
【解析】二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求先序遍歷;遍歷順序應(yīng)該為:訪問根結(jié)點(diǎn)->先序遍歷左子樹->先序遍歷右子樹。按照定義,先序遍歷序列是ABDECF。
(4)編制一個(gè)好的程序,首先要保證它的正確性和可靠性,還應(yīng)強(qiáng)調(diào)良好的編程風(fēng)格,在書寫功能性注釋時(shí)應(yīng)考慮
A)僅為整個(gè)程序作注釋
B)僅為每個(gè)模塊作注釋
C)為程序段作注釋
D)為每個(gè)語句作注釋
【答案】C
【解析】功能性注釋是嵌在源程序體中的,用以描述其后的語句或程序段是在做什么工作,或者執(zhí)行了下面的語句會(huì)怎么樣。所以它描述的是一段程序,是為程序段做注釋,而不是每條語句。
(5)下列哪個(gè)是面向?qū)ο蟪绦蛟O(shè)計(jì)不同于其他語言的主要特點(diǎn)?
A)繼承性
B)消息傳遞
C)多態(tài)性
D)靜態(tài)聯(lián)編
【答案】A
【解析】繼承是一個(gè)子類直接使用父類的所有屬性和方法。它可以減少相似的類的重復(fù)說明,從而體現(xiàn)出一般性與特殊性的原則,這使得面向?qū)ο蟪绦蛟O(shè)計(jì)語言有了良好的重用性,也是其不同于其他語言的主要特點(diǎn)。
(6)需求分析最終結(jié)果是產(chǎn)生
A)項(xiàng)目開發(fā)計(jì)劃
B)需求規(guī)格說明書
C)設(shè)計(jì)說明書
D)可行性分析報(bào)告
【答案】B
【解析】需求分析應(yīng)交付的主要文檔就是需求規(guī)格說明書。
(7)在進(jìn)行單元測(cè)試時(shí),常用的方法是
A)采用白盒測(cè)試,輔之以黑盒測(cè)試
B)采用黑盒測(cè)試,輔之以白盒測(cè)試
C)只使用白盒測(cè)試
D)只使用黑盒測(cè)試
【答案】A
【解析】白盒測(cè)試是測(cè)試程序內(nèi)部邏輯結(jié)構(gòu),黑盒測(cè)試只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。從程序內(nèi)部的邏輯結(jié)構(gòu)對(duì)系統(tǒng)進(jìn)行測(cè)試才是測(cè)試的根本,更容易發(fā)現(xiàn)和解決程序中的問題,因此單元測(cè)試時(shí)應(yīng)該以白盒測(cè)試為主,而黑盒測(cè)試為輔。
(8)數(shù)據(jù)庫(kù)是()的集合,它具有統(tǒng)一的結(jié)構(gòu)格式并存放于統(tǒng)一的存儲(chǔ)介質(zhì),可被各個(gè)應(yīng)用程序所共享。
A)視圖
B)消息
C)數(shù)據(jù)
D)關(guān)系
【答案】C
【解析】數(shù)據(jù)庫(kù)是數(shù)據(jù)的集合,其中的數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,它能構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu),以建立數(shù)據(jù)之間的內(nèi)在聯(lián)系與復(fù)雜的關(guān)系。
(9)下列敘述中,不正確的是
A)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題
B)數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
C)數(shù)據(jù)庫(kù)設(shè)計(jì)是指設(shè)計(jì)一個(gè)能滿足用戶要求,性能良好的數(shù)據(jù)庫(kù)
D)數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),但是需要操作系統(tǒng)的支持
【答案】B
【解析】數(shù)據(jù)庫(kù)應(yīng)該具有物理獨(dú)立性和邏輯獨(dú)立性,改變其一而不影響另一個(gè)。
(10)規(guī)范化理論中,分解()是消除其中多余的數(shù)據(jù)相關(guān)性。
A)關(guān)系運(yùn)算
B)內(nèi)模式
C)外模式
D)視圖
【答案】A
【解析】數(shù)據(jù)庫(kù)規(guī)范化的基本思想是逐步消除數(shù)據(jù)依賴中不合適的部分,根本思想是通過分解關(guān)系運(yùn)算來消除多余的數(shù)據(jù)相關(guān)性。
(11)以下說法中,不正確的是
A)C程序中必須有一個(gè)main()函數(shù),從main()函數(shù)的第一條語句開始執(zhí) 行
B)非主函數(shù)都是在執(zhí)行主函數(shù)時(shí),通過函數(shù)調(diào)用或嵌套調(diào)用而執(zhí)行
C)C程序中的main()函數(shù)必須放在程序的開始位置
D)C程序中的main()函數(shù)位置可以任意指定
【答案】C
【解析】main()函數(shù)的作用,以及main()函數(shù)在程序中出現(xiàn)的位置。一個(gè)完整的C語言程序有且僅有一個(gè)主函數(shù)(main()函數(shù))。程序總從main()函數(shù)的第一條語句開始執(zhí)行,到main()函數(shù)的最后一條語句結(jié)束,其他函數(shù)都是在執(zhí)行main()函數(shù)時(shí),通過函數(shù)調(diào)用或嵌套調(diào)用而得以執(zhí)行的。C語言規(guī)定,main()函數(shù)在程序中的位置是任意的。
(12)變量a已被定義為整型,下列表達(dá)式不正確的是
A)a='A'+20
B)a-='a'
C)a=c+【答案】D
D)a='c'+'d'
【答案】C
【解析】在C語言中,字符變量可參與任何整數(shù)運(yùn)算。本題中只有C有錯(cuò),因?yàn)镃選項(xiàng)中c、d如果是字符常量,應(yīng)有單引號(hào),如果是變量,應(yīng)該提前定義。
(13)下面程序的輸出結(jié)果是
#include <stdio.h>
main()
{int i=010,j=10;
printf("%d,%d",++i,j--);
}
A)11,10
B)9,10
C)010,9
D)10,9
【答案】B
【解析】程序中i的值用八進(jìn)制表示(十進(jìn)制為8),++i是在變量使用前自身先加1,而j--是在變量使用后自身減1。
(14)下面可以作為C語言用戶標(biāo)識(shí)符的一組是
A)void define WOR【答案】D
B)a3_b3 _123 IF
C)for --abc case
D)2a D0 sizeof
【答案】B
【解析】在C語言中,合法的標(biāo)識(shí)符可以由字母、數(shù)字和下劃線組成,其中關(guān)鍵字不能作為用戶的標(biāo)識(shí)符,且開頭的第一個(gè)字符必須為字母或下劃線。選項(xiàng)A中void為關(guān)鍵字;選項(xiàng)C中for和case為關(guān)鍵字;選項(xiàng)D中sizeof為關(guān)鍵字。
(15)下面哪一個(gè)不是正確的賦值語句?
A)a++;
B)a==b;
C)a+=b;
D)a=1,b=1;
【答案】B
【解析】C語言中賦值語句是由賦值表達(dá)式加“;”構(gòu)成的。賦值表達(dá)式的形式為:變量=表達(dá)式;。選項(xiàng)A中a++相當(dāng)于a+1,是賦值語句;選項(xiàng)C和選項(xiàng)D也是賦值語句。只有選項(xiàng)B不是,因?yàn)檫x項(xiàng)B中“==”符號(hào)是等于的意思,并不是賦值運(yùn)算符。
(16)若有定義:int a=8,b=5,c;執(zhí)行語句c=a/b+0.4;后,c的值為
A)1.4
B)1
C)2.0
D)2
【答案】B
【解析】在表達(dá)式中根據(jù)運(yùn)算的結(jié)合性和運(yùn)算符的優(yōu)先級(jí),首先計(jì)算的是a/b(8/5=1),再將1+0.4賦值給c,由于c為整型變量所以要將1.4轉(zhuǎn)換為整型,即舍棄小數(shù)位(c的值變?yōu)?)。
(17)若變量a是int類型,并執(zhí)行了語句:a='A'+1.6;則正確的敘述是
A)a的值是字符C
B)a的值是浮點(diǎn)型
C)不允許字符型和浮點(diǎn)型相加
D)a的值是字符'A'的ASCII值加上1。
【答案】D
【解析】在C語言中規(guī)定允許不同類型的量進(jìn)行運(yùn)算,但在運(yùn)算時(shí)需轉(zhuǎn)換成高級(jí)的類型進(jìn)行運(yùn)算。在表達(dá)式中有字符型和實(shí)型參加運(yùn)算時(shí),統(tǒng)一轉(zhuǎn)換為實(shí)型再運(yùn)算,當(dāng)運(yùn)算結(jié)果存入變量時(shí)再轉(zhuǎn)換為該變量的類型