計(jì)算機(jī)二級(jí)C語(yǔ)言必刷必練考試題庫(kù)(500題)_第1頁(yè)
計(jì)算機(jī)二級(jí)C語(yǔ)言必刷必練考試題庫(kù)(500題)_第2頁(yè)
計(jì)算機(jī)二級(jí)C語(yǔ)言必刷必練考試題庫(kù)(500題)_第3頁(yè)
計(jì)算機(jī)二級(jí)C語(yǔ)言必刷必練考試題庫(kù)(500題)_第4頁(yè)
計(jì)算機(jī)二級(jí)C語(yǔ)言必刷必練考試題庫(kù)(500題)_第5頁(yè)
已閱讀5頁(yè),還剩240頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGEPAGE1計(jì)算機(jī)二級(jí)C語(yǔ)言必刷必練考試題庫(kù)(500題)一、單選題1.以下敘述中錯(cuò)誤的是()。A、C語(yǔ)言編寫(xiě)的函數(shù)源程序,其文件名后綴可以是.cB、C語(yǔ)言編寫(xiě)的函數(shù)都可以作為一個(gè)獨(dú)立的源程序文件C、C語(yǔ)言編寫(xiě)的每個(gè)函數(shù)都可以進(jìn)行獨(dú)立的編譯并執(zhí)行D、一個(gè)C語(yǔ)言程序只能有一個(gè)主函數(shù)答案:C解析:C源程序經(jīng)過(guò)C編譯程序編譯之后生成一個(gè)后綴為.obj的二進(jìn)制文件(稱為目標(biāo)文件),然后由稱為“連接程序”(Link)的軟件,把此.obj文件與C語(yǔ)言提供的各種庫(kù)函數(shù)連接起來(lái)生成一個(gè)后綴為.EXE的可執(zhí)行文件。只有含有main函數(shù)的經(jīng)過(guò)編譯鏈接才能執(zhí)行。答案選擇C選項(xiàng)。2.設(shè)a、b、c是整型變量,且已正確賦初值,以下選項(xiàng)中錯(cuò)誤的賦值語(yǔ)句是()。A、a=1%(b=c=2);B、a=(b=3)*c;C、a=b=c/10;D、a=2=(b=9)=1;答案:D解析:D項(xiàng),“()”具有最高優(yōu)先級(jí),b先賦值9,再根據(jù)賦值運(yùn)算符號(hào)自右向左進(jìn)行賦值,再給b賦值為1,再計(jì)算2=b,賦值運(yùn)算符左邊必須是一個(gè)變量,但數(shù)值2是常量,語(yǔ)法錯(cuò)誤。答案選擇D選項(xiàng)。3.有以下程序#includemain(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}執(zhí)行后的輸出結(jié)果是()。A、32B、24C、5D、40答案:A解析:自增運(yùn)算符“++”分為前綴和后綴兩種形式。兩種形式的作用效果是一樣的,都是使運(yùn)算分量的值加1,但是它們的表達(dá)式的值不一樣,前綴形式表達(dá)式的值為運(yùn)算分量加1之后的值,而后綴形式表達(dá)式的值為運(yùn)算分量加1之前的值。題目中使用了一個(gè)for循環(huán),循環(huán)變量i從1遞增到40。在循環(huán)體中有兩條嵌套的if語(yǔ)句,首先判斷i++%5==0,即判斷i++的值(i加1之前的值)是否能被5整除(判斷后i被加1),然后再判斷++i的值(i加1之后的值)是否能被8整除(判斷后i被加1),若兩個(gè)條件都滿足了,就輸出i的值,只有i=30時(shí),滿足i++%5==0,此時(shí)i=31,++i%8==0成立,此時(shí)i=32。答案選擇A選項(xiàng)。4.在學(xué)生表中要查找所有年齡大于30歲姓王的男同學(xué),應(yīng)該采用的關(guān)系運(yùn)算是()。A、選擇B、投影C、聯(lián)接D、自然聯(lián)接答案:A解析:關(guān)系運(yùn)算包括:選擇、投影和連接。①選擇:從關(guān)系中找出滿足給定條件的元組。選擇是從行的角度進(jìn)行的運(yùn)算,即從水平方向抽取記錄。是單目運(yùn)算。②投影:從關(guān)系模式中指定若干個(gè)屬性組成新的關(guān)系。投影是從列的角度進(jìn)行的運(yùn)算,是單目運(yùn)算。③連接:連接是關(guān)系的橫向結(jié)合。連接運(yùn)算將兩個(gè)關(guān)系模式拼接成一個(gè)更寬的關(guān)系模式,生成的新關(guān)系中包含滿足連接條件的元組。是雙目運(yùn)算。此題干要求從關(guān)系中找出同時(shí)滿足兩個(gè)條件的元組,應(yīng)進(jìn)行的運(yùn)算是選擇,答案選擇A選項(xiàng)。5.設(shè)有定義:inta;floatb;執(zhí)行scanf("%2d%f",&a,&b);語(yǔ)句時(shí),若從鍵盤輸入876543.0,則a和b的值分別是()。A、87和6.0B、876和543.0C、87和543.0D、76和543.0答案:A解析:scanf函數(shù)的一般形式為:scanf(格式控制,地址表列);。其中,“格式控制”是用雙引號(hào)括起來(lái)的字符串,也稱“轉(zhuǎn)換控制字符串”,它包括兩種信息:①格式說(shuō)明,由“%”和格式字符組成;②普通字符,即需要原樣輸入的字符。“地址表列”是需要接收輸入數(shù)據(jù)的一系列變量的地址。本題中的“格式控制”是“%2d%f”,其中%2d的意思是要輸入一個(gè)整數(shù),但該整數(shù)最寬只占2個(gè)字符,而%f是要輸入一個(gè)浮點(diǎn)數(shù)。而題目要求輸入的是876和543.0,所以scanf函數(shù)將87賦給a,6賦給b。答案選擇A選項(xiàng)。6.若有定義inta;floatb;doublec;程序運(yùn)行時(shí)輸入:345<回車>能把值3輸入給變量a、4輸入給變量b、5輸入給變量C的語(yǔ)句是()。A、scanf("%lf%lf%lf",&a,&b,&c);B、scanf("%d%lf%lf",&a,&b,&c);C、scanf("%d%f%f",&a,&b,&c);D、scanf("%d%f%lf",&a,&b,&c);答案:D解析:%d輸入帶符號(hào)的十進(jìn)制整型數(shù),%f以帶小數(shù)點(diǎn)的數(shù)學(xué)形式或指數(shù)形式輸入浮點(diǎn)數(shù)(單精度數(shù)用%f,雙精度數(shù)用%lf)。答案選擇D選項(xiàng)。7.在關(guān)系中能唯一標(biāo)識(shí)元組的最小屬性集稱為該表的鍵或碼。二維表中可能有若干個(gè)鍵,它們稱為該表的()。A、連接碼B、關(guān)系碼C、外碼D、候選碼答案:D解析:二維表中的鍵都能唯一的標(biāo)識(shí)一個(gè)元組,而其任何真子集都不能再標(biāo)識(shí),這種屬性組稱為該表的候選碼或候選鍵。答案選擇D選項(xiàng)。8.有以下程序:#includemain(){inta1,a2;charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通過(guò)鍵盤輸入,使得a1的值為12,得a2的值為34.得c1的值為a,得c2的值為b,程序輸出結(jié)果是:12,a,34,b則正確的輸入格式是(以下_代表空格,代表回車)()。A、12a34bB、12_a_34_bC、12,a,34,bD、12_a34_b答案:A解析:在輸入字符型時(shí),要求輸入數(shù)據(jù)時(shí)按照一一對(duì)應(yīng)的位置原樣輸入這些字符,即不能加逗號(hào)、回車和空格,因?yàn)檫@些也算是字符。答案選擇A選項(xiàng)。9.已知字符A的ASCII代碼值是65,字符變量c1的值是A,c2的值是D。則執(zhí)行語(yǔ)句printf("%d,%d",c1,c2-2);的輸出結(jié)果是()。A、

A,68B、65,66C、

