二級C語言考試復(fù)習(xí)題庫(濃縮300題)_第1頁
二級C語言考試復(fù)習(xí)題庫(濃縮300題)_第2頁
二級C語言考試復(fù)習(xí)題庫(濃縮300題)_第3頁
二級C語言考試復(fù)習(xí)題庫(濃縮300題)_第4頁
二級C語言考試復(fù)習(xí)題庫(濃縮300題)_第5頁
已閱讀5頁,還剩143頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

PAGEPAGE1二級C語言考試復(fù)習(xí)題庫(濃縮300題)一、單選題1.在學(xué)校中,“班級”與“學(xué)生”兩個實(shí)體集之間的聯(lián)系屬于()關(guān)系。A、一對一B、一對多C、多對一D、多對多答案:B解析:實(shí)體之間通過聯(lián)系來建立關(guān)系,兩個實(shí)體集之間的聯(lián)系分為:①一對一關(guān)系;②一對多關(guān)系;③多對多關(guān)系。一個班包括多名學(xué)生,而一名學(xué)生只能屬于一個班級,所以“班級”與“學(xué)生”聯(lián)系屬于一對多關(guān)系。答案選擇B選項(xiàng)。2.下面不屬于軟件設(shè)計階段任務(wù)的是()。A、軟件的詳細(xì)設(shè)計B、軟件的總體結(jié)構(gòu)設(shè)計C、軟件的需求分析D、軟件的數(shù)據(jù)設(shè)計答案:C解析:軟件設(shè)計階段的任務(wù)包括:①結(jié)構(gòu)設(shè)計;②數(shù)據(jù)設(shè)計;③接口設(shè)計;④過程設(shè)計。軟件的需求分析確定是在需求分析階段完成的。答案選擇C選項(xiàng)。3.有以下程序:#includemain(){inta[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:switch(a[i]%2){case0:a[i]++;break;case1:a[i]--;}break;case1:a[i]=0;}for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A、3344B、2050C、3040D、0304答案:C解析:main函數(shù)的主體是一個for循環(huán)語句,for循環(huán)中包含一個switch語句,如果判斷條件為0則進(jìn)入第二個switch語句,如果判斷語句為1則執(zhí)行“a[i]=0”,最后將數(shù)組順序輸出。所以程序功能是將數(shù)組下標(biāo)為奇數(shù)的項(xiàng)設(shè)為0,數(shù)組下標(biāo)為偶數(shù)的項(xiàng),如果對應(yīng)的元素為偶數(shù)則加1,如果對應(yīng)的元素為奇數(shù)則減1。答案選擇C選項(xiàng)。4.一棵二叉樹的前序遍歷結(jié)果是ABCEDF,中序遍歷結(jié)果是CBAEDF,則其后序遍歷的結(jié)果是()。A、DBACEFB、CBFDEAC、FDAEBCD、FABEC答案:B解析:本題前序遍歷結(jié)果是ABCEDF,所以A為根結(jié)點(diǎn)。中序遍歷根結(jié)點(diǎn)在左右子樹之間,所以CB和EDF分別為左右子樹的中序遍歷結(jié)果。同理,在CB子樹中,B為父結(jié)點(diǎn),C為左子樹,在EDF子樹中,E為父結(jié)點(diǎn),DF為右子樹,DF中D為父結(jié)點(diǎn),F(xiàn)為右子樹。所以后續(xù)遍歷結(jié)果為CBFDEA。答案選擇B選項(xiàng)。5.下列關(guān)于數(shù)據(jù)庫特點(diǎn)的敘述中,錯誤的是()。A、數(shù)據(jù)庫能夠減少數(shù)據(jù)冗余B、數(shù)據(jù)庫中的數(shù)據(jù)可以共享C、數(shù)據(jù)庫中的表能夠避免一切數(shù)據(jù)的重復(fù)D、數(shù)據(jù)庫中的表既相對獨(dú)立又相互聯(lián)系答案:C解析:數(shù)據(jù)庫的主要特點(diǎn)是:①實(shí)現(xiàn)數(shù)據(jù)共享。②減少數(shù)據(jù)的冗余度。③數(shù)據(jù)的獨(dú)立性。④數(shù)據(jù)實(shí)現(xiàn)集中控制。⑤數(shù)據(jù)一致性和可維護(hù)性,以確保數(shù)據(jù)的安全性和可靠性。⑥故障恢復(fù)。數(shù)據(jù)庫中的表只能盡量避免數(shù)據(jù)的重復(fù),不能避免一切數(shù)據(jù)的重復(fù)。答案選擇C選項(xiàng)。6.設(shè)有關(guān)鍵碼序列(66,13,51,76,81,26,57,69,23),要按關(guān)鍵碼值遞增的次序排序,若采用快速排序法,并以第一個元素為劃分的基準(zhǔn),那么第一趟劃分后的結(jié)果為()。A、23,13,51,57,66,26,81,69,76B、13,23,26,51,57,56,81,76,69C、23,13,51,57,26,66,81,69,76D、23,13,51,57,81,26,66,69,76答案:C解析:設(shè)要排序的序列是A[0]……A[8],設(shè)置兩個變量i、j,開始的時候:i=0,j=8。先從后向前遍歷,發(fā)現(xiàn)j=8時,指向23<66,需要交換A[0]與A[8],得到:(23,13,51,76,81,26,57,69,66),j=8,i=0,A[j]=66;然后從前往后遍歷,發(fā)現(xiàn)i=3時,指向76>66,需要交換A[3]與A[8],得到:(23,13,51,66,81,26,57,69,76),j=8,i=3;第二次從后向前遍歷,發(fā)現(xiàn)j=6時,指向57<66,需要交換A[3]與A[6],得到:(23,13,51,57,81,26,66,69,66),j=6,i=3;第二次從前往后遍歷,發(fā)現(xiàn)i=4時,指向81>66,需要交換A[4]與A[6],得到:(23,13,51,57,66,26,81,69,66),j=4,i=6;第三次從后向前遍歷,發(fā)現(xiàn)j=5時,A[5]=26<66、需要交換A[5]與A[6],得到:(23,13,51,57,26,66,81,69,66),j=5,i=5;第三次從前往后遍歷,A[5]=66,i+1=j,第一趟排序結(jié)束,即所求為(23,13,51,57,26,66,81,69,66),答案選擇C選項(xiàng)。7.己知二叉樹后序遍歷序列是CDABE,中序遍歷序列是CADEB,它的前序遍歷序列是()。A、BCDEB、ECABDC、EACDBD、CDEAB答案:C解析:后序遍歷最后遍歷到根結(jié)點(diǎn),所以E為根結(jié)點(diǎn)。中序遍歷根結(jié)點(diǎn)在左右子樹之間,所以B為二叉樹的右子樹,CAD為左子樹。同理,在CAD分支中,A為CD的父結(jié)點(diǎn),C為A的左孩子,D為A的右孩子。根據(jù)所得樹的形狀,可得前序遍歷為EACDB。答案選擇C選項(xiàng)。8.下列敘述中正確的是()。A、可以用關(guān)系運(yùn)算符比較字符串的大小B、空字符串不占用內(nèi)存,其內(nèi)存空間大小是0C、兩個連續(xù)的單引號是合法的字符常量D、兩個連續(xù)的雙引號是合法的字符串常量答案:D解析:A項(xiàng)錯誤,關(guān)系運(yùn)算符不能比較字符串大小,可以用函數(shù)庫中的字符串比較函數(shù)來比較字符串的大??;B項(xiàng)錯誤,空字符串占用一個字節(jié)的內(nèi)存;C項(xiàng)錯誤,字符常量是用單引號把一個字符括起來;D項(xiàng)正確,兩個連續(xù)的雙引號是一個字符串常量,稱為空串。答案選擇D選項(xiàng)。9.以下關(guān)于C語言數(shù)據(jù)類型使用的敘述中錯誤的是()。A、若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類型B、若要保存帶有多位小數(shù)的數(shù)據(jù),可使用雙精度類型C、若要處理如“人員信息”等含有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型D、整數(shù)類型表示的自然數(shù)是準(zhǔn)確無誤差的答案:A解析:A項(xiàng)錯誤,C語言中沒有邏輯類型,在C++中才引入的;B項(xiàng)正確,float類型稱為單精度類型,double類型稱為雙精度類型,一般系統(tǒng)中,為float類型的變量分配4個字節(jié)的存儲單元,為double類型的變量分配8個字節(jié)的存儲單元。C項(xiàng)正確,struct結(jié)構(gòu)體,可以用來描述包含多種基本類型的復(fù)雜對象。D項(xiàng)正確,整數(shù)的表示是不存在誤差的。答案選擇A選項(xiàng)。10.對有序線性表(23,29,34,55,60,70,78)用二分法查找值為60的元素時,需要比較次數(shù)為()。A、1B、2C、3D、4答案:C解析:二分法查找法不斷的將序列分為可能包含和必然不包含的兩部分,本題流程為:①將60與中間的元素55進(jìn)行比較,60>55,所以60不可能在前4個元素中;②第二次將60與中間的元素70進(jìn)行比較,60<70,所以60不可能在后2個元素中;③第三次將60與中間元素60比較,這時查找成功。答案選擇C選項(xiàng)。11.以下選項(xiàng)中可用作C語言中合法用戶標(biāo)識符的是()。A、_123B、voidC、-abcD、2a答案:A解析:合法標(biāo)識符的命名規(guī)則是:標(biāo)識符可以由字母、數(shù)字和下劃線組成,并且第一個字符必須為字母或下劃線,其中,關(guān)鍵字在程序中都代表著固定的含義,不能另作他用。B項(xiàng)中void是關(guān)鍵字,不合法。C項(xiàng)和D項(xiàng)沒有以字母或下劃線開頭,不合法。答案選擇A選項(xiàng)。12.有三個關(guān)系R、S和T如下:則由關(guān)系R和S得到T的操作是()。A、自然連接B、交C、投影D、并答案:A解析:關(guān)系運(yùn)算中自然連接是使用等于運(yùn)算符比較被連接列的列值,但它使用選擇列表指出查詢結(jié)果集合中所包括的列,并刪除連接表中的重復(fù)列。B項(xiàng),交是指兩個關(guān)系的公共部分;C項(xiàng),投影是從表中選出指定的屬性值組成新表,是單目運(yùn)算;D項(xiàng),并運(yùn)算將結(jié)構(gòu)相同的兩個關(guān)系合并,合并后的關(guān)系包含兩個關(guān)系中的所有元組。答案選擇A選項(xiàng)。13.下列關(guān)于線性表的敘述中,不正確的是()。A、線性表可以是空表B、線性表是一種線性結(jié)構(gòu)C、線性表的所有結(jié)點(diǎn)有且僅有一個前件和后件D、線性表是由n個元素組成的一個有限序列答案:C解析:線性表是由n個元素組成的一種線性結(jié)構(gòu),當(dāng)n=0時線性表為空表。C項(xiàng)錯誤,線性表中,第一個結(jié)點(diǎn)沒有前件,最后一個結(jié)點(diǎn)沒有后件。答案選擇C選項(xiàng)。14.設(shè)有定義:intx=7,y=12;,則以下表達(dá)式值為3的是()。A、(y%=x)-(x%=5)B、y%=(x%=5)C、y%=x-x%5D、y%=(x-x%5)答案:A解析:A項(xiàng)正確,a%=b表示a=a%(b),A項(xiàng)可改寫成y=y%x,x=x%5,再計算y-x計算的結(jié)果為3,滿足題意;B項(xiàng)為0,C項(xiàng)為2,D項(xiàng)等同于C項(xiàng)。答案選擇A選項(xiàng)。15.設(shè)R是一個2元關(guān)系,有3個元組,S是一個3元關(guān)系,有3個元組。若T=R×S,則T的元組的個數(shù)為()。A、6B、8C、9D、12答案:C解析:R為n元關(guān)系,有p個元組S為m元關(guān)系,有q個元組。兩個關(guān)系笛卡兒積是一個n+m元的關(guān)系,元組個數(shù)是q×p。所以T的元組的個數(shù)為9個。答案選擇C選項(xiàng)。16.下列關(guān)系表達(dá)式中,結(jié)果為“假”的是()。A、(3+4)>6B、(3!=4)>2C、3<=4∥3D、(3<4)==1答案:B解析:A項(xiàng),先執(zhí)行3+4=7,7>6,結(jié)果為真;B項(xiàng),先執(zhí)行3!=4為真,即為1,1>2結(jié)果為假;C項(xiàng),先執(zhí)行3<=4結(jié)果為真,即1,再邏輯或運(yùn)算只要左邊值為1,就不在執(zhí)行右邊運(yùn)算,結(jié)果為真;D項(xiàng),先執(zhí)行3<4結(jié)果為真,即為1,再執(zhí)行1==1,結(jié)果為真。答案選擇B選項(xiàng)。17.有以下程序:#includemain(){intx=0,y=6;do{while(--y)x++;}while(y--);printf("%d,%d\n",x,y);}程序的運(yùn)行結(jié)果是()。A、5,0B、6,0C、5,-1D、6,-1答案:C解析:程序執(zhí)行過程為:執(zhí)行do…while的循環(huán)體:y=5,判斷y為真,x=1;y=4,x=2;y=3,x=3;y=2,x=4;y=1,x=5;y=0,判斷y為假,退出循環(huán)體。判斷do…while條件y=0為假,y=-1,退出循環(huán)。輸出x,y為5,-1,答案選擇C選項(xiàng)。18.要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母N時結(jié)束循環(huán)。若變量已正確定義,以下正確的程序段是()。A、while((ch=getchar())!='N')printf("%c",ch);B、while(ch=getchar()='N')printf("%c",ch);C、while(ch=getchar()=='N')printf("%c",ch);D、while((ch=getchar())=='N')printf("%c",ch);答案:A解析:A項(xiàng)正確,“(ch=getchar())!='N'”表示先把getchar()函數(shù)的返回值賦值給ch,然后判斷,當(dāng)讀入字母不為N時,ch與'N'不相等,執(zhí)行打印函數(shù)printf,當(dāng)讀入字母N時,ch與'N'相等,循環(huán)結(jié)束,同理知選項(xiàng)D錯誤。B項(xiàng)錯誤,“ch=getchar()='N'”表達(dá)式從右向左計算,會把′N′賦值給getchar()函數(shù)的返回值,而getchar()函數(shù)的返回值是右值,不可改變,出現(xiàn)編譯錯誤;C項(xiàng)錯誤,“ch=getchar()=='N'”中“==(等于)”的優(yōu)先級高于“=(賦值)”,它等價于“ch=(getchar()=='N')”,此時ch的取值是0或1。答案選擇A選項(xiàng)。19.有以下程序:#includemain(){inta,b,k,m,*p1,*p2;k=1,m=8;p1=&k,p2=&m;a=/*p1-m;b=*p1+*p2+6;printf("%d",a);printf("%d\n",b);}編譯時編譯器提示錯誤信息,你認(rèn)為出錯的語句是()。A、=/*p1-m;B、=*p1+*p2+6;C、k=1,m=8;D、p1=&k,p2=&m;答案:A解析:a=/*p1-m;語句不符合語法規(guī)范,可寫作a/=(*p1-m);,表示a=a/(*p1-m);。答案選擇A選項(xiàng)。20.有如下程序:#includemain(){inti,data;scanf("%d",&data);for(i=0;i<5;i++){if(i>data)break;printf("%d,",i);}}程序運(yùn)行時,從鍵盤輸入:3<回車>后,程序輸出結(jié)果為()。A、3,4,B、0,1,C、3,4,5,D、0,1,2,3,答案:D解析:break語句作用是結(jié)束整個循環(huán)過程,不再判斷循環(huán)的條件是否成立,在嵌套循環(huán)中,break語句只跳出最內(nèi)層的一層循環(huán)。程序執(zhí)行過程為:輸入3,則data=3;執(zhí)行for循環(huán),在i<=3時,if條件不成立,執(zhí)行語句printf("%d,",i);依次輸出i值,0,1,2,3;直到i=4時,if條件成立,執(zhí)行break退出for循環(huán)。答案選擇D選項(xiàng)。21.以下程序段中,與其他三個功能不同的程序段是()。A、s=0;i=1;for(;;){s+=i;i++;if(i<=10)break;}B、s=0,i=1;for(;i<=10;){s+=i;i++;}C、s=0;for(i=1;i<=10;i++){s+=i;}D、for(s=0,i=1;i<=10;s+=i,i++);答案:A解析:BCD項(xiàng)都表示對1到10進(jìn)行累加后賦給s,而A項(xiàng)中含break語句,循環(huán)體只執(zhí)行一次,結(jié)束整個循環(huán)過程。答案選擇A選項(xiàng)。22.下列敘述中正確的是()。A、棧與隊列都只能順序存儲B、循環(huán)隊列是隊列的順序存儲結(jié)構(gòu)C、循環(huán)鏈表是循環(huán)隊列的鏈?zhǔn)酱鎯Y(jié)構(gòu)D、棧是順序存儲結(jié)構(gòu)而隊列是鏈?zhǔn)酱鎯Y(jié)構(gòu)答案:B解析:棧是所有的插入與刪除都限定在表的同一端進(jìn)行的線性表;隊列是指允許在一端進(jìn)行插入,而在另一端進(jìn)行刪除的線性表,二者既可以順序存儲也可以鏈?zhǔn)酱鎯?。為了充分地利用?shù)組的存儲空間,把數(shù)組的前端和后端連接起來,形成一個環(huán)形的表,稱為循環(huán)隊列,因此循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu)。答案選擇B選項(xiàng)。23.以下選項(xiàng)中,合法的C語言實(shí)數(shù)是()。A、3.1e0.4B、2e0C、E13D、7.12E答案:B解析:實(shí)型常量指數(shù)形式由十進(jìn)制數(shù)加階碼標(biāo)志“e”或“E”以及階碼(只能為整數(shù),可以帶符號)組成。.2e0為指數(shù)形式實(shí)數(shù),B項(xiàng)正確。3.1e0.4,階數(shù)不是整數(shù),A項(xiàng)錯誤。E13階碼標(biāo)志前缺少十進(jìn)制數(shù),C項(xiàng)錯誤。7.12E缺少階碼,D項(xiàng)錯誤。答案選擇B選項(xiàng)。24.對于循環(huán)隊列,下列敘述中正確的是()。A、隊頭指針是固定不變的B、隊頭指針一定大于隊尾指針C、隊頭指針一定小于隊尾指針D、隊頭指針可以大于隊尾指針,也可以小于隊尾指針答案:D解析:在循環(huán)隊列中,用隊尾指針(rear)指向隊列中的隊尾元素,用隊頭指針(front)指向隊頭元素的前一個位置。在循環(huán)隊列中,一般情況下rear>front,當(dāng)存儲空間的最后一個位置被使用,而新元素要入隊時,如果存儲空間的第一個位置空閑,便可將元素插入到第一個位置,此時存儲空間的第一個位置作為隊尾,便有front>rear。所以答案選擇D選項(xiàng)。25.有以下程序:#includevoidfun(intx,inty,int*z){*z=y-x;}main(){inta,b,c;fun(10,5,&a);fun(7,a,&b);fun(a,b,&c);printf("%d,%d,%d\n",a,b,c);}程序運(yùn)行后的輸出結(jié)果是()。A、5,2,3B、-5,-12,-7C、-5,-12,-17D、5,-2,-7答案:B解析:程序執(zhí)行過程為:調(diào)用函數(shù)fun(10,5,&a),將變量a地址傳入函數(shù),a=5-10=-5;調(diào)用函數(shù)fun(7,a,&b),將變量b地址傳入函數(shù),b=-5-7=-12;調(diào)用函數(shù)fun(a,b,&c),將變量c地址傳入函數(shù),c=-12-(-5)=-7。輸出-5,-12,-7。答案選擇B選項(xiàng)。26.C語言中,最基本的數(shù)據(jù)類型包括()。A、整型、實(shí)型、邏輯型B、整型、字符型、數(shù)組C、整型、實(shí)型、字符型D、整型、實(shí)型、結(jié)構(gòu)體答案:C解析:C語言中,最基本的數(shù)據(jù)類型包括整型、實(shí)型、字符型,答案選擇C選項(xiàng)。27.在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負(fù)責(zé)數(shù)據(jù)的查詢、增加、刪除和修改等操作的是()。A、數(shù)據(jù)定義語言B、數(shù)據(jù)管理語言C、數(shù)據(jù)操縱語言D、數(shù)據(jù)控制語言答案:C解析:數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言包括:①數(shù)據(jù)定義語言(DDL),該語言負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;②數(shù)據(jù)操縱語言(DML),該語言負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢及增、刪、改等操作;③數(shù)據(jù)控制語言(DCL),該語言負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。答案選擇C選項(xiàng)。28.關(guān)系R經(jīng)過運(yùn)算σA=BùC>4ùD>3(R)的結(jié)果為()。RA、(c,c,11,4)B、(e,e,6,1)C、(a,a,2,4)D、(a,a,2,4)和(e,e,6,1)答案:A解析:本題目為選出屬于屬性B,同時屬性C大于4,并且屬性D大于3的元組,結(jié)果為(c,c,11,4),應(yīng)保留全部屬性。答案選擇A選項(xiàng)。29.有以下程序#includemain(){inta=1,b=0;for(;a<5;a++){if(a%2==0)break;continue;b+=a;}printf("%d\n",b);}程序運(yùn)行后的輸出結(jié)果是()。A、0B、1C、10D、4答案:A解析:該程序的for循環(huán)中,如果循環(huán)變量a為偶數(shù),則執(zhí)行break語句直接跳出循環(huán);如果a為奇數(shù),則直接執(zhí)行continue語句進(jìn)入下一次循環(huán)。因此無論a取何值,語句b+=a都不會執(zhí)行,即b沒有改變,最后輸出0。答案選擇A選項(xiàng)。30.執(zhí)行以下程序段后,w的值為()。intw='A',x=14,y=15;w=((x||y)&&(w<'a'));A、-1B、NULLC、1D、0答案:C解析:因?yàn)閤=14,y=15都是非零整數(shù),因此x||y=1。又因?yàn)?A'+32='a',知w<'a'也為真,因此(x||y)&&(w<'a')的值為1。答案選擇C選項(xiàng)。31.在長度為n的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是()。A、O(n)B、O(n2)C、O(log2n)D、O(nlog2n)答案:C解析:二分查找的最壞情況是不斷的二分直至無法再分時,仍然沒有查找成功。對于有序的線性表,二分查找法只需比較log2n次。答案選擇C選項(xiàng)。32.下列敘述中正確的是()。A、算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B、算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量C、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的D、算法的時間復(fù)雜度與空間復(fù)雜度一定相關(guān)答案:B解析:采用不同的存儲結(jié)構(gòu),數(shù)據(jù)處理效率是不同的,A項(xiàng)錯誤;算法的時間復(fù)雜度是指算法在計算機(jī)內(nèi)執(zhí)行時所需時間的度量,空間復(fù)雜度是指算法在計算機(jī)內(nèi)執(zhí)行時所需存儲空間的度量,二者不一定相關(guān),B項(xiàng)正確,D項(xiàng)錯誤;數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)存儲空間的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu),二者并非一一對應(yīng),C項(xiàng)錯誤。答案選B選項(xiàng)。33.下列敘述中正確的是()。A、算法就是程序B、設(shè)計算法時只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計C、設(shè)計算法時只需要考慮結(jié)果的可靠性D、以上三種說法都不對答案:D解析:A項(xiàng)錯誤,算法是指解題方案的準(zhǔn)確而完整的描述,算法不等于程序,也不等于計算方法;BC兩項(xiàng)錯誤,設(shè)計算法時,不僅要考慮對數(shù)據(jù)對象的運(yùn)算和操作,還要考慮算法的控制結(jié)構(gòu)。答案選擇D選項(xiàng)。34.有如下嵌套的if語句:if(a<b)if(a<c)k=a;elsek=c;elseif(b<c)k=b;elsek=c;以下選項(xiàng)中與上述if語句等價的語句是()。A、k=(a<b)?a:b;k=(b<c)?b:c;B、k=(a<b)?((b<c)?a:b):((b<c)?b:c);C、k=(a<b)?((a<c)?a:c):((b<c)?b:c);D、k=(a<b)?a:b;k=(a<c)?a:c;答案:C解析:C語言的語法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)合,與書寫格式無關(guān)。本題中,嵌套的if語句功能是將k賦值為abc中的最小值。A項(xiàng),沒有比較a、c的大??;B項(xiàng),當(dāng)ac時k賦值為b,此時b是最大值,與題意不符;D項(xiàng),中沒有比較bc大小。答案選擇C選項(xiàng)。35.數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫技術(shù)的重要特點(diǎn)之一。所謂數(shù)據(jù)獨(dú)立性是指()。A、數(shù)據(jù)與程序獨(dú)立存放B、不同的數(shù)據(jù)被存放在不同的文件中C、不同的數(shù)據(jù)只能被對應(yīng)的應(yīng)用程序所使用D、以上三種說法都不對答案:D解析:數(shù)據(jù)獨(dú)立性指數(shù)據(jù)獨(dú)立于應(yīng)用程序,是數(shù)據(jù)庫重要目標(biāo)之一,分為:①物理獨(dú)立,當(dāng)數(shù)據(jù)物理存儲變化時,應(yīng)用程序不變;②邏輯獨(dú)立,當(dāng)數(shù)據(jù)邏輯結(jié)構(gòu)改變時,應(yīng)用程序不變。答案選擇D選項(xiàng)。36.若變量已正確定義,有以下程序段i=0;doprintf("%d,",i);while(i++);printf("%d\n",i);其輸出結(jié)果是()。A、0,1B、0,0C、1,1D、程序進(jìn)入無限循環(huán)答案:A解析:首先進(jìn)入循環(huán)體,輸出0;while(i++)是先判定i是否為0,不管判定結(jié)果如何,都執(zhí)行i++。i等于0,判定結(jié)果為false,執(zhí)行i++,跳出do-while循環(huán),然后輸出1。答案選擇A選項(xiàng)。37.以下敘述中錯誤的是()。A、C語言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的B、用C語言編寫的源程序不能直接在計算機(jī)上運(yùn)行C、通過編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行D、在沒有安裝C語言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的exe文件答案:D解析:A項(xiàng)正確,C語言的可執(zhí)行程序是由一系列機(jī)器指令組成的;BC項(xiàng)正確,用C語言編寫的源程序必須經(jīng)過編譯,生成二進(jìn)制目標(biāo)代碼,再經(jīng)過連接才能運(yùn)行;D項(xiàng)錯誤,C語言經(jīng)過編譯鏈接后的二進(jìn)制目標(biāo)代碼可以脫離C語言集成開發(fā)環(huán)境獨(dú)立運(yùn)行。答案選擇D選項(xiàng)。38.有以下程序:#includeintfun(intx,inty){if(x==y)return(x);elsereturn((x+y)/2);}main(){inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));}程序運(yùn)行后的輸出結(jié)果是()。A、3B、6C、8D、12答案:B解析:fun的功能是求兩數(shù)的平均數(shù),并且參數(shù)和結(jié)果都為整型。題中是用一個函數(shù)作為另一個函數(shù)的參數(shù),所以應(yīng)該先做里面嵌套的函數(shù)即fun(b,c),值為5。fun(2*a,fun(b,c))即為計算fun(2*4,5),所以結(jié)果為(5+8)/2=6。答案選擇B選項(xiàng)。39.結(jié)構(gòu)化程序由順序、選擇、循環(huán)三種基本結(jié)構(gòu)組成,以下相關(guān)敘述錯誤的是()。A、三種基本結(jié)構(gòu)不可以嵌套使用B、順序結(jié)構(gòu)是按語句在程序中的先后順序逐條執(zhí)行,沒有分支,沒有轉(zhuǎn)移C、選擇結(jié)構(gòu)是根據(jù)不同的條件執(zhí)行不同分支中的語句D、循環(huán)結(jié)構(gòu)是根據(jù)條件決定是否重復(fù)、重復(fù)執(zhí)行多少次循環(huán)體語句答案:A解析:結(jié)構(gòu)化程序主要由3種基本控制結(jié)構(gòu)組成,順序結(jié)構(gòu)是最基本的算法結(jié)構(gòu),當(dāng)執(zhí)行由這些語句構(gòu)成的程序時,將按這些語句在程序中的先后順序逐條執(zhí)行,沒有分支,沒有轉(zhuǎn)移,沒有步驟之間的相互約束,沒有對某一步驟的多次使用,完全按照步驟的原有次序依次執(zhí)行,B選項(xiàng)敘述正確。選擇結(jié)構(gòu)根據(jù)不同的條件去執(zhí)行不同分支中的語句,C選項(xiàng)敘述正確。循環(huán)結(jié)構(gòu)就是根據(jù)各自的條件,使同一組語句重復(fù)執(zhí)行多次,D選項(xiàng)敘述正確。三種結(jié)構(gòu)可以嵌套使用,A選項(xiàng)敘述錯誤,答案選擇A選項(xiàng)。40.若有定義:inta=0,b=0,c=0,d=0;有C語言表達(dá)式(a++&&b++)?c++:d++,以下關(guān)于其執(zhí)行順序的敘述正確是()。A、先執(zhí)行a++,表達(dá)式a++的值為0,由此即可確定(a++&&b++)值為0,因此執(zhí)行d++B、先執(zhí)行a++,表達(dá)式a++的值為0;再執(zhí)行b++,表達(dá)式b++的值為0,由此可確定(a++&&b++)值為0,因此執(zhí)行d++C、先執(zhí)行a++,表達(dá)式a++的值為1;再執(zhí)行b++,表達(dá)式b++的值為1,由此可確定(a++&&b++)值為1,因此執(zhí)行c++D、先執(zhí)行b++,表達(dá)式b++的值為1;再執(zhí)行a++,表達(dá)式a++的值為1,由此可確定(a++&&b++)值為1,因此執(zhí)行c++答案:A解析:把握前置運(yùn)算和后置運(yùn)算的基本運(yùn)算規(guī)則。表達(dá)式1?表達(dá)式2:表達(dá)式3,若表達(dá)式1為真,則執(zhí)行表達(dá)式2,否則執(zhí)行表達(dá)式3。邏輯與運(yùn)算符遵循“短路求值”策略,即在進(jìn)行求值時,只要最終的結(jié)果已經(jīng)可以確定是假,求值過程便告終止,表達(dá)式(a++&&b++)中,左操作數(shù)a++的值為0,已經(jīng)可以確定整個邏輯表達(dá)式的結(jié)果為0,因此右操作數(shù)b++不再求解,直接執(zhí)行表達(dá)式3,即d++,答案選擇A選項(xiàng)。41.有以下程序:#includemain(){inta=1,b=2;while(a<6){b+=a;a+=2;b%=10;}printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A、5,11B、7,1C、7,11D、6,1答案:B解析:第一次循環(huán),a=1,b=b+a=3,a=a+2=3,b=b%10=3;第二次循環(huán),a=3,b=b+a=6,a=a+2=5,b=b%10=6;第三次循環(huán),a=5,b=b+a=11,a=a+2=7,b=b%10=1;結(jié)束循環(huán)。答案選擇B選項(xiàng)。42.以下函數(shù)的功能是計算a的n次方作為函數(shù)值返回:doublefun(doublea,intn){inti;doubles=1.0;for(i=1;i<=n;i++)s=______;returns;}為實(shí)現(xiàn)上述功能,函數(shù)中下畫線處應(yīng)填入的是()。A、s*iB、s*aC、s+i*iD、s+a*a答案:B解析:for循環(huán)語句,i=1時,s=s*a;i=2時,s=s*a*a=s*a2;i=n時,s=s*an。最后返回s。答案選擇B選項(xiàng)。43.下面屬于系統(tǒng)軟件的是()。A、財務(wù)管理系統(tǒng)B、編譯軟件C、編輯軟件WordD、殺毒軟件答案:B解析:應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件,如事務(wù)處理軟件,工程與科學(xué)計算軟件,學(xué)生成績管理系統(tǒng)、教務(wù)管理系統(tǒng)、瀏覽器、編輯軟件等應(yīng)用性質(zhì)不同的各種軟件。系統(tǒng)軟件是計算機(jī)管理自身資源,提高計算機(jī)使用效率并服務(wù)于其他程序的軟件,如操作系統(tǒng),編譯程序,匯編程序,數(shù)據(jù)庫管理系統(tǒng)等。支撐軟件是介于系統(tǒng)軟件和應(yīng)用軟件之間,協(xié)助用戶開發(fā)軟件的工具性軟件,包括輔助和支持開發(fā)和維護(hù)應(yīng)用軟件的工具軟件,如需求分析工具軟件,設(shè)計工具軟件,編碼工具軟件,測試工具軟件,維護(hù)工具軟件等。答案選擇B選項(xiàng)。44.對于“while(!E)s;”,若要執(zhí)行循環(huán)體s,則E的取值應(yīng)為()。A、E等于1B、E不等于0C、E不等于1D、E等于0答案:D解析:如果執(zhí)行循環(huán)體,要求!E成立,則E等于0。答案選擇D選項(xiàng)。45.以下敘述中正確的是()。A、函數(shù)的形參類型不能是指針類型B、函數(shù)的類型不能是指針類型C、設(shè)有指針變量為double*p,則p+1將指針p移動8個字節(jié)D、基類型不同的指針變量可以相互混用答案:C解析:C項(xiàng)正確,一般情況下,double類型的變量長度為8個字節(jié),對指針進(jìn)行加、減運(yùn)算時,數(shù)字“1”指1個存儲單元長度。A項(xiàng)錯誤,函數(shù)的形參可以是數(shù)值類型,也可以是指針類型;B項(xiàng)錯誤,C語言中有指向函數(shù)的指針,稱為函數(shù)指針;D項(xiàng)錯誤,int類型的指針只能指向int,不能指向double,基類型不同的指針變量不能混用。答案選擇C選項(xiàng)。46.已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97。以下不能將變量c中的大寫字母轉(zhuǎn)換為對應(yīng)小寫字母的語句是()。A、c=c+32B、c=('A'+c)%26-'a'C、=c-'A'+'a'D、c=(c-'A')%26+'a'答案:B解析:A項(xiàng),ASCII碼表中,同一字母的小寫碼比大寫碼數(shù)值上大32;B項(xiàng),模26運(yùn)算后得到0~25之間的數(shù),再與'a'相減結(jié)果是負(fù)數(shù);C項(xiàng),'a'-'A'=32;D項(xiàng),c-'A'取值在0~26,等價于C項(xiàng)。答案選擇B選項(xiàng)。47.以下描述中,不是線性表順序存儲結(jié)構(gòu)特征的是()。A、可隨機(jī)訪問B、需要連續(xù)的存儲空間C、不便于插入和刪除D、邏輯相鄰的數(shù)據(jù)物理位置上不相鄰答案:D解析:在計算機(jī)中用一組地址連續(xù)的存儲單元依次存儲線性表的各個數(shù)據(jù)元素稱為順序存儲,其中邏輯上相鄰的元素在物理位置上也相鄰。順序存儲結(jié)構(gòu)中可以隨機(jī)訪問元素,但插入和刪除需要移動大量數(shù)據(jù),耗費(fèi)資源。答案選擇D選項(xiàng)。48.在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是()。A、邏輯設(shè)計B、需求分析C、詳細(xì)設(shè)計D、物理設(shè)計答案:B解析:軟件開發(fā)階段包括:①需求分析;②總體設(shè)計;③詳細(xì)設(shè)計;④編碼;⑤測試。其中,需求分析階段常用的工具有數(shù)據(jù)流圖(DFD)和數(shù)據(jù)字典(DD)。答案選擇B選項(xiàng)。49.若有定義doublea=22;inti=0,k=18;,則不符合C語言規(guī)定的賦值語句是()。A、=a++,i++B、i=(a+k)<=(i+k)C、i=a%11D、i=!a答案:C解析:C項(xiàng)錯誤,在C語言的算術(shù)運(yùn)算符中,取余運(yùn)算符“%”的左右兩側(cè)的兩個運(yùn)算分量必須是整數(shù)。A項(xiàng),賦值運(yùn)算符的優(yōu)先級高于“,”運(yùn)算法,先進(jìn)行賦值;B項(xiàng),將“=”右邊的邏輯表達(dá)式的計算結(jié)果賦給變量i;D項(xiàng),首先對變量a求邏輯非操作,然后將結(jié)果賦值給變量i。答案選擇C選項(xiàng)。50.有語句:k=x<y?(y<z?1:0):0;以下選項(xiàng)中,與此語句功能相同的是()。A、if(x<y∥y<z)k=1;elsek=0;B、if(x<y)k=0;elseif(y<z)k=1;C、if(x<y)if(y<z)k=1;elsek=0;D、if(x<y&&y<z)k=1;elsek=0;答案:D解析:D項(xiàng)正確,題中,先判斷x<y是否成立,如果為假,直接返回0,如果為真,再判斷y<z,如果為真返回為1,否則返回0,綜合所知,只有x<y且y<z時返回1,否則返回0。答案選擇D選項(xiàng)。51.某系統(tǒng)結(jié)構(gòu)圖如下圖所示該系統(tǒng)結(jié)構(gòu)圖的深度是()。A、1B、2C、3D、4答案:C解析:從圖中可以看出系統(tǒng)共有3層,深度表示控制的層數(shù)。答案選擇C選項(xiàng)。52.在關(guān)系運(yùn)算中,選擇運(yùn)算的含義是()。A、在基本表中,選擇滿足條件的元組組成一個新的關(guān)系B、在基本表中,選擇需要的屬性組成一個新的關(guān)系C、在基本表中,選擇滿足條件的元組和屬性組成一個新的關(guān)系D、以上三種說法均是正確的答案:A解析:選擇運(yùn)算是指從關(guān)系中找出滿足給定條件的元組。選擇是從行的角度進(jìn)行的運(yùn)算,即水平方向抽取記錄。經(jīng)過選擇運(yùn)算得到的結(jié)果可以形成新的關(guān)系,其關(guān)系模式不變,但其中的元組是原關(guān)系的一個子集。答案選擇A選項(xiàng)。53.在數(shù)據(jù)庫設(shè)計中,描述數(shù)據(jù)間內(nèi)在語義聯(lián)系得到E-R圖的過程屬于()。A、邏輯設(shè)計階段B、需求分析階段C、概念設(shè)計階段D、物理設(shè)計階段答案:C解析:數(shù)據(jù)庫設(shè)計的需求分析階段是數(shù)據(jù)庫設(shè)計的第一階段,這一階段收集到的基礎(chǔ)數(shù)據(jù)和一組數(shù)據(jù)流圖是下一步設(shè)計概念結(jié)構(gòu)的基礎(chǔ)。數(shù)據(jù)庫概念設(shè)計的目的是分析數(shù)據(jù)間內(nèi)在的語義關(guān)聯(lián),在此基礎(chǔ)上建立一個數(shù)據(jù)的抽象模型。數(shù)據(jù)庫的邏輯設(shè)計主要工作是將E-R圖轉(zhuǎn)換成指定的關(guān)系數(shù)據(jù)庫中的關(guān)系模式。數(shù)據(jù)庫物理設(shè)計的主要目標(biāo)是對數(shù)據(jù)庫內(nèi)部物理結(jié)構(gòu)作調(diào)整并選擇合理的存取路徑,以提供數(shù)據(jù)庫訪問速度及有效利用存儲空間。答案選擇C選項(xiàng)。54.下面描述不屬于軟件特點(diǎn)的是()。A、軟件是一種邏輯實(shí)體,具有抽象性B、軟件在使用中不存在磨損、老化問題C、軟件復(fù)雜性高D、軟件使用不涉及知識產(chǎn)權(quán)答案:D解析:軟件具有以下特點(diǎn):①軟件是一種邏輯實(shí)體,具有抽象性;②軟件沒有明顯的制作過程;③軟件在使用期間不存在磨損、老化問題;④軟件對硬件和環(huán)境具有依賴性;⑤軟件復(fù)雜性高,成本昂貴;⑥軟件開發(fā)涉及諸多的社會因素,如知識產(chǎn)權(quán)等。答案選擇D選項(xiàng)。55.有以下程序#includemain(){inta=1,b=3,c=5;int*p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf("%d\n",c);}執(zhí)行后的輸出結(jié)果是()。A、4B、2C、1D、3答案:D解析:本題中*p=*p1*(*p2)=a*b=3,也就是將指針p所指存儲空間的值改為3,即c改為3。答案選擇D選項(xiàng)。56.程序段:intx=12;doubley=3.141593;printf("%d%8.6f",x,y);輸出結(jié)果是()。A、123.141593B、123.141493C、12,3.141593D、123.1415930答案:A解析:輸出的x與y間沒有空格,“%8.6f”代表總共8位寬度,包括小數(shù)點(diǎn),小數(shù)點(diǎn)后有6位小數(shù)。答案選擇A選項(xiàng)。57.下列關(guān)于算法復(fù)雜度敘述正確的是()。A、最壞情況下的時間復(fù)雜度一定高于平均情況的時間復(fù)雜度B、時間復(fù)雜度與所用的計算工具無關(guān)C、對同一個問題,采用不同的算法,則它們的時間復(fù)雜度是相同的D、時間復(fù)雜度與采用的算法描述語言有關(guān)答案:B解析:A項(xiàng)錯誤,最壞情況下的時間復(fù)雜度有可能與平均情況的時間復(fù)雜度相同;C項(xiàng)錯誤,對同一個問題,不同的算法時間復(fù)雜度有時可能差距很大;D項(xiàng)錯誤,算法的時間復(fù)雜度與實(shí)現(xiàn)算法的描述語言、運(yùn)行環(huán)境無關(guān),算法的時間復(fù)雜度是對算法執(zhí)行時所花時間的度量。答案選擇B選項(xiàng)。58.若變量已正確定義,有以下程序段:inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其輸出結(jié)果是()。A、程序段有語法錯誤B、3,5,3C、3,5,5D、3,5,7答案:B解析:a=3,b=5,因此a>b條件不成立,所以不執(zhí)行a=b。然后c=a=3。此時“c!=a”條件不成立,不執(zhí)行“c=b;”語句。結(jié)果為a=3,b=5,c=3。答案選擇B選項(xiàng)。59.有以下程序#includemain(){inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的運(yùn)行結(jié)果是()。A、852B、963C、741D、875421答案:A解析:該程序的運(yùn)行過程是y從9開始自減,每次判定y是否能被3整除,若是,則輸出--y后的值,能被3整除的y值分別為9、6、3,對應(yīng)輸出8、5、2,所以答案選擇A選項(xiàng)。60.有以下程序:#includemain(){inti=1,k=0;for(;i<6;){switch(i%3){case0:k++;case1:k++;break;case2:k++;continue;}i+=1;}printf("%d\n",k);}程序的運(yùn)行情況是()。A、形成無限循環(huán)B、輸出6C、輸出5D、輸出4答案:A解析:本題執(zhí)行過程為:i=1,k=0,i<6成立,執(zhí)行for循環(huán):i%3=1,匹配case1,k=1,退出switch,i=2;i<6成立,執(zhí)行for循環(huán):i%3=2,匹配case2,k=2,執(zhí)行continue,退出switch,且不執(zhí)行i+=1,i=2不變,i<6成立,執(zhí)行下一次for循環(huán),以后的循環(huán)情況完全一致,i=2不會改變,形成無限循環(huán)。答案選擇A選項(xiàng)。61.C語言程序中,運(yùn)算對象必須是整型數(shù)的運(yùn)算符是()。A、&&B、/C、%D、*答案:C解析:模運(yùn)算中不能出現(xiàn)浮點(diǎn)數(shù),運(yùn)算對象只能是整數(shù)。答案選擇C選項(xiàng)。62.程序調(diào)試的任務(wù)是()。A、設(shè)計測試用例B、驗(yàn)證程序的正確性C、發(fā)現(xiàn)程序中的錯誤D、診斷和改正程序中的錯誤答案:D解析:軟件測試的目的是盡可能多的發(fā)現(xiàn)錯誤。程序調(diào)試基于軟件測試時發(fā)現(xiàn)的錯誤,其任務(wù)是診斷和改正程序中的錯誤。答案選擇D選項(xiàng)。63.為了使模塊盡可能獨(dú)立,要求()。A、模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)B、模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱C、模塊的內(nèi)聚程度要盡量低,且各模塊間的偶合程度要盡量弱D、模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)答案:B解析:系統(tǒng)設(shè)計的質(zhì)量主要反映在模塊的獨(dú)立性上。評價模塊獨(dú)立性的主要標(biāo)準(zhǔn)有兩個:一是模塊之間的耦合,它表明兩個模塊之間互相獨(dú)立的程度;二是模塊內(nèi)部之間的關(guān)系是否緊密,稱為內(nèi)聚。一般來說,要求模塊之間的耦合盡可能地弱,即模塊盡可能獨(dú)立,而要求模塊的內(nèi)聚程度盡量地高。答案選擇B選項(xiàng)。64.以下定義語句中正確的是()。A、floata=1,*b=&a,*c=&b;B、inta=b=0;C、harA=65+1,b='b';D、oublea=0.0;b=1.1;答案:C解析:A項(xiàng)錯誤,b是指針變量,*c=&b表示將一個二級指針賦值給一個一級指針,應(yīng)該為*c=b或者**c=&b;B項(xiàng)錯誤,變量定義的時候不能用連續(xù)用等號,等號在定義是初始化的一種;D項(xiàng)錯誤,變量前為分號“;”表示前面的語句定義完畢,變量b的定義沒有指明變量類型。答案選擇C選項(xiàng)。65.有以下程序:#includemain(){inta=7;while(a--);printf("%d\n",a);}程序運(yùn)行后的輸出結(jié)果是()。A、-1B、0C、1D、7答案:A解析:“++”和“—”運(yùn)算,當(dāng)以前綴形式出現(xiàn)時,則先進(jìn)行加一或減一操作,再取值,當(dāng)以后綴形式出現(xiàn)時,則先取值,再進(jìn)行加一或減一操作。程序中執(zhí)行a--,直到while判斷為0時才跳出循環(huán),執(zhí)行下條語句,即a為0時再執(zhí)行a--,此時跳出while循環(huán),最終輸出的結(jié)果為-1。答案選擇A選項(xiàng)。66.下列關(guān)系模型中,術(shù)語解析不正確的是()。A、記錄,滿足一定規(guī)范化要求的二維表,也稱關(guān)系B、字段,二維表中的一列C、數(shù)據(jù)項(xiàng),也稱為分量,是每個記錄中的一個字段的值D、字段的值域,字段的取值范圍,也稱為屬性域答案:A解析:表中的每一行稱為一個記錄,也稱元組。答案選擇A選項(xiàng)。67.深度為7的二叉樹共有127個結(jié)點(diǎn),則下列說法中錯誤的是()。A、該二叉樹有一個度為1的結(jié)點(diǎn)B、該二叉樹是滿二叉樹C、該二叉樹是完全二叉樹D、該二叉樹有64個葉子結(jié)點(diǎn)答案:A解析:深度為7的二叉樹,前6層共有結(jié)點(diǎn)個數(shù)為26-1=63,則第7層有127-63=64個結(jié)點(diǎn),即第7層結(jié)點(diǎn)數(shù)達(dá)到最大值,故此二叉樹為滿二叉樹,也是完全二叉樹,該二叉樹沒有度為1的結(jié)點(diǎn),有64個葉子結(jié)點(diǎn)。答案選擇A選項(xiàng)。68.在三級模式之間引入兩層映象,其主要功能之一是()。A、使數(shù)據(jù)與程序具有較高的獨(dú)立性B、使系統(tǒng)具有較高的通道能力C、保持?jǐn)?shù)據(jù)與程序的一致性D、提高存儲空間的利用率答案:A解析:數(shù)據(jù)庫管理系統(tǒng)在數(shù)據(jù)庫的三級模式之間提供了兩層映象,包括:①外模式/模式映射,當(dāng)模式發(fā)生改變時,只要改變其映射,就可以使外模式保持不變,保證了邏輯獨(dú)立性;②模式/內(nèi)模式映射,當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)發(fā)生變化時,只需改變模式/內(nèi)模式映射,就能保持模式不變,保證了物理獨(dú)立性。答案選擇A選項(xiàng)。69.下面描述中,不屬于軟件危機(jī)表現(xiàn)的是()。A、軟件過程不規(guī)范B、軟件開發(fā)生產(chǎn)率低C、軟件質(zhì)量難以控制D、軟件成本不斷提高答案:A解析:軟件的危機(jī)表現(xiàn)包括:①軟件需求的增長得不到滿足,用戶對系統(tǒng)不滿意的情況經(jīng)常發(fā)生;②軟件開發(fā)成本和進(jìn)度無法控制;③軟件質(zhì)量難以保證;④軟件不可維護(hù)或維護(hù)程度非常低;⑤軟件的成本不斷提高;⑥軟件開發(fā)的生產(chǎn)效率的提高趕不上硬件的發(fā)展、生產(chǎn)率等問題。答案選擇A選項(xiàng)。70.在黑盒測試方式中,設(shè)計測試用例的主要根據(jù)是()。A、程序外部功能B、程序內(nèi)部邏輯C、程序數(shù)據(jù)結(jié)構(gòu)D、程序流程圖答案:A解析:黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試,完全不考慮程序內(nèi)部邏輯結(jié)構(gòu)和具體代碼,把程序看作是一個不能打開的黑盒子,依據(jù)軟件需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明,主要針對軟件界面和軟件功能進(jìn)行測試。答案選擇A選項(xiàng)。71.某個工廠有若干個倉庫,每個倉庫存放有不同的零件,相同零件可能放在不同的倉庫中。則實(shí)體倉庫和零件間的聯(lián)系是()。A、多對多B、一對多C、多對一D、一對一答案:A解析:實(shí)體集之間通過聯(lián)系來建立聯(lián)接關(guān)系包括:①一對一聯(lián)系(1:1);②一對多聯(lián)系(1:m);③多對多聯(lián)系(m:n)。每個倉庫存放有不同的零件,相同零件可能放在不同的倉庫中,所以實(shí)體倉庫和零件間的聯(lián)系是多對多。答案選擇A選項(xiàng)。72.下面不屬于軟件需求分析階段工作的是()。A、需求獲取B、需求計劃C、需求分析D、需求評審答案:B解析:需求分析階段的工作包括:①需求獲取;②需求分析;③編寫需求規(guī)格說明書;④需求評審。答案選擇B選項(xiàng)。73.有以下程序#includeintfun(inta,intb){returna+b;}main(){intx=6,y=7,z=8,r;r=fun(fun(x,y),z--);printf("%d\n",r);}程序運(yùn)行后的輸出結(jié)果是()。A、15B、21C、20D、31答案:B解析:函數(shù)的嵌套調(diào)用,fun函數(shù)的作用是計算兩個整數(shù)的和,r=fun(fun(x,y),z--)等價于:temp=fun(x,y),r=fun(temp,z--),則temp=fun(6,7)=13,然后r=fun(13,8)=21,最后執(zhí)行z--,得到z=7。答案選擇B選項(xiàng)。74.有如下程序:#includemain(){inti,data;scanf("%d",&data);for(i=0;i<5;i++){if(i<data)continue;printf("%d,",i);}printf("\n");}程序運(yùn)行時,從鍵盤輸入:3<回車>后,程序輸出結(jié)果為()。A、3,4,B、1,2,3,4,C、0,1,2,3,4,5,D、0,1,2,答案:A解析:continue語句只能用在循環(huán)結(jié)構(gòu)中,其作用是結(jié)束本次循環(huán),即不再執(zhí)行循環(huán)體中continue語句之后的語句,而是立即轉(zhuǎn)入對循環(huán)條件的判斷與執(zhí)行。本題執(zhí)行過程為:輸入3,則data=3;執(zhí)行for循環(huán),i=0,if條件成立,結(jié)束本次循環(huán),不輸出i值,執(zhí)行下一次循環(huán);直到i>=3,if條件不成立,依次輸出i值3,4,;直到i=5退出for循環(huán)。答案選擇A選項(xiàng)。75.有以下程序:#includemain(){intA=0,B=0,C=0;C=(A-=A-5);(A=B,B+=4);printf("%d,%d,%d\n",A,B,C);}程序運(yùn)行后輸出的結(jié)果是()。A、0,4,5B、4,4,5C、4,4,4D、0,0,0答案:A解析:C語言中可以將多條語句放在同一行,用“;”隔開。賦值運(yùn)算和逗號運(yùn)算都是從左到右結(jié)合。首先執(zhí)行A-=A-5,即A=A-(A-5),得A的值為5,然后執(zhí)行C=(A-=A-5),即將A的值5賦給變量C,使得C的值也為5。然后執(zhí)行下句逗號表達(dá)式中的A=B,把B的值0賦給A,此時A的值為0,然后執(zhí)行B=B+4,使得B的值為4,最后打印輸出。答案選擇A選項(xiàng)。76.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A、軟件集成測試計劃B、軟件詳細(xì)設(shè)計說明書C、用戶手冊D、軟件需求規(guī)格說明書答案:D解析:A項(xiàng),測試說明書是軟件測試階段生成的;B項(xiàng),軟件詳細(xì)設(shè)計說明書是設(shè)計階段生成的;C項(xiàng),用戶手冊是軟件發(fā)布時隨軟件一同交付給用戶的;D項(xiàng),需求分析階段只能生成需求分析規(guī)格說明書。答案選擇D選項(xiàng)。77.以下不能用于實(shí)型數(shù)據(jù)的運(yùn)算符是()。A、%B、/C、*D、+答案:A解析:“%”符號兩邊必須是整數(shù),答案選擇A選項(xiàng)。78.具有3個結(jié)點(diǎn)的二叉樹有()。A、2種形態(tài)B、4種形態(tài)C、7種形態(tài)D、5種形態(tài)答案:D解析:具有3個結(jié)點(diǎn)的二叉樹有以下幾種形態(tài):79.下列關(guān)于棧敘述正確的是()。A、棧頂元素最先能被刪除B、棧頂元素最后才能被刪除C、棧底元素永遠(yuǎn)不能被刪除D、棧底元素最先能被刪除答案:A解析:棧是先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),因此棧頂元素最后入棧卻最先被刪除,棧底元素最先入棧卻最后被刪除。答案選擇A選項(xiàng)。80.以下敘述中正確的是()。A、在對指針進(jìn)行加、減算術(shù)運(yùn)算時,數(shù)字1表示1個存儲單元的長度B、如果p是指針變量,則*p表示變量p的地址值C、如果p是指針變量,則&p是不合法的表達(dá)式D、如果p是指針變量,則*p+1和*(p+1)的效果是一樣的答案:A解析:A項(xiàng)正確,在對指針進(jìn)行加、減運(yùn)算時,數(shù)字“1”不再代表十進(jìn)制整數(shù)“1”,而是指1個存儲單元長度。B項(xiàng)錯誤,*p表示p的值;C項(xiàng)錯誤,&p表示變量p的地址;D項(xiàng)錯誤,*p+1是先取p的值,然后執(zhí)行+1操作,*(p+1)是先對指針移動1個存儲空間,然后取值。答案選擇A選項(xiàng)。81.有三個關(guān)系R、S和T如下:則由關(guān)系R和S得到關(guān)系T的操作是()。A、自然連接B、交C、除D、并答案:C解析:A項(xiàng),自然連接的條件是兩關(guān)系間有公共域,通過公共域的相等值進(jìn)行連接,R與S的公共域?yàn)锳和B;B項(xiàng),R與S進(jìn)行交運(yùn)算后得到的關(guān)系是由既在R內(nèi)又在S內(nèi)的元素組成的,顯然T不在S內(nèi);C項(xiàng),R與S除運(yùn)算后的域由R中不出現(xiàn)在S中的域組成;D項(xiàng),R與S進(jìn)行并運(yùn)算得到的關(guān)系由屬于R或?qū)儆赟的元組組成。答案選擇C選項(xiàng)。82.某二叉樹的中序遍歷為DCBAEFG,后序遍歷為DCBGFEA,則該二叉樹的深度(根結(jié)點(diǎn)在第1層)為()。A、5B、4C、3D、2答案:B解析:定義一棵樹的根結(jié)點(diǎn)所在的層次為1,其他結(jié)點(diǎn)所在的層次等于它的父結(jié)點(diǎn)所在的層次加1,樹的最大層次稱為樹的深度。本題中,后序遍歷為DCBGFEA,所以A為根結(jié)點(diǎn);中序遍歷為DCBAEFG,可知DCB為左子樹結(jié)點(diǎn),EFG為右子樹結(jié)點(diǎn)。同理B為C父結(jié)點(diǎn),C為D父結(jié)點(diǎn),E為F根結(jié)點(diǎn),F(xiàn)為G根結(jié)點(diǎn)。所以二叉樹深度為4層。答案選擇B選項(xiàng)。83.有如下程序:#includemain(){inta=0,b=1;if(++a==b++)printf("T");elseprintf("F");printf("a=%d,b=%d\n",a,b);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A、Ta=0,b=1B、Fa=1,b=2C、Ta=1,b=2D、Fa=0,b=2答案:C解析:程序執(zhí)行過程為:判斷++a==b++是否成立,++a前置運(yùn)算先加1,則運(yùn)算符==左邊表達(dá)式值為1,a=1,b++后置運(yùn)算先取值,則==右邊表達(dá)式值我1,b=2,即是判斷1==1,成立,輸出T,輸出a=1,b=2。答案選擇C選項(xiàng)。84.以下選項(xiàng)中正確的定義語句是()。A、doublea;b;B、doublea=b=7;C、doublea=7,b=7;D、ouble,a,b;答案:C解析:同一類型變量的定義時,不同變量之間需要用“,”分隔,選項(xiàng)A錯誤;定義變量時初始化賦值不能用等號連接,選項(xiàng)B錯誤;變量類型說明后面不能用逗號,而是用空格分離,選項(xiàng)D錯誤。答案選擇C選項(xiàng)。85.設(shè)有定義:inta;floatb;執(zhí)行scanf("%2d%f",&a,&b);語句時,若從鍵盤輸入876543.0,則a和b的值分別是()。A、87和6.0B、876和543.0C、87和543.0D、76和543.0答案:A解析:scanf函數(shù)的一般形式為:scanf(格式控制,地址表列);。其中,“格式控制”是用雙引號括起來的字符串,也稱“轉(zhuǎn)換控制字符串”,它包括兩種信息:①格式說明,由“%”和格式字符組成;②普通字符,即需要原樣輸入的字符。“地址表列”是需要接收輸入數(shù)據(jù)的一系列變量的地址。本題中的“格式控制”是“%2d%f”,其中%2d的意思是要輸入一個整數(shù),但該整數(shù)最寬只占2個字符,而%f是要輸入一個浮點(diǎn)數(shù)。而題目要求輸入的是876和543.0,所以scanf函數(shù)將87賦給a,6賦給b。答案選擇A選項(xiàng)。86.下列關(guān)于線性鏈表的敘述中,正確的是()。A、各數(shù)據(jù)結(jié)點(diǎn)的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致B、各數(shù)據(jù)結(jié)點(diǎn)的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù)C、進(jìn)行插入與刪除時,不需要移動表中的元素D、以上說法均不正確答案:C解析:線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)稱為線性鏈表。線性鏈表的存儲空間可以不連續(xù),其存儲順序和邏輯順序也不一定一致。線性鏈表一般用結(jié)點(diǎn)描述:結(jié)點(diǎn)=數(shù)據(jù)域+指針域。進(jìn)行插入和刪除時,只需改變指針的指向,而不需要移動表中元素。答案選擇C選項(xiàng)。87.下面屬于字符類的實(shí)例是()。A、'518'B、"5"C、'nm'D、'\n'答案:D解析:字符實(shí)例的一般形式是用一對單引號括起來的一個字符,包括ASCII碼中的一些控制字符,如D項(xiàng),'\n'表示換行符。AC兩項(xiàng)錯誤,單引號中不能有多個字符;B項(xiàng)錯誤,"5"為字符串,不是字符類實(shí)例。答案選擇D選項(xiàng)。88.下列敘述中正確的是()。A、所謂有序表是指在順序存儲空間內(nèi)連續(xù)存放的元素序列B、有序表只能順序存儲在連續(xù)的存儲空間內(nèi)C、有序表可以用鏈接存儲方式存儲在不連續(xù)的存儲空間內(nèi)D、任何存儲方式的有序表均能采用二分法進(jìn)行查找答案:C解析:“有序”是指線性表中的元素按照升序或降序(允許相鄰元素相同)的方式排列。有序是一個邏輯概念,與物理存儲無關(guān)。二分法查找時涉及下標(biāo)運(yùn)算,要求有序表必須順序存儲。答案選擇C選項(xiàng)。89.以下敘述正確的是()。A、只使用三種基本結(jié)構(gòu)即可解決任何復(fù)雜問題B、C語言程序并不是必須要定義main()函數(shù)C、只要程序包含了任意一種基本結(jié)構(gòu),就肯定是結(jié)構(gòu)化程序D、程序中的語法錯誤只能在運(yùn)行時才能顯現(xiàn)答案:A解析:A項(xiàng)正確,程序設(shè)計語言僅僅使用順序、選擇和循環(huán)三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計方法。B項(xiàng)錯誤,C語言程序必須要定義main()函數(shù);C項(xiàng)錯誤,結(jié)構(gòu)化程序設(shè)計是以模塊化設(shè)計為中心,將待開發(fā)的軟件系統(tǒng)劃分為若干個相互獨(dú)立的模塊,而不是說包含了三種基本結(jié)構(gòu)就是結(jié)構(gòu)化程序;D項(xiàng)錯誤,程序中的語法錯誤在編譯時能顯現(xiàn)。答案選擇A選項(xiàng)。90.軟件(程序)調(diào)試的任務(wù)是()。A、診斷和改正程序中的錯誤B、盡可能多地發(fā)現(xiàn)程序中的錯誤C、發(fā)現(xiàn)并改正程序中的所有錯誤D、確定程序中錯誤的性質(zhì)答案:A解析:軟件測試的目的是盡可能多的發(fā)現(xiàn)錯誤。程序調(diào)試基于軟件測試時發(fā)現(xiàn)的錯誤,其任務(wù)是診斷和改正程序中的錯誤。答案選擇A選項(xiàng)。91.設(shè)二叉樹如下:則中序遍歷為()。A、BDEGCFHB、DBGEAFHCC、DGEBHFCAD、ABCDEFGH答案:B解析:中序遍歷,即訪問根結(jié)點(diǎn)在訪問左子樹和訪問右子樹兩者之間。根結(jié)點(diǎn)A在BDEG四個節(jié)點(diǎn)后面訪問,CHF三個節(jié)點(diǎn)前面訪問,很容易排除ACD選項(xiàng),選B。另外,可以復(fù)習(xí)一下三種遍歷方式的規(guī)則,本題中前序遍歷為ABDEGCFH,中序遍歷為DBGEAFHC,后序遍歷為DGEBHFCA。答案選擇B選項(xiàng)。92.下列選項(xiàng)中,不屬于模塊間耦合的是()。A、數(shù)據(jù)耦合B、標(biāo)記耦合C、異構(gòu)耦合D、公共耦合答案:C解析:按照耦合程度從強(qiáng)到弱分別是:內(nèi)容耦合、公共耦合、外部耦合、控制耦合、標(biāo)記耦合、數(shù)據(jù)耦合和非直接耦合,沒有異構(gòu)耦合這種方式。答案選擇C選項(xiàng)。93.以下選項(xiàng)中,能表示邏輯值“假”的是()。A、1B、0.000001C、0D、100.0答案:C解析:在C語言中,沒有專門的“邏輯值”,而是用非0表示“真”,用0表示“假”。答案選擇C選項(xiàng)。94.有以下函數(shù):#includevoidexch(intt[]){t[0]=t[5];}main(){intx[10]={1,2,3,4,5,6,7,8,9,10},i=0;while(i<=4){exch(&x[i]);i++;}for(i=0;i<5;i++)printf("%d\n",x[i]);}程序運(yùn)行后的輸出結(jié)果是()。A、246810B、13579C、12345D、678910答案:D解析:函數(shù)exch的作用就是把數(shù)組某個元素的值變?yōu)檫@個元素位置加5后對應(yīng)的元素值,所以執(zhí)行完之后輸出數(shù)組x的前五個元素的值,其實(shí)就是數(shù)組x的后五個元素的值,答案選擇D選項(xiàng)。95.有以下程序:#includemain(){intsum=0,x=5;do{sum+=x;}while(!--x);printf("%d\n",sum);}程序的運(yùn)行結(jié)果是()。A、0B、5C、14D、15答案:B解析:do-while循環(huán),先執(zhí)行循環(huán)體sum+=x,則sum=sum+x=0+5=5,再執(zhí)行while中的表達(dá)式,結(jié)果為0,退出循環(huán),所以運(yùn)行結(jié)果是5。答案選擇B選項(xiàng)。96.關(guān)于C語言的變量名,以下敘述正確的是()。A、變量名不可以與關(guān)鍵字同名B、變量名不可以與預(yù)定義標(biāo)識符同名C、變量名必須以字母開頭D、變量名是沒有長度限制的答案:A解析:合法的標(biāo)識符由字母(大、小寫均可)、數(shù)字和下劃線組成,并且必須以字母或下劃線開頭。關(guān)鍵字是指被C語言保留的,不能用作其他用途的標(biāo)識符,它們在程序中都代表著固定的含義,用戶不可重新定義,A項(xiàng)正確、BC兩項(xiàng)錯誤。變量名沒有長度限制,但不可超過編譯器可以辨識的范圍,D項(xiàng)錯誤。答案選擇A選項(xiàng)。97.以下敘述中錯誤的是()。A、非零的數(shù)值型常量有正值和負(fù)值的區(qū)分B、常量是在程序運(yùn)行過程中值不能被改變的量C、定義符號常量必須用類型名來設(shè)定常量的類型D、用符號名表示的常量叫符號常量答案:C解析:在C語言程序中,可以用一個符號名來代表一個常量,稱為符號常量,符號常量在定義是不需要類型,其本身就能表達(dá)其類型。答案選擇C選項(xiàng)。98.軟件工程的三要素是()。A、方法、工具和過程B、建模、方法和工具C、建模、方法和過程D、定義、方法和過程答案:A解析:軟件工程的三要素是:①方法;②工具;③過程。其中方法為軟件開發(fā)提供了“如何做”的技術(shù);工具為軟件工程方法提供了自動或半自動的支撐環(huán)境;過程則是將軟件工程的方法和工具綜合起來以達(dá)到合理、及時地進(jìn)行計算機(jī)軟件開發(fā)的目的。答案選擇A選項(xiàng)。99.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是()。A、循環(huán)隊列B、帶鏈隊列C、二叉樹D、帶鏈棧答案:C解析:線性結(jié)構(gòu)要滿足兩個條件:①有且僅有一個根結(jié)點(diǎn);②每個結(jié)點(diǎn)最多有一個前驅(qū),也最多有一個后繼。棧和隊列均滿足這兩個條件,屬于線性結(jié)構(gòu);循環(huán)隊列是一個頭結(jié)點(diǎn)和尾結(jié)點(diǎn)互為前驅(qū)結(jié)點(diǎn)和后繼結(jié)點(diǎn)的特殊的隊列,屬于線性結(jié)構(gòu);帶鏈隊列、帶鏈棧都是用鏈表形式來實(shí)現(xiàn)的,分別滿足隊列和棧的條件,只是存儲結(jié)構(gòu)不連續(xù),屬于線性結(jié)構(gòu)。二叉樹除了葉子結(jié)點(diǎn)外,每個結(jié)點(diǎn)都可以有兩個后繼結(jié)點(diǎn),屬于非線性結(jié)構(gòu)。答案選擇C選項(xiàng)。100.以下數(shù)據(jù)結(jié)構(gòu)中,屬于非線性數(shù)據(jù)結(jié)構(gòu)的是()。A、棧B、線性表C、隊列D、二叉樹答案:D解析:線性結(jié)構(gòu)必須滿足下列兩個條件:①有且只有一個根結(jié)點(diǎn);②每一個結(jié)點(diǎn)最多有一個前件,也最多有一個后件。如果一個數(shù)據(jù)結(jié)構(gòu)不是線性結(jié)構(gòu),則稱之為非線性結(jié)構(gòu)。二叉樹中的結(jié)點(diǎn)后繼不惟一,屬于非線性結(jié)構(gòu),棧和隊列都是操作受限的線性表,是線性結(jié)構(gòu)。答案選擇D選項(xiàng)。101.設(shè)變量均已正確定義,若要通過“scanf("%d%c%d%c",&a1,&c1,&a2,&c2);”語句為變量a1和a2賦數(shù)值10和20,為變量c1和c2賦字符X和Y。以下所示的輸入形式中正確的是(注:u代表空格字符,代表回車)()。A、10X20YB、10uX20uYC、10uX20uYD、10uXu20uY答案:A解析:因?yàn)榭崭窈突剀囈彩亲址兞浚栽谳斎隭和Y時,它們的前面不能有空格和回車,否則將取到空格或者回車,而非X和Y;int類型不會取到空格和回車,所以10和20前面可以有空格和回車。答案選擇A選項(xiàng)。102.下面屬于應(yīng)用軟件的是()。A、學(xué)生成績管理系統(tǒng)B、UNIX操作系統(tǒng)C、匯編程序D、編譯程序答案:A解析:應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件,如事務(wù)處理軟件,工程與科學(xué)計算軟件,學(xué)生成績管理系統(tǒng)等應(yīng)用性質(zhì)不同的各種軟件。系統(tǒng)軟件是計算機(jī)管理自身資源,提高計算機(jī)使用效率并服務(wù)于其他程序的軟件,如操作系統(tǒng),編譯程序,匯編程序,數(shù)據(jù)庫管理系統(tǒng)等。支撐軟件是介于系統(tǒng)軟件和應(yīng)用軟件之間,協(xié)助用戶開發(fā)軟件的工具性軟件,包括輔助和支持開發(fā)和維護(hù)應(yīng)用軟件的工具軟件,如需求分析工具軟件,設(shè)計工具軟件,編碼工具軟件,測試工具軟件,維護(hù)工具軟件等。答案選擇A選項(xiàng)。103.以下選項(xiàng)中關(guān)于程序模塊化的敘述錯誤的是()。A、把程序分成若干相對獨(dú)立的模塊,可便于編碼和調(diào)試B、把程序分成若干相對獨(dú)立、功能單一的模塊,可便于重復(fù)使用這些模塊C、可采用自底向上、逐步細(xì)化的設(shè)計方法把若干獨(dú)立模塊組裝成所要求的程序D、可采用自頂向下、逐步細(xì)化的設(shè)計方法把若干獨(dú)立模塊組裝成所要求的程序答案:C解析:把一個大程序分解成若干相對獨(dú)立的子程序,大大提高了程序編制的效率。軟件編制人員在進(jìn)行程序設(shè)計時,首先應(yīng)當(dāng)集中考慮主程序中的算法,寫出主程序后再動手逐步完成子程序的調(diào)用。對于這些子程序也可用調(diào)試主程序的同樣方法逐步完成其下一層,就是自頂向下、逐步細(xì)化、模塊化的程序設(shè)計方法。答案選擇C選項(xiàng)。104.下列關(guān)于棧的敘述正確的是()。A、棧按“先進(jìn)先出”組織數(shù)據(jù)B、棧按“先進(jìn)后出”組織數(shù)據(jù)C、只能在棧底插入數(shù)據(jù)D、不能刪除數(shù)據(jù)答案:B解析:棧是只允許在棧頂進(jìn)行插入和刪除運(yùn)算的線性表,按“先進(jìn)后出”組織數(shù)據(jù)。答案選擇B選項(xiàng)。105.若有代數(shù)式(其中e僅代表自然對數(shù)的底數(shù),不是變量),則以下能夠正確表示該代數(shù)式的C語言表達(dá)式是()。A、sqrt(fabs(pow(n,x)+exp(x)))B、sqrt(fabs(pow(n,x)+pow(x,e)))C、sqrt(abs(n^x+e^x))D、sqrt(fabs(pow(x,n)+exp(x)))答案:A解析:math.h是數(shù)學(xué)運(yùn)算庫函數(shù)的頭文件名:doublesqrt(double):平方根函數(shù);doublefabs(double):絕對值函數(shù);doublepow(doublex,doubley):返回xy;exp(doublex):返回ex。答案選擇A選項(xiàng)。106.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的()階段。A、詳細(xì)設(shè)計B、需求分析C、總體設(shè)計D、編程調(diào)試答案:C解析:總體設(shè)計過程通常由兩個主要階段組成:①系統(tǒng)設(shè)計,確定系統(tǒng)的具體實(shí)現(xiàn)方案;②結(jié)構(gòu)設(shè)計,確定軟46件結(jié)構(gòu)。為確定軟件結(jié)構(gòu),首先需要從實(shí)現(xiàn)角度把復(fù)雜的功能進(jìn)一步分解。分析員結(jié)合算法描述仔細(xì)分析數(shù)據(jù)流圖中的每個處理,如果一個處理的功能過分復(fù)雜,必須把它的功能適當(dāng)?shù)胤纸獬梢幌盗斜容^簡單的功能。答案選擇C選項(xiàng)。107.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件),下面屬于應(yīng)用軟件的是()。A、學(xué)生成績管理系統(tǒng)B、C語言編譯程序C、UNIX操作系統(tǒng)D、數(shù)據(jù)庫管理系統(tǒng)答案:A解析:應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件,如事務(wù)處理軟件,工程與科學(xué)計算軟件,學(xué)生成績管理系統(tǒng)、教務(wù)管理系統(tǒng)、瀏覽器、編輯軟件等應(yīng)用性質(zhì)不同的各種軟件。系統(tǒng)軟件是計算機(jī)管理自身資源,提高計算機(jī)使用效率并服務(wù)于其他程序的軟件,如操作系統(tǒng),編譯程序,匯編程序,數(shù)據(jù)庫管理系統(tǒng)等。支撐軟件是介于系統(tǒng)軟件和應(yīng)用軟件之間,協(xié)助用戶開發(fā)軟件的工具性軟件,包括輔助和支持開發(fā)和維護(hù)應(yīng)用軟件的工具軟件,如需求分析工具軟件,設(shè)計工具軟件,編碼工具軟件,測試工具軟件,維護(hù)工具軟件等。答案選擇A選項(xiàng)。108.以下選項(xiàng)中非法的字符常量是()。A、'\102'B、'\65'C、'\xff'D、'\019'答案:D解析:字符常量有兩種表示方法:一種是用該字符的圖形符號;二是用字符的ASCII碼表示,即用反斜符(\)開頭,后跟字符的ASCII碼,這種方法也稱為轉(zhuǎn)義序列表示法,具體方法有兩種,一種是用字符的八進(jìn)制ASCII碼,表示為\odd,這里ddd是八進(jìn)制值(o可以省略)。另一種使用字符的十六進(jìn)制ASCII碼值,表示為\0xhh或0Xhh,這里hh是兩位十六進(jìn)制值。D項(xiàng),'\019'使用的是八進(jìn)制表示,八進(jìn)制表示時,每一位的可用數(shù)值范圍是0~7不應(yīng)該出現(xiàn)9,所以錯誤。答案選擇D選項(xiàng)。109.若變量均已正確定義并賦值,以下合法的C語言賦值語句是()。A、x=y==5;B、x=n%2.5;C、x+n=i;D、x=5=4+1;答案:A解析:A項(xiàng)正確,y==5返回0或者1,然后賦值給x。B項(xiàng)錯誤,浮點(diǎn)數(shù)不能參與模運(yùn)算;C項(xiàng)錯誤,賦值運(yùn)算符左邊只能是單一變量,x+n是右值,不能給它賦值;D項(xiàng)錯誤,5是常量,不能被賦值。答案選擇A選項(xiàng)。110.計算機(jī)軟件包括()。A、算法和數(shù)據(jù)B、程序和數(shù)據(jù)C、程序和文檔D、程序、數(shù)據(jù)及相關(guān)文檔答案:D解析:計算機(jī)軟件由兩部分組成:①機(jī)器可執(zhí)行的程序和數(shù)據(jù);②機(jī)器不可執(zhí)行的,與軟件開發(fā)、運(yùn)行、維護(hù)、使用等有關(guān)的文檔。答案選擇D選項(xiàng)。111.有以下程序#include#includemain(){inta=3;printf("%d\n",(a+=a-=a*a));}程序運(yùn)行后的輸出結(jié)果是()。A、-12B、9C、0D、3答案:A解析:C語言中,表達(dá)式從右向左計算。a+=a-=a*a;可以寫成a-=a*a;a+=a;而a-=a*a等價于a=a-(a*a)=3-(3*3)=-6;a+=a等價于a=a+a=(-6)+(-6)=-12。答案選擇A選項(xiàng)。112.下面的函數(shù)調(diào)用語句中func函數(shù)的實(shí)參個數(shù)是()。func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,V8)));A、3B、4C、5D、8答案:A解析:函數(shù)在被調(diào)用時,傳入的實(shí)參以逗號分隔,實(shí)參可以是一個變量,也可以是一個表達(dá)式。在本題中,func()函數(shù)傳入的參數(shù)是被逗號分隔的3個表達(dá)式,它們分別是f2(v1,v2)、(v3,v4,v5)和(v6,max(v7,v8)),所以它的實(shí)參個數(shù)是3。其中,f2(v1,v2)是一個函數(shù)調(diào)用;(v3,v4,v5)是一個逗號表達(dá)式;(v6,max(v7,v8))也是一個逗號表達(dá)式,它里面還包含了一個函數(shù)調(diào)用,但它仍只代表1個實(shí)參。答案選擇A選項(xiàng)。113.在數(shù)據(jù)庫系統(tǒng)中,考慮數(shù)據(jù)庫實(shí)現(xiàn)的數(shù)據(jù)模型是()。A、概念數(shù)據(jù)模型B、邏輯數(shù)據(jù)模型C、物理數(shù)據(jù)模型D、關(guān)系數(shù)據(jù)模型答案:B解析:數(shù)據(jù)模型按照不同的應(yīng)用層次分為:①面向客觀世界、面向用戶的概念數(shù)據(jù)模型,它與具體的數(shù)據(jù)庫管理系統(tǒng)和具體的計算機(jī)平臺無關(guān);②面向數(shù)據(jù)庫系統(tǒng)的邏輯數(shù)據(jù)模型,著重于在數(shù)據(jù)庫系統(tǒng)一級的實(shí)現(xiàn);③面向計算機(jī)物理實(shí)現(xiàn)的物理數(shù)據(jù)模型,它給出了數(shù)據(jù)模型在計算機(jī)物理結(jié)構(gòu)上的表示。答案選擇B選項(xiàng)。114.一棵二叉樹中共有70個葉子結(jié)點(diǎn)與80個度為1的結(jié)點(diǎn),則該二叉樹中的總結(jié)點(diǎn)數(shù)為()。A、219B、221C、229D、231答案:A解析:任意二叉樹中,度為0的葉子結(jié)點(diǎn)個數(shù)總比度為2的結(jié)點(diǎn)數(shù)多1,所以度為2的結(jié)點(diǎn)的個數(shù)為70-1=69。總結(jié)點(diǎn)數(shù)=70+80+69=219。答案選擇A選項(xiàng)。115.以下選項(xiàng)中,合法的數(shù)值型常量是()。A、3.1415B、"A"C、092D、0xDH答案:A解析:數(shù)值型常量包括整型常量和實(shí)型常量。整型常量有三種:①十進(jìn)制常量,用0~9表示,不能以0開頭;②八進(jìn)制常量,用0~7表示,必須用0開頭;③十六進(jìn)制常量,用0~9和A~F(a~f)表示,必須以0x或0X開頭。實(shí)型常量:用帶小數(shù)點(diǎn)的數(shù)字表示,其值有兩種表達(dá)形式,分別為十進(jìn)制小數(shù)形式和指數(shù)形式。3.1415為實(shí)型常量,A項(xiàng)正確。"A"為長度為1的字符串常量,B項(xiàng)錯誤。092按照格式來說是八進(jìn)制整型常量,但是八進(jìn)制不會出現(xiàn)9,C項(xiàng)錯誤。0xDH按照格式說是十六進(jìn)制整型常量,但是不應(yīng)該出現(xiàn)H,D項(xiàng)錯誤。答案選擇A選項(xiàng)。116.設(shè)數(shù)據(jù)元素的集合D={1,2,3,4,5},則滿足下列關(guān)系R的數(shù)據(jù)結(jié)構(gòu)中為線性結(jié)構(gòu)的是()。A、R={(1,2),(3,4),(5,1),(1,2)}B、R={(1,3),(4,1),(3,2),(5,4)}C、R={(1,2),(2,3),(4,5),(2,3)}D、R={(1,3),(2,4),(3,5),(1,2)}答案:B解析:一個非空的數(shù)據(jù)結(jié)構(gòu)如果滿足以下兩個條件:有且只有一個根結(jié)點(diǎn);每一個結(jié)點(diǎn)最多有一個前件,也最多有一個后件,稱為線性結(jié)構(gòu)。不同時滿足以上兩個條件的數(shù)據(jù)結(jié)構(gòu)就稱為非線性結(jié)構(gòu)。A選項(xiàng),5是1的前件,1是2的前件,3是4的前件,則關(guān)系R中含有兩個結(jié)構(gòu),即34和512,其中3和5均為根結(jié)點(diǎn),故A項(xiàng)錯誤。B選項(xiàng)根結(jié)點(diǎn)為5,排列順序?yàn)?4132,B選項(xiàng)正確。C選項(xiàng)有兩個根結(jié)點(diǎn)1和4,故錯誤。D選項(xiàng)有兩個根結(jié)點(diǎn)1和2,故錯誤。答案選擇B選項(xiàng)。117.堆排序最壞情況下的時間復(fù)雜度為()。A、O(n1.5)B、O(nlog2n)C、O(n(n-1)/2)D、O(log2n)答案:B解析:堆排序是指利用堆積樹這種數(shù)據(jù)結(jié)構(gòu)所設(shè)計的一種排序算法,屬于選擇排序。在對長度為n的線性表排序時,最壞情況下,冒泡排序、快速排序、直接插入排序的時間復(fù)雜度均為O(n2),而堆排序時間復(fù)雜度為O(nlog2n),復(fù)雜度最小。答案選擇B選項(xiàng)。118.冒泡排序在最壞情況下的比較次數(shù)是()。A、n(n+1)/2B、nlog2nC、n(n-1)/2D、n/2答案:C解析:對n個節(jié)點(diǎn)的線性表采用冒泡排序,冒泡排序的外循環(huán)最多執(zhí)行n-1遍。第一遍最多執(zhí)行n-1次比較,第二遍最多執(zhí)行n-2次比較,以此類推,第n-1遍最多執(zhí)行1次比較。因此,整個排序過程最多執(zhí)行n(n-1)/2次比較。答案選擇C選項(xiàng)。119.已知字符A的ASCII代碼值是65,字符變量c1的值是A,c2的值是D。則執(zhí)行語句printf("%d,%d",c1,c2-2);的輸出結(jié)果是()。A、

A,68B、65,66C、

A,BD、65,68答案:B解析:在C語言中,字符型數(shù)據(jù)在內(nèi)存中的存儲形式是ASCII碼值。當(dāng)需要以整型格式輸出字符時,輸出的也是ASCII碼值。字符'A'和'D'的ASCII碼值分別為65和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論