A,BD、65,68答案:B解析:在C語(yǔ)言中,字符型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是ASCII碼值。當(dāng)需要以整型格式輸出字符時(shí),輸出的也是ASCII碼值。字符'A'和'D'的ASCII碼值分別為65和68,c2-2對(duì)應(yīng)的ASCII碼值為66。答案選擇B選項(xiàng)。10.以下選項(xiàng)中關(guān)于程序模塊化的敘述錯(cuò)誤的是()。A、把程序分成若干相對(duì)獨(dú)立的模塊,可便于編碼和調(diào)試B、把程序分成若干相對(duì)獨(dú)立、功能單一的模塊,可便于重復(fù)使用這些模塊C、可采用自底向上、逐步細(xì)化的設(shè)計(jì)方法把若干獨(dú)立模塊組裝成所要求的程序D、可采用自頂向下、逐步細(xì)化的設(shè)計(jì)方法把若干獨(dú)立模塊組裝成所要求的程序答案:C解析:把一個(gè)大程序分解成若干相對(duì)獨(dú)立的子程序,大大提高了程序編制的效率。軟件編制人員在進(jìn)行程序設(shè)計(jì)時(shí),首先應(yīng)當(dāng)集中考慮主程序中的算法,寫(xiě)出主程序后再動(dòng)手逐步完成子程序的調(diào)用。對(duì)于這些子程序也可用調(diào)試主程序的同樣方法逐步完成其下一層,就是自頂向下、逐步細(xì)化、模塊化的程序設(shè)計(jì)方法。答案選擇C選項(xiàng)。11.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。A、順序存儲(chǔ)的有序線性表B、線性鏈表C、二叉鏈表D、有序線性鏈表答案:A解析:二分查找只適用于順序存儲(chǔ)的有序表。此處所說(shuō)的有序表是指線性表中的元素按值非遞減排列或非遞增排列。答案選擇A選項(xiàng)。12.以下C語(yǔ)言用戶標(biāo)示符中,不合法的是()。A、_1B、AaBcC、a_bD、a--b答案:D解析:C語(yǔ)言中的標(biāo)識(shí)符只能由字母、數(shù)字和下畫(huà)線構(gòu)成,且第一個(gè)字符必須是字母或下畫(huà)線,同時(shí)不能與C語(yǔ)言中的關(guān)鍵字相同。D項(xiàng)還有非法字符“-”。答案選擇D選項(xiàng)。13.數(shù)據(jù)庫(kù)的基本特點(diǎn)是()。A、數(shù)據(jù)可以共享,數(shù)據(jù)冗余大,數(shù)據(jù)獨(dú)立性高,統(tǒng)一管理和控制B、數(shù)據(jù)可以共享,數(shù)據(jù)冗余小,數(shù)據(jù)獨(dú)立性高,統(tǒng)一管理和控制C、數(shù)據(jù)可以共享,數(shù)據(jù)冗余小,數(shù)據(jù)獨(dú)立性低,統(tǒng)一管理和控制D、數(shù)據(jù)可以共享,數(shù)據(jù)冗余大,數(shù)據(jù)獨(dú)立性低,統(tǒng)一管理和控制答案:B解析:數(shù)據(jù)庫(kù)的基本特點(diǎn)是數(shù)據(jù)可以共享、數(shù)據(jù)獨(dú)立性高、數(shù)據(jù)冗余小,易移植、統(tǒng)一管理和控制。答案選擇B選項(xiàng)。14.有以下程序:#includemain(){chara='H';a=(a>='A'&&a<='z')?(a-'A'+'a'):a;printf("%c\n",a);}程序運(yùn)行后的輸出結(jié)果是()。A、AB、aC、HD、h答案:D解析:條件表達(dá)式優(yōu)先級(jí)高于賦值表達(dá)式,首先將H賦給變量a,由于問(wèn)號(hào)前一個(gè)表達(dá)式成立,所以執(zhí)行(a-'A'+'a'),其功能是將大寫(xiě)字母轉(zhuǎn)換成小寫(xiě)字母,即H轉(zhuǎn)換成h。答案選擇D選項(xiàng)。15.以下選項(xiàng)中,能用作數(shù)據(jù)常量的是()。A、115LB、0118C、1-5e1.5D、o115答案:A解析:C語(yǔ)言中實(shí)型常量有兩種表示:小數(shù)形式和指數(shù)形式。在指數(shù)形式中,字母e(或E)之前必須要有數(shù)字,且e或E后面的指數(shù)必須為整數(shù),故C項(xiàng)錯(cuò)誤;八進(jìn)制整數(shù)常量以數(shù)字0開(kāi)始,而不是o,故D項(xiàng)錯(cuò)誤。在八進(jìn)制數(shù)中的有效數(shù)字為0~7,故B項(xiàng)錯(cuò)誤;L是長(zhǎng)整型數(shù)據(jù)標(biāo)識(shí),115L為長(zhǎng)整型常數(shù)即longint,A項(xiàng)正確。答案選擇A選項(xiàng)。16.有如下程序:#includemain(){inti;for(i=0;i<5;i++)putchar('9'-i);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A、54321B、98765C、'9''8''7''6''5'D、'43210'答案:B解析:本題執(zhí)行過(guò)程為:i=0,輸出字符9,在i<5的情況下,依次輸出字符8、7、6、5。在i=5時(shí),退出for循環(huán)。最后顯示在命令窗口結(jié)果為98765,答案選擇B選項(xiàng)。17.計(jì)算機(jī)能直接執(zhí)行的程序是()。A、源程序B、目標(biāo)程序C、匯編程序D、可執(zhí)行程序答案:D解析:C語(yǔ)言是一種高級(jí)語(yǔ)言,C語(yǔ)言源程序經(jīng)過(guò)C語(yǔ)言編譯程序編譯之后,生成一個(gè)后綴為.obj的二進(jìn)制文件(稱為目標(biāo)程序),最后還要由“連接程序”(Link)軟件,把此.obj文件與C語(yǔ)言提供的各種庫(kù)函數(shù)連接在一起,生成后綴.exe的可執(zhí)行程序。匯編程序是由匯編語(yǔ)言寫(xiě)成的程序,計(jì)算機(jī)不能直接執(zhí)行。計(jì)算機(jī)能直接執(zhí)行的程序是經(jīng)過(guò)編譯器處理轉(zhuǎn)換為機(jī)器語(yǔ)言的程序。答案選擇D選項(xiàng)。18.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括()。A、順序結(jié)構(gòu)B、GOTO跳轉(zhuǎn)C、選擇(分支)結(jié)構(gòu)D、重復(fù)(循環(huán))結(jié)構(gòu)答案:B解析:結(jié)構(gòu)化程序以模塊化設(shè)計(jì)為中心,使用順序、選擇和循環(huán)三種基本控制結(jié)構(gòu)就可以實(shí)現(xiàn)任何算法功能。結(jié)構(gòu)化程序設(shè)計(jì)的思想包括自頂向下、逐步求精、模塊化、限制使用GOTO語(yǔ)句。答案選擇B選項(xiàng)。19.以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的()。A、voidB、8_8C、_0_D、unsigned答案:C解析:標(biāo)識(shí)符是由若干個(gè)字符組成的字符序列,用來(lái)命名程序的一些實(shí)體。C語(yǔ)言定義標(biāo)識(shí)符應(yīng)遵循以下六種規(guī)則:①標(biāo)識(shí)符由字母、數(shù)字或下劃線組成;②第一個(gè)字符必須是字母或下劃線;③標(biāo)識(shí)符最多由274個(gè)字符組成;④在標(biāo)識(shí)符中嚴(yán)格區(qū)分大小寫(xiě)字母;⑥關(guān)鍵字不能作為自定義的標(biāo)識(shí)符在程序中使用。A、D項(xiàng)皆為C語(yǔ)言的關(guān)鍵字,B項(xiàng)第一個(gè)字符為數(shù)字,錯(cuò)誤。答案選擇C選項(xiàng)。20.有以下程序:#includemain(){intfindmax(int,int,int),m;…m=findmax(a,b,c);…}intfindmax(intx,inty,intz){…}則以下敘述正確的是()。A、在main函數(shù)中聲明了findmax函數(shù)B、在main函數(shù)中定義了findmax函數(shù)C、在main函數(shù)中兩次調(diào)用了findmax函數(shù)D、在main函數(shù)內(nèi)、外重復(fù)定義了findmax函數(shù)答案:A解析:程序中函數(shù)findmax定義放在主函數(shù)之后,主函數(shù)中聲明了findmax函數(shù)?!癷ntfindmax(int,int,int);”為函數(shù)聲明,“m=findmax(a,b,c);”為函數(shù)調(diào)用,“intfindmax(intx,inty,intz){}”為函數(shù)定義。B選項(xiàng)是在main函數(shù)外定義的findmax函數(shù),錯(cuò)誤。在main函數(shù)中,出現(xiàn)了一次findmax函數(shù)的聲明和一次findmax函數(shù)的調(diào)用,不是兩次調(diào)用,C選項(xiàng)錯(cuò)誤。D選項(xiàng)在main函數(shù)內(nèi)不是定義findmax函數(shù)而是聲明findmax函數(shù)。答案選擇A選項(xiàng)。21.下列敘述中正確的是()。A、算法的效率只與問(wèn)題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)B、算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量C、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的D、算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)答案:B解析:采用不同的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)處理效率是不同的,A項(xiàng)錯(cuò)誤;算法的時(shí)間復(fù)雜度是指算法在計(jì)算機(jī)內(nèi)執(zhí)行時(shí)所需時(shí)間的度量,空間復(fù)雜度是指算法在計(jì)算機(jī)內(nèi)執(zhí)行時(shí)所需存儲(chǔ)空間的度量,二者不一定相關(guān),B項(xiàng)正確,D項(xiàng)錯(cuò)誤;數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),二者并非一一對(duì)應(yīng),C項(xiàng)錯(cuò)誤。答案選B選項(xiàng)。22.有以下程序:#includemain(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);}程序運(yùn)行后的輸出結(jié)果是()。A、1,2,1,2B、1,2,2,1C、2,1,2,1D、2,1,1,2答案:B解析:m和n的值不變,輸出結(jié)果為1,2;指針*p和*q交換了指向的位置,即*p=&n,*q=&m,輸出結(jié)果分別為2,1。答案選擇B選項(xiàng)。23.關(guān)系模型允許定義3類數(shù)據(jù)約束,下列不屬于數(shù)據(jù)約束的是()。A、實(shí)體完整性約束B(niǎo)、參照完整性約束C、屬性完整性約束D、用戶自定義的完整性約束答案:C解析:為了保證數(shù)據(jù)庫(kù)滿足業(yè)務(wù)規(guī)則,關(guān)系模型定義了:①實(shí)體完整性約束,指使用主鍵約束且主鍵不能為空值;②參照完整性約束,指不允許關(guān)系引用不存在的元組,外鍵要么是實(shí)際存在的元組,要么就為空;③用戶定義的完整性約束,指在具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求,由用戶自己定義。答案選擇C選項(xiàng)。24.具有3個(gè)結(jié)點(diǎn)的二叉樹(shù)有()。A、2種形態(tài)B、4種形態(tài)C、7種形態(tài)D、5種形態(tài)答案:D解析:具有3個(gè)結(jié)點(diǎn)的二叉樹(shù)有以下幾種形態(tài):25.以下選項(xiàng)中,不能對(duì)主函數(shù)中變量i和j的值進(jìn)行交換的程序是()。A、#includevoidswap(int*p,int*q){int*t;*t=*p;*p=*q;*q=*t;}main(){inti=10,j=20,*a=&i,*b=&j;swap(a,b);printf("i=%dj=%d\n",i,j);}B、#includevoidswap(int*p,int*q){intt;t=*p;*p=*q;*q=t;}main(){inti=10,j=20,*a=&i,*b=&j;swap(a,b);printf("i=%dj=%d\n",i,j);}C、#include#includevoidswap(int*p,int*q){int*t;t=(int*)malloc(sizeof(int));*t=*p;*p=*q;*q=*t;free(t);}main(){inti=10,j=20;swap(&i,&j);printf("i=%dj=%d\n",i,j);}D、#includevoidswap(int*p,int*q){intt;t=*p;*p=*q;*q=t;}main(){inti=10,j=20,*x=&i,*y=&j;swap(x,y);printf("i=%dj=%d\n",i,j);}答案:A解析:A項(xiàng),定義了一個(gè)臨時(shí)指針t,實(shí)現(xiàn)兩個(gè)指針地址的交換,而傳入的參數(shù)是兩個(gè)變量i和j的地址,但是函數(shù)內(nèi)部交換的是地址值,并沒(méi)有交換主函數(shù)中變量i與j的值;B項(xiàng),調(diào)用函數(shù)傳入的是i與j地址,函數(shù)體內(nèi)交換的是地址內(nèi)元素,臨時(shí)變量t為整型變量,能實(shí)現(xiàn)i與j值交換;C項(xiàng),調(diào)用函數(shù)傳入的是i與j地址,函數(shù)體內(nèi)交換的是地址內(nèi)元素,臨時(shí)變量t為整型指針,且已正確開(kāi)辟內(nèi)存,能實(shí)現(xiàn)i與j值交換;D項(xiàng)與B項(xiàng)相同,能實(shí)現(xiàn)i與j值交換。答案選擇A選項(xiàng)。26.有以下程序:#includemain(){intx=011;printf("%d\n",++x);}程序運(yùn)行后的輸出結(jié)果是()。A、12B、11C、10D、9答案:C解析:x=011表示按照八進(jìn)制賦值,則十進(jìn)制數(shù)為9,所以輸出++x的結(jié)果為10。答案選擇C選項(xiàng)。27.有以下程序段:scanf("%d%d%d",&a,&b,&c);if(a<b)a==b;if(a<c)a==c;printf("%d\n",a);該程序段的功能是()。A、輸出a、b、c中值相等的數(shù)值B、輸出a、b、c中的最大值C、輸出a、b、c中的最小值D、輸出a的原始值答案:D解析:程序段執(zhí)行過(guò)程為:從鍵盤讀入3個(gè)整型數(shù)據(jù)分別賦值給a,b,c,如果a<b,判斷a與b是否相等,無(wú)論結(jié)果如何不做任何改變。如果a<c,判斷a與c是否相等,無(wú)論結(jié)果如何均不做任何改變。區(qū)分“==”操作符和“=”操作符。最后對(duì)于輸入的a,b,c的值不做任何改變,即輸出a的原始值,答案選擇D選項(xiàng)。28.若有定義語(yǔ)句:inta=10;doubleb=3.14;,則表達(dá)式'A'+a+b值的類型是()。A、charB、intC、doubleD、float答案:C解析:在多目運(yùn)算符相關(guān)聯(lián)的運(yùn)算中,如果類型不一致,系統(tǒng)將自動(dòng)進(jìn)行類型轉(zhuǎn)換,使兩邊的類型達(dá)到一致后,再進(jìn)行運(yùn)算,轉(zhuǎn)換的規(guī)則是由“低到高”。'A'是字符型,a是整型,b是double型。字符型數(shù)據(jù)占1個(gè)字節(jié),整型占2個(gè)字節(jié),doub1e型占8個(gè)字節(jié),故三者相加后為double型,答案選擇C選項(xiàng)。29.以下敘述中錯(cuò)誤的是()。A、一個(gè)C程序可以包含多個(gè)不同名的函數(shù)B、一個(gè)C程序只能有一個(gè)主函數(shù)C、C程序在書(shū)寫(xiě)時(shí),有嚴(yán)格的縮進(jìn)要求,否則不能編譯通過(guò)D、C程序的主函數(shù)必須用main作為函數(shù)名答案:C解析:一個(gè)C程序有且只有一個(gè)主函數(shù)main。一個(gè)C程序可以包含多個(gè)不同名字的子函數(shù)。C程序在書(shū)寫(xiě)時(shí)沒(méi)有嚴(yán)格的縮進(jìn)要求。答案選擇C選項(xiàng)。30.有以下程序:#includemain(){intx=010,y=10;printf("%d,%d\n",++x,y--);}程序運(yùn)行后的輸出結(jié)果是()。A、10,9B、11,10C、010,9D、9,10答案:D解析:整型常量有3種表示方法,分別是十進(jìn)制數(shù)表示法、八進(jìn)制數(shù)表示法和十六進(jìn)制數(shù)表示法,八進(jìn)制整常量以0作為前綴。自增和自減運(yùn)算符的兩種用法:前置運(yùn)算,運(yùn)算符放在變量之前,規(guī)則是先使變量的值增(或減)1,然后以變化后表達(dá)式的值參與其他運(yùn)算;后置運(yùn)算,運(yùn)算符放在變量之后,規(guī)則是變量先參與其他運(yùn)算,然后再使變量的值增(或減)1。x=010,即十進(jìn)制的8,y=10,++x先自加后取值,輸出9,y--先取值輸出10,再自減y=9,答案選擇D選項(xiàng)。31.線性表常采用的兩種存儲(chǔ)結(jié)構(gòu)是()。A、散列方法和索引方式B、鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組C、順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)D、線性存儲(chǔ)結(jié)構(gòu)和非線性存儲(chǔ)結(jié)構(gòu)答案:C解析:線性表常用的存儲(chǔ)結(jié)構(gòu)為:①順序存儲(chǔ)結(jié)構(gòu),物理上連續(xù)存儲(chǔ),空間位置隱含邏輯位置;②鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),各元素物理存儲(chǔ)上不連續(xù),通過(guò)指針相連。答案選擇C選項(xiàng)。32.有以下程序:#includemain(){inta;scanf("%d",&a);if(a++<9)printf("%d\n",a);elseprintf("%d\n",a--);}程序運(yùn)行時(shí)鍵盤輸入9<回車>,則輸出的結(jié)果是()。A、10B、11C、9D、8答案:A解析:“++”和“—”運(yùn)算,當(dāng)以前綴形式出現(xiàn)時(shí),則先進(jìn)行加一或減一操作,再取值,當(dāng)以后綴形式出現(xiàn)時(shí),則先取值,再進(jìn)行加一或減一操作。判斷條件中if(a++<9)是先用后加,即a的值為9,所以條件不成立,但是a已經(jīng)進(jìn)行了自增1操作,a的值此時(shí)為10。執(zhí)行else語(yǔ)句時(shí),因?yàn)榇蛴--,是先用后減,所以先輸出10,然后a的值變?yōu)?。答案選擇A選項(xiàng)。33.有以下程序段:charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼十進(jìn)制值為97,則執(zhí)行上述程序段后輸出的結(jié)果是()。A、因變量類型與格式描述符的類型不匹配輸出無(wú)定值B、輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值C、a,97,12k=12D、a,97,k=12答案:D解析:字符變量的值是該字符的ASCII碼值,可以參與整型變量所允許的任何運(yùn)算?!癱h='a'”,%c表示以字符格式輸出ch的值,所以輸出為a;%d表示以十進(jìn)制代碼的形式輸出ch的值,為97;k沒(méi)有對(duì)應(yīng)的輸出格式,不輸出。在第二個(gè)語(yǔ)句中,首先輸出“k=”,然后以十進(jìn)制代碼輸出k的值,為12。答案選擇D選項(xiàng)。34.在E-R圖中,表示實(shí)體的圖形是()。A、矩形B、橢圓C、菱形D、圓答案:A解析:E-R圖是實(shí)體聯(lián)系模式圖,E-R圖的三要素:①實(shí)體,用矩形框表示,框內(nèi)為實(shí)體名稱;②屬性,用橢圓形表示,并用線與實(shí)體連接;③實(shí)體間的聯(lián)系,用菱形框表示,用線將菱形框與實(shí)體相連,并在線上標(biāo)注聯(lián)系的類型。答案選擇A選項(xiàng)。35.計(jì)算機(jī)軟件的構(gòu)成是()。A、源代碼B、程序和數(shù)據(jù)C、程序和文檔D、程序、數(shù)據(jù)及相關(guān)文檔答案:D解析:計(jì)算機(jī)軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合。答案選擇D選項(xiàng)。36.關(guān)于程序設(shè)計(jì)基本概念,以下敘述錯(cuò)誤的是()。A、計(jì)算機(jī)可以直接執(zhí)行由任意高級(jí)語(yǔ)言編寫(xiě)的程序B、高級(jí)語(yǔ)言都有與之對(duì)應(yīng)的編譯程序或解釋程序C、用任何一種計(jì)算機(jī)高級(jí)語(yǔ)言都可以把算法轉(zhuǎn)換為程序D、結(jié)構(gòu)化算法可以解決任何復(fù)雜的問(wèn)題答案:A解析:A項(xiàng)計(jì)算機(jī)只能識(shí)別機(jī)器語(yǔ)言,不能直接識(shí)別由高級(jí)語(yǔ)言編寫(xiě)的程序。結(jié)構(gòu)化的程序是由三種基本的結(jié)構(gòu)組成的:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),使用這三種結(jié)構(gòu)能夠解決任何問(wèn)題。答案選擇A選項(xiàng)。37.下列不屬于數(shù)據(jù)庫(kù)設(shè)計(jì)任務(wù)的是()。A、設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用結(jié)構(gòu)B、設(shè)計(jì)數(shù)據(jù)庫(kù)概論結(jié)構(gòu)C、設(shè)計(jì)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)D、設(shè)計(jì)數(shù)據(jù)庫(kù)物理結(jié)構(gòu)答案:A解析:數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求,主要設(shè)計(jì)過(guò)程包括:①需求分析階段;②概念設(shè)計(jì)階段;③邏輯設(shè)計(jì)階段;④物理設(shè)計(jì)階段;⑤數(shù)據(jù)庫(kù)實(shí)施;⑥數(shù)據(jù)庫(kù)的運(yùn)行和維護(hù)。答案選擇A選項(xiàng)。38.下列屬于黑盒測(cè)試方法的是()。A、語(yǔ)句覆蓋B、邏輯覆蓋C、邊界值分析D、路徑分析答案:C解析:黑盒測(cè)試用于對(duì)軟件的功能進(jìn)行測(cè)試和驗(yàn)證,不需考慮程序內(nèi)部的語(yǔ)句和邏輯結(jié)構(gòu)。黑盒測(cè)試的方法主要包括:①等價(jià)類劃分法;②邊界值分析法;③錯(cuò)誤推測(cè)法;④因果圖。語(yǔ)句覆蓋、邏輯覆蓋、路徑分析都是白盒測(cè)試的方法。答案選擇C選項(xiàng)。39.有如下程序:#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í)行過(guò)程為:判斷++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)。40.以下程序的功能是:通過(guò)調(diào)用calc函數(shù),把所求得的兩數(shù)之和值放入變量add中,并在主函數(shù)中輸出。#includevoidcalc(floatx,floaty,float*sum){______=x+y;}main(){floatx,y,add;scanf("%f%f",&x,&y);calc(x,y,&add);printf("x+y=%f\n",add);}calc函數(shù)中下劃線處應(yīng)填入的是()。A、*sumB、sumC、∑D、add答案:A解析:程序的執(zhí)行過(guò)程為:從鍵盤讀入兩個(gè)float類型數(shù)據(jù),分別賦給x,y,調(diào)用函數(shù)calc將x與y的值與add變量地址傳入函數(shù),地址賦給指針sum,函數(shù)體中將兩數(shù)之和放入指針指向的地址,指針正確的引用形式為:*sum,這表示變量,可以被賦值。所以橫線處填寫(xiě)*sum。答案選擇A選項(xiàng)。41.一個(gè)運(yùn)動(dòng)隊(duì)有多個(gè)隊(duì)員,一個(gè)隊(duì)員僅屬于一個(gè)運(yùn)動(dòng)隊(duì),一個(gè)隊(duì)一般都有一個(gè)教練,則實(shí)體運(yùn)動(dòng)隊(duì)和隊(duì)員的聯(lián)系是()。A、一對(duì)多B、一對(duì)一C、多對(duì)一D、多對(duì)多答案:A解析:一個(gè)運(yùn)動(dòng)隊(duì)有多個(gè)隊(duì)員,表明在運(yùn)動(dòng)隊(duì)表中的每個(gè)隊(duì)與隊(duì)員表中的一個(gè)或多個(gè)隊(duì)員相關(guān);一個(gè)隊(duì)員僅屬于一個(gè)運(yùn)動(dòng)隊(duì),表明隊(duì)員表中的每個(gè)隊(duì)員只可以與運(yùn)動(dòng)隊(duì)表中的一個(gè)隊(duì)相關(guān),為一對(duì)多關(guān)系。答案選擇A選項(xiàng)。42.棧和隊(duì)列的共同點(diǎn)是()。A、都是先進(jìn)后出B、都是先進(jìn)先出C、只允許在端點(diǎn)處插入和刪除元素D、沒(méi)有共同點(diǎn)答案:C解析:棧和隊(duì)列都是操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種“后進(jìn)先出”的線性表;而隊(duì)列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種“先進(jìn)先出”的線性表。答案選擇C選項(xiàng)。43.以下敘述中正確的是()。A、C語(yǔ)言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_(kāi)始執(zhí)行B、可以在程序中由用戶指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_(kāi)始執(zhí)行C、C語(yǔ)言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開(kāi)始執(zhí)行D、main的各種大小寫(xiě)拼寫(xiě)形式都可以作為主函數(shù)名,如:MAIN,Main等答案:A解析:用戶不能指定某函數(shù)為主函數(shù),C語(yǔ)言規(guī)定,程序從main函數(shù)開(kāi)始執(zhí)行,從main函數(shù)退出,C語(yǔ)言函數(shù)名區(qū)別大小寫(xiě)。答案選擇A選項(xiàng)。44.設(shè)有定義intx=2;以下表達(dá)式中,值不為6的是()。A、x*=x+1B、x++,2*xC、x*=(1+x)D、2*x,x+=2答案:D解析:A項(xiàng),因?yàn)橘x值運(yùn)算優(yōu)先級(jí)最低,故先執(zhí)行x+1,賦值符號(hào)右側(cè)為3,然后再計(jì)算x*=3,所以x=2*3=6;B項(xiàng),x++得3然后2*x得6;C項(xiàng)與A項(xiàng)原理一致。D項(xiàng),2*x雖然結(jié)果為4,但沒(méi)有賦值,此時(shí)x的值仍為2,所以最終為4。答案選擇D選項(xiàng)。45.以下敘述中錯(cuò)誤的是()。A、用戶定義的函數(shù)中可以沒(méi)有return語(yǔ)句B、用戶定義的函數(shù)中可以有多個(gè)return語(yǔ)句,以便可以調(diào)用一次返回多個(gè)函數(shù)值C、用戶定義的函數(shù)中若沒(méi)有return語(yǔ)句,則應(yīng)當(dāng)定義函數(shù)為void類型D、函數(shù)的return語(yǔ)句中可以沒(méi)有表達(dá)式答案:B解析:用戶定義的函數(shù)有兩種:①void函數(shù),可以沒(méi)有return語(yǔ)句,如果有return語(yǔ)句,也不可以返回任何表達(dá)式;②指定返回類型函數(shù),至少有一個(gè)返回語(yǔ)句。在一個(gè)函數(shù)內(nèi),可以根據(jù)需要在多處出現(xiàn)return語(yǔ)句,但無(wú)論有多少個(gè)return語(yǔ)句,return語(yǔ)句只會(huì)被執(zhí)行一次然后退出函數(shù),并且只能返回一個(gè)函數(shù)值。AC兩項(xiàng),在沒(méi)有返回值的函數(shù)中可以沒(méi)有return語(yǔ)句,函數(shù)類型定義為void即可;D項(xiàng),在沒(méi)有返回值的函數(shù)中如果有return語(yǔ)句,該語(yǔ)句必須不帶任何表達(dá)式;B項(xiàng),用戶定義的函數(shù)可以有多個(gè)return語(yǔ)句,但是只能返回一個(gè)函數(shù)值。答案選擇B選項(xiàng)。46.一個(gè)棧的初始狀態(tài)為空。現(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出的順序是()。A、12345ABCDEB、EDCBA54321C、ABCDE12345D、54321EDCBA答案:B解析:棧是按照“先進(jìn)后出”的原則組織數(shù)據(jù)的,入棧的順序?yàn)?2345ABCDE,則依次出棧的順序應(yīng)為其逆序,即EDCBA54321。答案選擇B選項(xiàng)。47.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫(kù)劃分原則是()。A、記錄長(zhǎng)度B、文件的大小C、聯(lián)系的復(fù)雜程度D、數(shù)據(jù)之間的聯(lián)系方式答案:D解析:數(shù)據(jù)庫(kù)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成。數(shù)據(jù)之間的關(guān)系或聯(lián)系是劃分?jǐn)?shù)據(jù)庫(kù)的主要依據(jù)。答案選擇D選項(xiàng)。48.設(shè)有定義:inta=0,b=1;以下表達(dá)式中,會(huì)產(chǎn)生“短路”現(xiàn)象,致使變量b的值不變的是()。A、+a∥++bB、a++∥++bC、++a&&b++D、a++&&b++答案:D解析:產(chǎn)生“短路”現(xiàn)象,即邏輯表達(dá)式靠后的部分不會(huì)被運(yùn)算。對(duì)于邏輯或運(yùn)算,表達(dá)式前半部分運(yùn)算結(jié)果為1時(shí)產(chǎn)生“短路”現(xiàn)象,A選項(xiàng),+a的值是0,需要計(jì)算后半部分,B選項(xiàng),a的值是先使用再自增1,a++值是0,也需要計(jì)算后半部分;對(duì)于邏輯與運(yùn)算,表達(dá)式前半部分運(yùn)算結(jié)果為0時(shí)產(chǎn)生“短路”現(xiàn)象,C選項(xiàng),a的值是先自增1再傳遞,傳值是1,需要計(jì)算后半部分;D項(xiàng),a的值是先傳遞再自增1,傳值是0,無(wú)需要計(jì)算后半部分,可忽視b++的值,因此b值不發(fā)生改變。答案選擇D選項(xiàng)。49.在C語(yǔ)言程序中,下列說(shuō)法中正確的是()。A、函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B、函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C、函數(shù)的定義和調(diào)用均不可以嵌套D、函數(shù)的定義和調(diào)用均可以嵌套答案:B解析:C語(yǔ)言規(guī)定,不能在函數(shù)的內(nèi)部定義函數(shù),但函數(shù)的調(diào)用可以嵌套。答案選擇B選項(xiàng)。50.某二叉樹(shù)中有n個(gè)度為2的結(jié)點(diǎn),則該二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)為()。A、n+1B、n-1C、2nD、n/2答案:A解析:在任意的二叉樹(shù)中,度為0的葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè)。所以本題中葉子結(jié)點(diǎn)數(shù)為n+1。答案選擇A選項(xiàng)。51.有以下程序#includeintfun1(doublea){return(int)(a*=a);}intfun2(doublex,doubley){doublea=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+b);}main(){doublew;w=fun2(1.1,2.0);printf("%4.2f",w);}程序執(zhí)行后輸出結(jié)果是()。A、5B、5.00C、5.21D、0.0答案:B解析:fun1(1.1)的值為1,fun1(2.0)的值為4,所以fun2(1.1,2.0)函數(shù)返5,%4.2f要求輸出的實(shí)數(shù)寬度為4,其中小數(shù)點(diǎn)后有2位,按格式輸出后為5.00。答案選擇B選項(xiàng)。52.為了使模塊盡可能獨(dú)立,要求()。A、模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)B、模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱C、模塊的內(nèi)聚程度要盡量低,且各模塊間的偶合程度要盡量弱D、模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)答案:B解析:系統(tǒng)設(shè)計(jì)的質(zhì)量主要反映在模塊的獨(dú)立性上。評(píng)價(jià)模塊獨(dú)立性的主要標(biāo)準(zhǔn)有兩個(gè):一是模塊之間的耦合,它表明兩個(gè)模塊之間互相獨(dú)立的程度;二是模塊內(nèi)部之間的關(guān)系是否緊密,稱為內(nèi)聚。一般來(lái)說(shuō),要求模塊之間的耦合盡可能地弱,即模塊盡可能獨(dú)立,而要求模塊的內(nèi)聚程度盡量地高。答案選擇B選項(xiàng)。53.有以下程序#includemain(){inta,b;for(a=0;a<3;a++){scanf("%d",&b);switch(b){default:printf("%d,",++b);case1:printf("%d,",++b);case2:printf("%d,",++b);}}}執(zhí)行時(shí)輸入:123<回車>,則輸出結(jié)果是()。A、2,3,3,4,5,6,B、2,3,4,C、2,2,3,4,4,4,D、2,3,4,3,4,4,答案:A解析:考查C語(yǔ)言中的switch-case語(yǔ)句。執(zhí)行switch-case語(yǔ)句時(shí),一定會(huì)先進(jìn)行匹配,匹配成功則執(zhí)行當(dāng)前case語(yǔ)句,再根據(jù)是否有break,判斷是否繼續(xù)輸出,或是跳出判斷。程序中輸入1時(shí),與case1匹配成功,執(zhí)行后面的輸出語(yǔ)句,輸出2,且此時(shí)b=2,因?yàn)楹竺鏇](méi)有break語(yǔ)句,繼續(xù)執(zhí)行下一條輸出語(yǔ)句,輸出3。繼續(xù)輸入2時(shí),與case2匹配成功,執(zhí)行后面的輸出語(yǔ)句,輸出3。輸入3時(shí),沒(méi)有可匹配的case語(yǔ)句,執(zhí)行default語(yǔ)句,輸出4,b變?yōu)?;后面沒(méi)有break語(yǔ)句,繼續(xù)執(zhí)行case1后的輸出語(yǔ)句,輸出5,b變?yōu)?;同理繼續(xù)執(zhí)行case2后面的輸出語(yǔ)句,輸出6。答案選擇A選項(xiàng)。54.有以下程序:#includedoublef(doublex);main(){doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf("%5.0f\n",a);}doublef(doublex){returnx*x+1;}程序運(yùn)行后的輸出結(jié)果是()。A、503B、401C、500D、1404答案:A解析:函數(shù)f的功能是計(jì)算傳入的實(shí)參x的平方加一,然后將結(jié)果返回。i初始值為0,根據(jù)x*x+1,即第一次返回值為1,然后執(zhí)行i=i+10,第二次i的值為10,即返回值為101+1=102,第三次i的值為20,即返回值為401+102=503。注意輸出格式,5位浮點(diǎn)型輸出。答案選擇A選項(xiàng)。55.有以下程序:#includemain(){inta1,a2;charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通過(guò)鍵盤輸入,使得a1的值為12,得a2的值為34.得c1的值為a,得c2的值為b,程序輸出結(jié)果是:12,a,34,b則正確的輸入格式是(以下_代表空格,代表回車)()。A、12a34bB、12_a_34_bC、12,a,34,bD、12_a34_b答案:A解析:在輸入字符型時(shí),要求輸入數(shù)據(jù)時(shí)按照一一對(duì)應(yīng)的位置原樣輸入這些字符,即不能加逗號(hào)、回車和空格,因?yàn)檫@些也算是字符。答案選擇A選項(xiàng)。56.下列敘述中正確的是()。A、為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系B、表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)C、一個(gè)關(guān)系的屬性名表稱為關(guān)系模式D、一個(gè)關(guān)系可以包括多個(gè)二維表答案:A解析:B項(xiàng)錯(cuò)誤,元組中的每一分量具有原子性,是二維表中不可分割的基本數(shù)據(jù)項(xiàng);C項(xiàng)錯(cuò)誤,關(guān)系模式是指關(guān)系的框架;D項(xiàng)錯(cuò)誤,關(guān)系的性質(zhì)有:①元組個(gè)數(shù)有限性;②元組的唯一性;③元組的次序無(wú)關(guān)性;④元組分量的原子性;⑤屬性名唯一性;⑥屬性的次序無(wú)關(guān)性;⑦分量值域的同一性。所以一個(gè)關(guān)系不可能包括多個(gè)二維表。答案選擇A選項(xiàng)。57.有以下程序#includemain(){intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;default:n=0;k--;case2:case4:n+=2;k--;break;}printf("%d",n);}while(k>0&&n<5);}程序運(yùn)行后的輸出結(jié)果是()。A、235B、0235C、02356D、2356答案:A解析:第一次循環(huán)k為5,執(zhí)行“n=0;k--;”和“n+=2;k--;break;”輸出n為2,k的值為3,第二次循環(huán)k為3,執(zhí)行“n+=1;k--,break;”輸出n為3,k的值為2,第三次循環(huán)k為2,執(zhí)行“n+=2;k--;break;”,輸出n為5,k的值為1,循環(huán)條件不成立,所以輸出235。答案選擇A選項(xiàng)。58.有以下程序#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ù)的作用是計(jì)算兩個(gè)整數(shù)的和,r=fun(fun(x,y),z--)等價(jià)于: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)。59.有三個(gè)關(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),交是指兩個(gè)關(guān)系的公共部分;C項(xiàng),投影是從表中選出指定的屬性值組成新表,是單目運(yùn)算;D項(xiàng),并運(yùn)算將結(jié)構(gòu)相同的兩個(gè)關(guān)系合并,合并后的關(guān)系包含兩個(gè)關(guān)系中的所有元組。答案選擇A選項(xiàng)。60.有以下程序:#includemain(){inta=1,b=0;if(--a)b++;elseif(a==0)b+=2;elseb+=3;printf("%d\n",b);}程序運(yùn)行后的輸出結(jié)果是()。A、0B、1C、2D、3答案:C解析:“++”和“—”運(yùn)算,當(dāng)以前綴形式出現(xiàn)時(shí),則先進(jìn)行加一或減一操作,再取值,當(dāng)以后綴形式出現(xiàn)時(shí),則先取值,再進(jìn)行加一或減一操作。a初始定義為1,b為0,先執(zhí)行--a,結(jié)果為0,即if判斷為假,執(zhí)行b+=2;,然后輸出b的值。即b為2。答案選擇C選項(xiàng)。61.以下程序的功能是判斷輸入的一個(gè)整數(shù)是否能被3或7整除,若能整除,輸出YES,否則輸出NO。在下劃線處應(yīng)填入的選項(xiàng)是()。#includemain(){intk;printf("Enteraintnumber:");scanf("%d",&k);if_____printf("YES\n");elseprintf("NO\n");printf("%d\n",k%3);}A、((k%3==0)∥(k%7==0))B、(k/3==0)∥(k/7==0)C、((k%3=0)∥(k%7=0))D、((k%3==0)&&(k%7==0))答案:A解析:是否能被3或7整除表達(dá)式為(k%3==0)∥(k%7==0),A項(xiàng)正確。B項(xiàng)“/”為除號(hào),錯(cuò)誤。C項(xiàng)中“=”為賦值運(yùn)算符,不是邏輯運(yùn)算符“==”,錯(cuò)誤。D項(xiàng)“&&”為邏輯與,本題應(yīng)該為邏輯或“∥”,錯(cuò)誤。答案選擇A選項(xiàng)。62.算法應(yīng)當(dāng)具有的特性不包括()。A、可行性B、有窮性C、確定性D、美觀性答案:D解析:一個(gè)算法應(yīng)該具有以下五個(gè)重要的特征:有窮性,確定性,輸入(零個(gè)或多個(gè)),輸出(至少一個(gè))以及可行性,不包括美觀性。答案選擇D選項(xiàng)。63.下列不屬于軟件設(shè)計(jì)階段任務(wù)的是()。A、軟件總體設(shè)計(jì)B、算法設(shè)計(jì)C、制定軟件確定測(cè)試計(jì)劃D、數(shù)據(jù)庫(kù)設(shè)計(jì)答案:C解析:軟件概要設(shè)計(jì)階段的任務(wù)有:①軟件體系結(jié)構(gòu)設(shè)計(jì);②軟件數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫(kù)設(shè)計(jì);③編寫(xiě)概要設(shè)計(jì)文檔;④概要設(shè)計(jì)文檔評(píng)審。軟件確認(rèn)測(cè)試計(jì)劃是在需求分析階段制定的,依據(jù)需求規(guī)格說(shuō)明書(shū)來(lái)驗(yàn)證軟件的功能和性能。答案選擇C選項(xiàng)。64.下列敘述中錯(cuò)誤的是()。A、算法的時(shí)間復(fù)雜度與算法所處理數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有直接關(guān)系B、算法的空間復(fù)雜度與算法所處理數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有直接關(guān)系C、算法的時(shí)間復(fù)雜度與空間復(fù)雜度有直接關(guān)系D、算法的時(shí)間復(fù)雜度與算法程序執(zhí)行的具體時(shí)間是不一致的答案:C解析:算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)直接決定數(shù)據(jù)輸入,因此會(huì)影響算法所執(zhí)行的基本運(yùn)算次數(shù),A項(xiàng)正確;算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間,其中包括輸入數(shù)據(jù)所占的存儲(chǔ)空間,B項(xiàng)正確;算法的時(shí)間復(fù)雜度與空間復(fù)雜度沒(méi)有直接關(guān)系,C項(xiàng)錯(cuò)誤;算法程序執(zhí)行的具體時(shí)間受到所使用的計(jì)算機(jī)、程序設(shè)計(jì)語(yǔ)言以及算法實(shí)現(xiàn)過(guò)程中的許多細(xì)節(jié)影響,而算法的時(shí)間復(fù)雜度與這些因素?zé)o關(guān),所以算法的時(shí)間復(fù)雜度與算法程序執(zhí)行的具體時(shí)間是不一致的,D項(xiàng)正確。答案選擇C選項(xiàng)。65.C源程序中不能表示的數(shù)制是()。A、二進(jìn)制B、八進(jìn)制C、十進(jìn)制D、十六進(jìn)制答案:A解析:C語(yǔ)言中整型常量可以用十進(jìn)制、八進(jìn)制數(shù)、十六進(jìn)制數(shù)來(lái)表示。雖然計(jì)算機(jī)只能識(shí)別二進(jìn)制數(shù),但二進(jìn)制不能用源程序表示。答案選擇A選項(xiàng)。66.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()。A、數(shù)據(jù)模型B、軟件開(kāi)發(fā)C、數(shù)據(jù)庫(kù)設(shè)計(jì)D、數(shù)據(jù)庫(kù)管理系統(tǒng)答案:D解析:數(shù)據(jù)庫(kù)系統(tǒng)包括四個(gè)部分:數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)應(yīng)用程序、數(shù)據(jù)庫(kù)管理員。其中DBMS是為數(shù)據(jù)庫(kù)的建立、使用和維護(hù)而配置的軟件,是數(shù)據(jù)庫(kù)系統(tǒng)的核心。答案選擇D選項(xiàng)。67.以下敘述中錯(cuò)誤的是()。A、函數(shù)的返回值類型不能是結(jié)構(gòu)體類型,只能是簡(jiǎn)單類型B、函數(shù)可以返回指向結(jié)構(gòu)體變量的指針C、可以通過(guò)指向結(jié)構(gòu)體變量的指針訪問(wèn)所指結(jié)構(gòu)體變量的任何成員D、只要類型相同,結(jié)構(gòu)體變量之間可以整體賦值答案:A解析:函數(shù)的返回值類型可以是結(jié)構(gòu)體類型,也可以是指向結(jié)構(gòu)體變量的指針類型,相同類型結(jié)構(gòu)體變量之間可以整體賦值,可以通過(guò)指針變量引用結(jié)構(gòu)體成員。答案選擇A選項(xiàng)。68.若變量已正確定義for(x=0,y=0;(y!=99&&x<4);x++)則以上for循環(huán)()。A、執(zhí)行無(wú)限次B、執(zhí)行3次C、執(zhí)行4次D、執(zhí)行次數(shù)不定答案:C解析:y!=99始終是true,沒(méi)有起到作用;x經(jīng)過(guò)4次循環(huán)后變成4,不滿足x<4的條件,跳出循環(huán)。答案選擇C選項(xiàng)。69.有以下程序:#includemain(){inti=5;do{if(i%3==1)if(i%5==2){printf("*%d",i);break;}i++;}while(i!=0);printf("\n");}程序運(yùn)行的結(jié)果是()。A、*7B、*3*5C、*5D、*2*6答案:A解析:在dowhile循環(huán)中,總是先執(zhí)行循環(huán)體后判斷循環(huán)條件,所以循環(huán)體至少會(huì)被執(zhí)行一次。在循環(huán)中,如果滿足(i%3==1)&&(i%5==2),則輸出i的值,并執(zhí)行break;退出dowhile循環(huán);否則i++,繼續(xù)判斷while條件,如果i==0,則終止dowhile循環(huán)。第1遍循環(huán),5%3==1不成立,執(zhí)行i++,i變?yōu)?,第1遍循環(huán)結(jié)束,判斷(i!=0)為真,繼續(xù)循環(huán)。第2遍循環(huán),6%3==1不成立,執(zhí)行i++,i變?yōu)?,第2遍循環(huán)結(jié)束,判斷(i!=0)為真,繼續(xù)循環(huán)。第3遍循環(huán)7%3==1成立,7%3==2成立,執(zhí)行if子句printf("*%d",i);break;,輸出*7之后跳出循環(huán)。答案選擇A選項(xiàng)。70.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。A、程序的規(guī)模B、程序的效率C、程序設(shè)計(jì)語(yǔ)言的先進(jìn)性D、程序易讀性答案:D解析:遵循結(jié)構(gòu)化程序的設(shè)計(jì)原則,按結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)出的程序具有明顯的優(yōu)點(diǎn):①程序易于理解、使用和維護(hù);②提高了編程工作的效率,降低了軟件開(kāi)發(fā)成本。答案選擇D選項(xiàng)。71.有三個(gè)關(guān)系R、S和T如下:其中關(guān)系T由關(guān)系R和S通過(guò)某種操作得到,該操作為()。A、選擇B、投影C、交D、并答案:D解析:選擇和投影操作對(duì)單個(gè)關(guān)系進(jìn)行操作,選擇運(yùn)算是對(duì)行的操作,投影運(yùn)算是對(duì)列的操作。交和并運(yùn)算要求參與運(yùn)算的表具有相同的屬性,交運(yùn)算的結(jié)果是兩個(gè)表的公共部分,并運(yùn)算的結(jié)果包含兩個(gè)表的所有元素。觀察三個(gè)關(guān)系的元組可知,關(guān)系T=R∪S。答案選擇D選項(xiàng)。72.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式不包括()。A、概念模式B、內(nèi)模式C、外模式D、數(shù)據(jù)模式答案:D解析:數(shù)據(jù)庫(kù)三級(jí)模式包括概念模式、外模式和內(nèi)模式。答案選擇D選項(xiàng)。73.在面向?qū)ο蠓椒ㄖ?,不屬于“?duì)象”基本特點(diǎn)的是()。A、一致性B、分類性C、多態(tài)性D、標(biāo)識(shí)唯一性答案:A解析:對(duì)象的基本特點(diǎn)有:①標(biāo)識(shí)惟一性,是指對(duì)象是可區(qū)分的;②分類性,是指可將具有相同屬性和操作的對(duì)象抽象成類;③多態(tài)性,是指相同的操作或函數(shù)、過(guò)程可作用于多種類型的對(duì)象上并獲得不同的結(jié)果。不同的對(duì)象,收到同一消息可以產(chǎn)生不同的結(jié)果;④封裝性,是指對(duì)象的內(nèi)部對(duì)外不可見(jiàn),在外面不可直接使用對(duì)象的處理能力,也不能直接修改對(duì)象的內(nèi)部狀態(tài);⑤模塊獨(dú)立性,是指模塊內(nèi)部各部分及模塊間的關(guān)系的一種衡量標(biāo)準(zhǔn)。答案選擇A選項(xiàng)。74.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績(jī)),則表SC的關(guān)鍵字(鍵或碼)為()。A、課號(hào),成績(jī)B、學(xué)號(hào),成績(jī)C、學(xué)號(hào),課號(hào)D、學(xué)號(hào),姓名,成績(jī)答案:C解析:學(xué)號(hào)是學(xué)生表S的主鍵,課號(hào)是課程表C的主鍵,所以選課表SC的關(guān)鍵字應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào)。答案選擇C選項(xiàng)。75.以下選項(xiàng)中敘述正確的是()。A、C語(yǔ)言的標(biāo)識(shí)符可分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符三類B、C語(yǔ)言的標(biāo)識(shí)符可分為語(yǔ)句、變量和關(guān)鍵字三類C、C語(yǔ)言的標(biāo)識(shí)符可分為函數(shù)名、變量和預(yù)定義標(biāo)識(shí)符三類D、C語(yǔ)言的標(biāo)識(shí)符可分為運(yùn)算符、用戶標(biāo)識(shí)符和關(guān)鍵字三類答案:A解析:C語(yǔ)言的標(biāo)識(shí)符可分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符三類,答案選擇A選項(xiàng)。76.在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是()。A、各模塊應(yīng)包括盡量多的功能B、各模塊的規(guī)模應(yīng)盡量大C、各模塊之間的聯(lián)系應(yīng)盡量緊密D、模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度答案:D解析:在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是:各模塊應(yīng)盡量包括單一功能、各模塊的規(guī)模應(yīng)合適(不能太大)、各模塊之間的聯(lián)系應(yīng)盡量松散。模塊獨(dú)立性最大原則是模塊劃分的原則之一,高內(nèi)聚低耦合是優(yōu)秀軟件設(shè)計(jì)應(yīng)當(dāng)遵循的規(guī)則,內(nèi)聚度是一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程序的度量,耦合度是模塊間互相連接的緊密程度的度量。答案選擇D選項(xiàng)。77.軟件生命周期是指()。A、軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程B、軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測(cè)試完成的過(guò)程C、軟件的開(kāi)發(fā)過(guò)程D、軟件的運(yùn)行維護(hù)過(guò)程答案:A解析:軟件生命周期是指軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用、維護(hù)到停止使用、退役的過(guò)程。答案選擇A選項(xiàng)。78.以下敘述正確的是()。A、do-while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為0時(shí)結(jié)束循環(huán)B、do-while語(yǔ)句和while-do構(gòu)成的循環(huán)功能相同C、while-do語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為非0時(shí)結(jié)束循環(huán)D、do-while語(yǔ)句構(gòu)成的循環(huán),必須用break語(yǔ)句退出循環(huán)答案:A解析:B項(xiàng)錯(cuò)誤,do-while語(yǔ)句先執(zhí)行循環(huán)體,再判斷循環(huán)條件語(yǔ)句,while-do循環(huán)先判斷循環(huán)條件語(yǔ)句,再執(zhí)行循環(huán)體;C項(xiàng)錯(cuò)誤,do-while語(yǔ)句構(gòu)成的循環(huán),while語(yǔ)句中的表達(dá)式值為0時(shí)結(jié)束循環(huán);D項(xiàng)錯(cuò)誤,do-while語(yǔ)句除了可以使用break語(yǔ)句退出循環(huán)外,還可以使用循環(huán)條件語(yǔ)句,當(dāng)不滿足循環(huán)條件時(shí)退出循環(huán)。答案選擇A選項(xiàng)。79.負(fù)責(zé)數(shù)據(jù)庫(kù)中查詢操作的數(shù)據(jù)庫(kù)語(yǔ)言是()。A、數(shù)據(jù)定義語(yǔ)言B、數(shù)據(jù)管理語(yǔ)言C、數(shù)據(jù)操縱語(yǔ)言D、數(shù)據(jù)控制語(yǔ)言答案:C解析:數(shù)據(jù)庫(kù)語(yǔ)言包括:①數(shù)據(jù)定義語(yǔ)言,負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;②數(shù)據(jù)操縱語(yǔ)言,負(fù)責(zé)數(shù)據(jù)的操縱,包括增刪改查等操作;③數(shù)據(jù)控制語(yǔ)言,負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。答案選擇C選項(xiàng)。80.以下敘述中錯(cuò)誤的是()。A、C語(yǔ)言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的B、用C語(yǔ)言編寫(xiě)的源程序不能直接在計(jì)算機(jī)上運(yùn)行C、通過(guò)編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行D、在沒(méi)有安裝C語(yǔ)言集成開(kāi)發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的exe文件答案:D解析:A項(xiàng)正確,C語(yǔ)言的可執(zhí)行程序是由一系列機(jī)器指令組成的;BC項(xiàng)正確,用C語(yǔ)言編寫(xiě)的源程序必須經(jīng)過(guò)編譯,生成二進(jìn)制目標(biāo)代碼,再經(jīng)過(guò)連接才能運(yùn)行;D項(xiàng)錯(cuò)誤,C語(yǔ)言經(jīng)過(guò)編譯鏈接后的二進(jìn)制目標(biāo)代碼可以脫離C語(yǔ)言集成開(kāi)發(fā)環(huán)境獨(dú)立運(yùn)行。答案選擇D選項(xiàng)。81.若有定義語(yǔ)句intb=2;則表達(dá)式(b<<2)/(3∥b)的值是()。A、4B、8C、0D、2答案:B解析:b=2,轉(zhuǎn)為二進(jìn)制即為0010,首先將b左移兩位,變成1000,即十進(jìn)制的8,3∥b的值為真即為1,最后計(jì)算8/1=8。答案選擇B選項(xiàng)。82.有以下程序#includemain(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運(yùn)行后的輸出結(jié)果是()。A、2,3,1B、2,3,2C、2,3,3D、2,2,1答案:A解析:考查逗號(hào)表達(dá)式。注意區(qū)分,z=x++是先將x的值賦給z,在令x自增;z=++x是先將x自增,再將自增后的值賦給z;而無(wú)論是++x還是x++,都會(huì)完成x自增的運(yùn)算。對(duì)于表達(dá)式“z=x++,y++,++y;”,因?yàn)橘x值運(yùn)算符的優(yōu)先級(jí)高于逗號(hào)運(yùn)算符的優(yōu)先級(jí),所以可以將上式改成“(z=x++),(y++),(++y);”。然后從左向右先計(jì)算表達(dá)式z=x++,后綴自增運(yùn)算先進(jìn)行其他運(yùn)算,再執(zhí)行自增運(yùn)算,所以z的值為1,x的值為2,再計(jì)算逗號(hào)表達(dá)式第二個(gè)表達(dá)式y(tǒng)++,此時(shí)y的值為1,y++的值為2,最后計(jì)算第三個(gè)表達(dá)式++y,y的值為3。答案選擇A選項(xiàng)。83.有以下程序#includemain(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}執(zhí)行后的輸出結(jié)果是()。A、32B、24C、5D、40答案:A解析:自增運(yùn)算符“++”分為前綴和后綴兩種形式。兩種形式的作用效果是一樣的,都是使運(yùn)算分量的值加1,但是它們的表達(dá)式的值不一樣,前綴形式表達(dá)式的值為運(yùn)算分量加1之后的值,而后綴形式表達(dá)式的值為運(yùn)算分量加1之前的值。題目中使用了一個(gè)for循環(huán),循環(huán)變量i從1遞增到40。在循環(huán)體中有兩條嵌套的if語(yǔ)句,首先判斷i++%5==0,即判斷i++的值(i加1之前的值)是否能被5整除(判斷后i被加1),然后再判斷++i的值(i加1之后的值)是否能被8整除(判斷后i被加1),若兩個(gè)條件都滿足了,就輸出i的值,只有i=30時(shí),滿足i++%5==0,此時(shí)i=31,++i%8==0成立,此時(shí)i=32。答案選擇A選項(xiàng)。84.設(shè)有定義:doublex=2.12;,以下不能完整輸出變量x值的語(yǔ)句是()。A、printf("x=%5.0f\n",x);B、printf("x=%f\n",x);C、printf("x=%lf\n",x);D、printf("x=%0.5f\n",x);答案:A解析:printf函數(shù)控制字符%f輸出float類型,%lf輸出double類型。格式控制%m.nf,表示數(shù)據(jù)輸出總的寬度為m位,其中小數(shù)部分占n位。當(dāng)數(shù)據(jù)的小數(shù)位多于指定寬度n時(shí),截去右邊多余的小數(shù),并對(duì)截去的第一位小數(shù)做四舍五入處理;而當(dāng)數(shù)據(jù)的小數(shù)位少于指定寬度n時(shí),在小數(shù)的右邊補(bǔ)零;當(dāng)m小于有效位數(shù)時(shí),整數(shù)部分輸出所有有效數(shù)字并且自動(dòng)對(duì)齊,小數(shù)部分按照n指定位數(shù)輸出。A項(xiàng)按照f(shuō)loat格式輸出數(shù)據(jù),寬度為5位,保留小數(shù)0位,輸出為2,不能完整輸出x。B項(xiàng)按照f(shuō)loat格式輸出數(shù)據(jù),輸出為2.120000。C項(xiàng)按照double格式輸出數(shù)據(jù),輸出為2.120000。D項(xiàng)按照f(shuō)loat格式輸出數(shù)據(jù),保留小數(shù)位數(shù)為5,輸出為2.12000。答案選擇A選項(xiàng)。85.以下選項(xiàng)中敘述正確的是()。A、函數(shù)體必須由{開(kāi)始B、C程序必須由main語(yǔ)句開(kāi)始C、C程序中的注釋可以嵌套D、C程序中的注釋必須在一行完成答案:A解析:函數(shù)體是函數(shù)首部下面的花括號(hào)內(nèi)的部分,所以函數(shù)體必須由{開(kāi)始,A選項(xiàng)正確。一個(gè)源程序文件可以包括預(yù)處理命令、全局聲明、函數(shù)定義,程序總是從main函數(shù)開(kāi)始執(zhí)行的,不是main語(yǔ)句,B選項(xiàng)錯(cuò)誤。C程序中允許兩種注釋,以//開(kāi)頭的單行注釋;以/*開(kāi)始,以*/結(jié)束的塊式注釋,D選項(xiàng)錯(cuò)誤。函數(shù)可以嵌套,注釋不能嵌套,C選項(xiàng)錯(cuò)誤。答案選擇A選項(xiàng)。86.以下程序段中,不能實(shí)現(xiàn)條件“如果aA、x=(a>=b)?-10:10;B、if(a<b)x=10;elsex=-10;C、x=-10;if(b>a)x=10;D、if(a<b)x=10;if(b<a)x=-10;答案:D解析:A項(xiàng):條件運(yùn)算符?運(yùn)算過(guò)程為:如果a>=b,x=-10,否則x=10,能實(shí)現(xiàn)題目中功能。B項(xiàng):如果a<b,則x=10,否則x=-10,能實(shí)現(xiàn)題目中功能。c項(xiàng):首先賦值x=-10,如果a<b,則x=10,即在a>=b情況下有x=-10,能實(shí)現(xiàn)題目中功能。D項(xiàng):如果a<

B,則x=10,如果b<a,則x=-10,其中沒(méi)有對(duì)a=b進(jìn)行判斷,不能實(shí)現(xiàn)題目中功能,答案選擇D選項(xiàng)。87.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是()。A、控制流B、加工C、存儲(chǔ)文件D、源和潭答案:A解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工角度,以圖形方式來(lái)表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過(guò)程,其圖符包括:①加工、②數(shù)據(jù)流、③存儲(chǔ)文件、④源和潭。答案選擇A選項(xiàng)。88.數(shù)據(jù)結(jié)構(gòu)主要研究的是數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的運(yùn)算和()。A、數(shù)據(jù)的方法B、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)C、數(shù)據(jù)的對(duì)象D、數(shù)據(jù)的邏輯存儲(chǔ)答案:B解析:數(shù)據(jù)結(jié)構(gòu)是相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合,主要研究數(shù)據(jù)元素及其之間的相互關(guān)系和數(shù)據(jù)運(yùn)算,包括:①數(shù)據(jù)的邏輯結(jié)構(gòu);②數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu);③數(shù)據(jù)的運(yùn)算。其中邏輯結(jié)構(gòu)反映的是數(shù)據(jù)元素之間的邏輯關(guān)系,與使用的計(jì)算機(jī)無(wú)關(guān)。答案選擇B選項(xiàng)。89.數(shù)據(jù)流程圖(DFD圖)是()。A、軟件概要設(shè)計(jì)的工具B、軟件詳細(xì)設(shè)計(jì)的工具C、結(jié)構(gòu)化方法的需求分析工具D、面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ叽鸢福篊解析:數(shù)據(jù)流圖是描述數(shù)據(jù)處理過(guò)程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)的功能建模,是結(jié)構(gòu)化方法的需求分析工具。答案選擇C選項(xiàng)。90.下面關(guān)于算法的敘述中,正確的是()。A、算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)B、算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止C、算法的空間復(fù)雜度是指算法程序中指令(或語(yǔ)句)的條數(shù)D、算法所執(zhí)行的基本運(yùn)算次數(shù)與問(wèn)題的規(guī)模無(wú)關(guān)答案:B解析:A項(xiàng)錯(cuò)誤,不同的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)有不同的數(shù)據(jù)讀取效率,會(huì)影響到算法的執(zhí)行;C項(xiàng)錯(cuò)誤,算法的空間復(fù)雜度是對(duì)這個(gè)算法所需要的內(nèi)存空間的量度,包括:①算法程序所占的空間;②輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間;③算法執(zhí)行中所需要的額外空間;D項(xiàng)錯(cuò)誤,算法所執(zhí)行的基本運(yùn)算次數(shù)與問(wèn)題的規(guī)模有關(guān)。答案選擇B選項(xiàng)。91.有以下程序:#includemain(){intx=1,y=2,z=3;if(x>1)if(y>x)putchar('A');elseputchar('B');elseif(z<x)putchar('C');elseputchar('D');}程序的運(yùn)行結(jié)果是()。A、DB、CC、BD、A答案:A解析:A項(xiàng)正確,main函數(shù)中,首先判斷條件x>1,因?yàn)閤=1,不滿足條件,程序跳入else語(yǔ)句判定z<x是否成立,z=3,x=1,條件不成立,輸出字母D。答案選擇A選項(xiàng)。92.下列敘述中正確的是()。A、每一個(gè)結(jié)點(diǎn)有兩個(gè)指針域的鏈表一定是非線性結(jié)構(gòu)B、所有結(jié)點(diǎn)的指針域都為非空的鏈表一定是非線性結(jié)構(gòu)C、循環(huán)鏈表是循環(huán)隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)D、線性結(jié)構(gòu)的存儲(chǔ)結(jié)點(diǎn)也可以有多個(gè)指針答案:D解析:D項(xiàng)正確,雙向鏈表結(jié)點(diǎn)具有多個(gè)指針域。A項(xiàng)錯(cuò)誤,雙向鏈表結(jié)點(diǎn)具有兩個(gè)指針域,屬于線性結(jié)構(gòu);B項(xiàng)錯(cuò)誤,循環(huán)鏈表所有結(jié)點(diǎn)的指針域都為非空,屬于線性結(jié)構(gòu);C項(xiàng)錯(cuò)誤,循環(huán)鏈表是鏈表,循環(huán)隊(duì)列屬于隊(duì)列,隊(duì)列只能在隊(duì)尾入隊(duì),在隊(duì)頭出隊(duì),鏈表可以在任何位置插入、刪除。答案選擇D選項(xiàng)。93.有以下程序:#includemain(){charc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}}printf("\n");}程序運(yùn)行后從第一列開(kāi)始輸入以下數(shù)據(jù):2473<回車>程序的輸出結(jié)果是()。A、668977B、4444C、6677877D、68766答案:A解析:本題執(zhí)行過(guò)程為:讀入c='2',c-'2'=0,首先匹配case0,依次輸出6,6,后執(zhí)行break語(yǔ)句,跳出分支結(jié)構(gòu);讀入c='4',c-'2'=2,匹配case2,輸出8,執(zhí)行break語(yǔ)句,跳出分支結(jié)構(gòu);讀入c='7',c-'2'=5,匹配default,輸出9,執(zhí)行break語(yǔ)句,跳出分支結(jié)構(gòu);讀入c='3',c-'2'=1,匹配case1,依次輸出7,7,執(zhí)行break語(yǔ)句,跳出分支結(jié)構(gòu)。輸入回車,結(jié)束循環(huán)。答案選擇A選項(xiàng)。94.設(shè)有一個(gè)商店的數(shù)據(jù)庫(kù),記錄客戶及其購(gòu)物情況,由三個(gè)關(guān)系組成:商品(商品號(hào),商品名,單價(jià),商品類別,供應(yīng)商),客戶(客戶號(hào),姓名,地址,電郵,性別,身份證號(hào)),購(gòu)買(客戶號(hào),商品號(hào),購(gòu)買數(shù)量),則關(guān)系購(gòu)買的鍵為()。A、客戶號(hào)B、商品號(hào)C、客戶號(hào),商品號(hào)D、客戶號(hào),商品號(hào),購(gòu)買數(shù)量答案:C解析:在購(gòu)買關(guān)系中,商品號(hào)、客戶號(hào)、購(gòu)買數(shù)量三個(gè)屬性均不能唯一標(biāo)識(shí)元組,但商品號(hào)與客戶號(hào)構(gòu)成的集合、商品號(hào)、客戶號(hào)、購(gòu)買數(shù)量構(gòu)成的集合都可以唯一標(biāo)識(shí)購(gòu)買關(guān)系,可以作為候選鍵,而前者為最小屬性集。答案選擇C選項(xiàng)。95.設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過(guò)一系列入隊(duì)與退隊(duì)運(yùn)算后,front=15,rear=15,則循環(huán)隊(duì)列的元素個(gè)數(shù)為()。A、15B、16C、20D、0或35答案:D解析:在循環(huán)隊(duì)列中,front為隊(duì)首指針,指向隊(duì)首元素的前一個(gè)位置;rear為隊(duì)尾指針,指向隊(duì)尾元素。front=rear=15時(shí),①循環(huán)隊(duì)列可能為空,隊(duì)首和隊(duì)尾指針都指向空元素,此時(shí)循環(huán)隊(duì)列的元素個(gè)數(shù)為0;②循環(huán)隊(duì)列可能為滿,此時(shí)循環(huán)隊(duì)列的元素個(gè)數(shù)為35。答案選擇D選項(xiàng)。96.有以下程序:#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);}編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語(yǔ)句是()。A、a=/*p1-m;B、b=*p1+*p2+6;C、k=1,m=8;D、p1=&k,p2=&m;答案:A解析:a=/*p1-m;語(yǔ)句不符合語(yǔ)法規(guī)范,可寫(xiě)作a/=(*p1-m);,表示a=a/(*p1-m);。答案選擇A選項(xiàng)。97.有以下程序:#includemain(){intx=23;do{printf("%2d\n",x--);}while(!x);}程序的執(zhí)行結(jié)果是()。A、輸出321B、輸出23C、不輸出任何內(nèi)容D、陷入無(wú)限循環(huán)答案:B解析:“%2d”表示按寬度為2,右對(duì)齊方式輸出,若不夠兩位,左邊補(bǔ)空格。程序執(zhí)行過(guò)程為:輸出x為23,之后x自減得x=22,!x為假,while條件不成立,退出循環(huán)。此題需要注意x--和--x的區(qū)別,在邏輯表達(dá)式中,x--是先傳遞x的值,再執(zhí)行自減1,此題就是這種情況,--x是先自減1,再執(zhí)行傳遞x的值。答案選擇B選項(xiàng)。98.數(shù)據(jù)流圖中帶有箭頭的線段表示的是()。A、控制流B、事件驅(qū)動(dòng)C、模塊調(diào)用D、數(shù)據(jù)流答案:D解析:數(shù)據(jù)流圖基本符號(hào)的含義:①矩形表示數(shù)據(jù)的外部實(shí)體;②圓角的矩形表示變換數(shù)據(jù)的處理邏輯;③缺少右半邊的矩形表示數(shù)據(jù)的存儲(chǔ);④箭頭表示數(shù)據(jù)流。答案選擇D選項(xiàng)。99.若有定義語(yǔ)句inta,b;doublex;則下列選項(xiàng)中沒(méi)有錯(cuò)誤的是()。A、switch(x%2){case0:a++;break;case1:b++;break;default:a++;b++;}B、switch((int)x/2.0){case0:a++;break;case1:b++;break;default:a++;b++;}C、switch((int)x%2){case0:a++;break;case1:b++;break;default:a++;b++;}D、switch((int)(x)%2){case0.0:a++;break;case1.0:b++;break;default:a++;b++;}答案:C解析:switch語(yǔ)句中,表達(dá)式的類型應(yīng)與case語(yǔ)句后的常量類型保持一致,并且switch的判斷條件只能為整型或字符型,case后面為常量表達(dá)式。A項(xiàng),x%2得到的是浮點(diǎn)型數(shù)據(jù),而case語(yǔ)句后的常量是整型數(shù)據(jù),類型不一致;B項(xiàng),(int)x/2.0得到的也是浮點(diǎn)型數(shù)據(jù),類型不一致;D項(xiàng),(int)x%2.0得到的是整型數(shù)據(jù),而case語(yǔ)句后的常量是浮點(diǎn)型數(shù)據(jù),類型也不一致。答案選擇C選項(xiàng)。100.針對(duì)簡(jiǎn)單程序設(shè)計(jì),以下敘述的實(shí)施步驟正確的是()。A、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔B、編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔C、整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試D、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔答案:A解析:簡(jiǎn)單程序設(shè)計(jì)的步驟是首先要確定算法和數(shù)據(jù)結(jié)構(gòu),然后編碼、調(diào)試,最后整理相關(guān)文檔。答案選擇A選項(xiàng)。101.有以下程序#includevoidfun(int*p,int*q){intt;t=*p;*p=*q;*q=t;*q=*p;}main(){inta=0,b=9;fun(&a,&b);printf("%d%d\n",a,b);}程序的輸出結(jié)果是()。A、09B、00C、90D、99答案:D解析:main函數(shù)中變量a和b以傳地址的方式傳遞參數(shù),形參的改變會(huì)導(dǎo)致實(shí)參的改變。fun函數(shù)的作用是先交換兩個(gè)指針的指向的值,即p指針指向的值是9,q指針指向的值是0,然后將p指針指向的值賦給q指針,q指針指向的值也成了9,所以a和b的值均為9,答案選擇D選項(xiàng)。102.在一棵二叉樹(shù)上,第5層的結(jié)點(diǎn)數(shù)最多是()。A、8B、9C、15D、16答案:D解析:二叉樹(shù)中,第i層上至多有2i-1個(gè)結(jié)點(diǎn),所以第5層的結(jié)點(diǎn)數(shù)最多為25-1=16。答案選擇D選項(xiàng)。103.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語(yǔ)句是()。A、switch(a+b){case1:printf("*\n");casec:printf("**\n");}B、switch((int)x);{case1:printf("*\n");case2:printf("**\n");}C、switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}D、switch(a+b){case1:printf("*\n");case2+1:printf("**\n");}答案:D解析:D項(xiàng)正確,標(biāo)號(hào)可以是整型表達(dá)式。A項(xiàng)錯(cuò)誤,case是關(guān)鍵字,與其后面的常量表達(dá)式合稱case語(yǔ)句標(biāo)號(hào)。常量表達(dá)式的類型必須與swicth后圓括號(hào)中的表達(dá)式類型相同,各case語(yǔ)句標(biāo)號(hào)的值應(yīng)該互不相同。c是變量,不能作為表達(dá)式放在case后面;B項(xiàng)錯(cuò)誤,switch后面不應(yīng)該有分號(hào);C項(xiàng)錯(cuò)誤,switch參數(shù)值類型必須是這幾種類型之一:int,long,short,byte,char。答案選擇D選項(xiàng)。104.用樹(shù)形結(jié)構(gòu)來(lái)表示實(shí)體之間聯(lián)系的模型稱為()。A、關(guān)系模型B、層次模型C、網(wǎng)狀模型D、數(shù)據(jù)模型答案:B解析:層次模型是最早發(fā)展出來(lái)的數(shù)據(jù)庫(kù)模型。它的基本結(jié)構(gòu)是樹(shù)形結(jié)構(gòu),這種結(jié)構(gòu)方式在現(xiàn)實(shí)世界中很普遍,如家族結(jié)構(gòu)、行政組織機(jī)構(gòu),它們自頂向下、層次分明。答案選擇B選項(xiàng)。105.C語(yǔ)言中char類型數(shù)據(jù)占字節(jié)數(shù)為()。A、3B、4C、1D、2答案:C解析:char為關(guān)鍵字。字符變量在內(nèi)存中占一個(gè)字節(jié),可以存放ASCII字符集中的任何字符。答案選擇C選項(xiàng)。106.以下可以將任意一個(gè)兩位整數(shù)n的個(gè)位數(shù)與十位數(shù)對(duì)換的表達(dá)式為()。A、(n-n/10×10)×10+n/10B、n-n/10×10+n/10C、n/10+(n-n/10)D、(n-n/10)×10+(n/10)答案:A解析:A項(xiàng)n/10得到十位數(shù)字,n-n/10得到個(gè)位數(shù)字,將個(gè)位數(shù)乘以10加上十位數(shù)字,(n-n/10×10)×10+n/10實(shí)現(xiàn)將任意一個(gè)兩位整數(shù)個(gè)位數(shù)與十位數(shù)對(duì)換,A項(xiàng)正確。B項(xiàng)n-n/10×10得到個(gè)位數(shù)字,n/10為十位數(shù)字,n-n/10×10+n/10實(shí)現(xiàn)兩位整數(shù)個(gè)位數(shù)與十位數(shù)之和,B項(xiàng)錯(cuò)誤。C項(xiàng)n/10+(n-n/10)=n,不能實(shí)現(xiàn)題目中要求,C項(xiàng)錯(cuò)誤。D項(xiàng)n/10是十位數(shù)字,n-n/10為原兩位整數(shù)減去十位數(shù)字,不是個(gè)位數(shù)字,D項(xiàng)錯(cuò)誤。答案選擇A選項(xiàng)。107.下列形式中不合法的常量是()。A、2.E8B、-.28C、-028D、2e-8答案:C解析:-028表示的是八進(jìn)制的整型常量,但八進(jìn)制的數(shù)字只能用0~7表示。AD兩項(xiàng)為指數(shù)形式的實(shí)數(shù)表示,在e或E的前面必須要有數(shù)字,且e或E后面的指數(shù)必須為整數(shù);B項(xiàng),為整數(shù)常量。答案選擇C選項(xiàng)。108.下面對(duì)軟件特點(diǎn)描述錯(cuò)誤的是()。A、軟件沒(méi)有明顯的制作過(guò)程B、軟件是一種邏輯實(shí)體,不是物理實(shí)體,具有抽象性C、軟件的開(kāi)發(fā)、運(yùn)行對(duì)計(jì)算機(jī)系統(tǒng)具有依賴性D、軟件在使用中存在磨損、老化問(wèn)題答案:D解析:軟件的特點(diǎn)有:①具有抽象性,是邏輯實(shí)體;②沒(méi)有明顯的制作過(guò)程;③在使用期間不存在磨損、老化問(wèn)題;④對(duì)硬件和環(huán)境具有依賴性;⑤復(fù)雜性高,成本昂貴;⑥開(kāi)發(fā)涉及諸多的社會(huì)因素。答案選擇D選項(xiàng)。109.以下選項(xiàng)中,能用作數(shù)據(jù)常量的是()。A、o115B、0118C、1-5e1.5D、115L答案:D解析:C語(yǔ)言中實(shí)型常量有兩種表示:小數(shù)形式和指數(shù)形式。在指數(shù)形式中,字母e(或E)之前必須要有數(shù)字,且e或E后面的指數(shù)必須為整數(shù),故C項(xiàng)錯(cuò)誤;八進(jìn)制整數(shù)常量以數(shù)字0開(kāi)始,而不是o,故A項(xiàng)錯(cuò)誤。在八進(jìn)制數(shù)中的有效數(shù)字為0~7,故B項(xiàng)錯(cuò)誤;L是長(zhǎng)整型數(shù)據(jù)標(biāo)識(shí),115L為長(zhǎng)整型常數(shù)即longint,D項(xiàng)正確。答案選擇D選項(xiàng)。110.下面屬于白盒測(cè)試方法的是()。A、邊界值分析法B、基本路徑測(cè)試C、等價(jià)類劃分法D、錯(cuò)誤推測(cè)法答案:B解析:白盒測(cè)試是把程序看成裝在一只透明的白盒子里,測(cè)試者完全了解程序的結(jié)構(gòu)和處理過(guò)程。它根據(jù)程序的內(nèi)部邏輯來(lái)設(shè)計(jì)測(cè)試用例,檢查程序中的邏輯通路是否都按預(yù)定的要求正確地工作。白盒測(cè)試的主要技術(shù)有邏輯覆蓋測(cè)試

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論