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

下載本文檔

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

文檔簡介

PAGEPAGE1(新版)二級(jí)C語言考試復(fù)習(xí)題庫(500題)一、單選題1.關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括()。A、排序、索引、統(tǒng)計(jì)B、選擇、投影、連接C、關(guān)聯(lián)、更新、排序D、顯示、打印、制表答案:B解析:關(guān)系運(yùn)算包括:①傳統(tǒng)集合運(yùn)算,包括并、交、差、廣義笛卡爾積;②專門關(guān)系運(yùn)算,包括選擇、投影、連接、除等。答案選擇B選項(xiàng)。2.下列敘述中錯(cuò)誤的是()。A、在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致B、數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題C、數(shù)據(jù)庫設(shè)計(jì)是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫D、數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持答案:A解析:數(shù)據(jù)庫物理結(jié)構(gòu)主要指數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu),包括關(guān)系、索引、聚簇、日志、備份等的存儲(chǔ)安排和存儲(chǔ)結(jié)構(gòu);數(shù)據(jù)庫的邏輯結(jié)構(gòu)是用戶所看到和使用的數(shù)據(jù)庫,表示了一個(gè)或一些特定用戶使用的數(shù)據(jù)集合,即邏輯記錄的集合。A項(xiàng)錯(cuò)誤,存儲(chǔ)位置的改變并不影響邏輯關(guān)系。答案選擇A選項(xiàng)。3.有以下程序:#includemain(){char*s="12134";intk=0,a=0;while(s[k+1]!='\0'){k++;if(k%2==0){a=a+s[k]-'0'+1;continue;}a=a+(s[k]-'0');}printf("k=%da=%d\n",k,a);}程序運(yùn)行后的輸出結(jié)果是()。A、k=6a=11B、k=3a=14C、k=4a=12D、k=5a=15答案:C解析:第一次循環(huán),k=1,s[1]=2,執(zhí)行a=a+s[1]-'0'=2;第二次循環(huán),k=2,s[2]=1,執(zhí)行a=a+s[2]-'0'+1=2+2=4;第三次循環(huán),k=3,s[3]=3,執(zhí)行a=a+s[3]-'0'=4+3=7;第四次循環(huán),k=4,s[4]=4,執(zhí)行a=a+s[k]-'0'+1=7+5=12,可得到結(jié)果k=4,a=12。答案選擇C選項(xiàng)。4.有以下程序#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)。5.有以下程序:#includemain(){intx=0x13;if(x=0x12)printf("True");printf("False\n");}程序運(yùn)行后的輸出結(jié)果是()。A、TrueB、TrueFalseC、FalseD、TrueFalseTrue答案:B解析:if(x=0x12)條件語句為賦值語句,注意賦值操作符“=”與相等操作符“==”的區(qū)別,此處是賦值語句“=”0x12即十進(jìn)制的18,給x賦值18,因此if的判斷條件為真,執(zhí)行輸出語句,輸出True;之后再執(zhí)行下一個(gè)輸出語句,輸出False,答案選擇B選項(xiàng)。6.有以下程序(注:字符a的ASCII碼值為97):#includemain(){char*s={"abc"};do{printf("%d",*s%10);++s;}while(*s);}程序運(yùn)行后的輸出結(jié)果是()。A、bcB、789C、7890D、979800答案:B解析:abc的ASCII值分別為97、98、99。程序中執(zhí)行輸出s中字符對(duì)應(yīng)的ASCII碼與10進(jìn)行模運(yùn)算后的值,s是一個(gè)指針,首先指向字符a,先執(zhí)行97%10,結(jié)果為7;然后++s,指針指向下一個(gè)字符b,執(zhí)行98%10,結(jié)果為8,直到s所指為空,故最后輸出的結(jié)果為789。答案選擇B選項(xiàng)。7.某二叉樹共有845個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)有45個(gè),則度為1的結(jié)點(diǎn)數(shù)為()。A、400B、754C、756D、不確定答案:C解析:在二叉樹中,度為0的結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè),那么,結(jié)點(diǎn)共有845個(gè),度為0的結(jié)點(diǎn)有45個(gè),度為2的結(jié)點(diǎn)數(shù)有44個(gè),所以度為1的結(jié)點(diǎn)數(shù)有756個(gè)。答案選擇C選項(xiàng)。8.對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是()。A、程序應(yīng)簡單、清晰、可讀性好B、符號(hào)名的命名只要符合語法C、充分考慮程序的執(zhí)行效率D、程序的注釋可有可無答案:A解析:程序不僅僅要能夠正常運(yùn)行,還要便于調(diào)試和維護(hù),所以程序語句結(jié)構(gòu)應(yīng)該簡單直接,具有良好的可讀性,建立良好的程序設(shè)計(jì)風(fēng)格。答案選擇A選項(xiàng)。9.支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()。A、棧B、樹C、隊(duì)列D、二叉樹答案:A解析:在高級(jí)語言中,函數(shù)的調(diào)用是通過棧來實(shí)現(xiàn)的。在進(jìn)行函數(shù)調(diào)用時(shí),系統(tǒng)將所需的信息壓入棧中,如函數(shù)的局部變量、返回值等。每個(gè)函數(shù)的狀態(tài)是由函數(shù)中的局部變量、函數(shù)參數(shù)值、函數(shù)的返回值地址決定的,存儲(chǔ)這些信息的數(shù)據(jù)區(qū)域稱為活動(dòng)記錄,或叫做棧幀,它是運(yùn)行時(shí)系統(tǒng)棧上分配的空間。答案選擇A選項(xiàng)。10.以下是if語句的基本形式:if(表達(dá)式)語句其中“表達(dá)式”()。A、必須是邏輯表達(dá)式B、必須是關(guān)系表達(dá)式C、必須是邏輯表達(dá)式或關(guān)系表達(dá)式D、可以是任意合法的表達(dá)式答案:D解析:if中的表達(dá)式一般是關(guān)系表達(dá)式或邏輯表達(dá)式,用于描述選擇結(jié)構(gòu)的條件,但也可以是其他類型表達(dá)式,在其值非零時(shí)為真,所以任意合法的表達(dá)式都可以做if語句的判斷條件。答案選擇D選項(xiàng)。11.以下關(guān)于指針的敘述正確是()。A、所有類型的指針變量所占內(nèi)存的大小是一樣的B、指針變量所占內(nèi)存的大小與其類型有關(guān),char型指針變量只占1個(gè)字節(jié),double型指針變量占8個(gè)字節(jié)C、指針變量可直接指向任何類型的變量,而不會(huì)出現(xiàn)編譯或運(yùn)行錯(cuò)誤D、指針變量既可以直接指向結(jié)構(gòu)體,也可直接指向結(jié)構(gòu)體中某個(gè)成員,而不會(huì)出現(xiàn)編譯或運(yùn)行錯(cuò)誤答案:A解析:所有變量地址值所占字節(jié)都相同,故指針變量所占內(nèi)存大小相同,A項(xiàng)正確,B項(xiàng)錯(cuò)誤。只能把具有相同類型的變量地址,存放到指針變量中,結(jié)構(gòu)體變量與某個(gè)成員類型不同,不能用同樣的指針指向它們,C、D兩項(xiàng)錯(cuò)誤。答案選擇A選項(xiàng)。12.設(shè)變量已正確定義,以下不能統(tǒng)計(jì)出一行中輸入字符個(gè)數(shù)(不包含回車符)的程序段是()。A、n=0;while((ch=getchar())!="\n")n++;B、n=0;while(getchar()!="\n";n++);C、for(n=0;getchar()!="\n";n++);D、n=0;for(ch=getchar()!="\n";n++);答案:D解析:要統(tǒng)計(jì)一行中輸入字符個(gè)數(shù)(不包含回車符)的程序?qū)崿F(xiàn),首先定義一個(gè)用作統(tǒng)計(jì)的變量n,賦初值為0;因?yàn)樽址Y(jié)束應(yīng)該有換行符,所以該行字符是否結(jié)束的判斷條件應(yīng)為“getchar()!="\n"”;D項(xiàng)中for循環(huán)表達(dá)式格式錯(cuò)誤,應(yīng)在ch前添加“;”,注意for循環(huán)中有三個(gè)表達(dá)式,必須有兩個(gè)分號(hào),D項(xiàng)編譯錯(cuò)誤。答案選擇D選項(xiàng)。13.下面描述不屬于軟件特點(diǎn)的是()。A、軟件是一種邏輯實(shí)體,具有抽象性B、軟件在使用中不存在磨損、老化問題C、軟件復(fù)雜性高D、軟件使用不涉及知識(shí)產(chǎn)權(quán)答案:D解析:軟件具有以下特點(diǎn):①軟件是一種邏輯實(shí)體,具有抽象性;②軟件沒有明顯的制作過程;③軟件在使用期間不存在磨損、老化問題;④軟件對(duì)硬件和環(huán)境具有依賴性;⑤軟件復(fù)雜性高,成本昂貴;⑥軟件開發(fā)涉及諸多的社會(huì)因素,如知識(shí)產(chǎn)權(quán)等。答案選擇D選項(xiàng)。14.下列選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是()。A、分類性B、多態(tài)性C、類比性D、封裝性答案:C解析:面向?qū)ο笤O(shè)計(jì)是建立在“對(duì)象”概念上的方法學(xué),對(duì)象是面向?qū)ο笳Z言中類的實(shí)體,其特點(diǎn)包括:①標(biāo)識(shí)唯一性,對(duì)象可區(qū)分;②分類性,可以將具有相同屬性和操作的對(duì)象抽象成類;③多態(tài)性,同一個(gè)操作對(duì)于不同對(duì)象表現(xiàn)不同的行為;④封裝性,屏蔽數(shù)據(jù)的具體結(jié)構(gòu)以及操作的算法;⑤模塊獨(dú)立性好,對(duì)象內(nèi)部各種元素結(jié)合緊密,內(nèi)聚性強(qiáng)。答案選擇C選項(xiàng)。15.設(shè)有定義doublex[10],*p=x;以下能給數(shù)組x下標(biāo)為6的元素讀入數(shù)據(jù)的正確語句是()。A、scanf("%f",&x[6]);B、scanf("%1f",*(x+6));C、scanf("%1f",p+6);D、scanf("%1f",p[6]);答案:C解析:scanf函數(shù)的一般形式為:scanf(格式控制字符串,地址列表);,其中的地址列表應(yīng)當(dāng)是存放輸入數(shù)據(jù)變量的地址。A項(xiàng),“%f”格式符對(duì)應(yīng)的是float類型的變量;BD兩項(xiàng),*(x+6)和p[6]都表示下標(biāo)為6的元素的值而非其地址;C項(xiàng),p+6表示數(shù)組x下標(biāo)為6的元素的地址。答案選擇C選項(xiàng)。16.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。A、函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元B、形參只是形式上的存在,不占用具體存儲(chǔ)單元C、同名的實(shí)參和形參占同一存儲(chǔ)單元D、函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元答案:A解析:函數(shù)體中,變量(包括形參)只在函數(shù)被調(diào)用時(shí)才臨時(shí)開辟存儲(chǔ)單元,當(dāng)退出函數(shù)時(shí),這些臨時(shí)開辟的存儲(chǔ)單元全被釋放掉。C語言中函數(shù)調(diào)用可以分成傳值和傳引用,傳值調(diào)用,形參是實(shí)參的數(shù)據(jù)拷貝;傳引用調(diào)用,形參是實(shí)參的指針拷貝;所以,形參和實(shí)參占用不同的存儲(chǔ)單元。答案選擇A選項(xiàng)。17.若變量已正確定義并賦值,則錯(cuò)誤的賦值語句是()。A、=a+1;B、a=sizeof(double);C、a=d∥c;D、a+1=a;答案:D解析:賦值號(hào)的左邊必須是一個(gè)代表某個(gè)存儲(chǔ)單元的變量名,賦值號(hào)的右邊必須是C語言中合法的表達(dá)式。賦值運(yùn)算的功能是先求出右邊表達(dá)式的值,然后把此值賦給賦值號(hào)左邊的變量。答案選擇D選項(xiàng)。18.某二叉樹的前序序列為ABCDEFG,中序序列為DCBAEFG,則該二叉樹的后序序列為()。A、EFGDCBAB、DCBEFGAC、BCDGFEAD、CBGFEA答案:D解析:二叉樹的前序序列為ABCDEFG,A為根結(jié)點(diǎn)。中序序列為DCBAEFG,可知DCB為左子樹結(jié)點(diǎn),EFG為右子樹結(jié)點(diǎn)。依此類推,畫出該二叉樹,二叉樹的后序序列為DCBGFEA。答案選擇D選項(xiàng)。19.以下敘述正確的是()。A、C程序總是以main()作為程序執(zhí)行的起始行B、main()函數(shù)若不帶參數(shù),其后面的一對(duì)圓括號(hào)可省略C、函數(shù)體內(nèi)的定義語句和可執(zhí)行語句允許任意穿插出現(xiàn)D、C語言中的語句之間必須用分號(hào)作為分隔符答案:A解析:main函數(shù)后面的括號(hào)告訴編譯器這是一個(gè)函數(shù),不可以省略,排除B選項(xiàng);在復(fù)合語句中,不僅可以有執(zhí)行語句,還可以有定義語句,定義語句應(yīng)該出現(xiàn)在執(zhí)行語句的前面,故排除C選項(xiàng);C語言中的某些語句可以不用分號(hào),例如if語句,宏定義,故D選項(xiàng)錯(cuò)誤。答案選擇A選項(xiàng)。20.有以下程序#includemain(){char

B,c;inti;b='a';c='A';for(i=0;i<6;i++){if(i%2)putchar(i+b);elseputchar(i+c);}printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A、BcDeFB、ABCDEFC、AbCdEfD、abcdef答案:C解析:本題中,當(dāng)i為偶數(shù)時(shí),即0、2、4,執(zhí)行putchar(i+c)會(huì)依次輸出ACE;當(dāng)i為奇數(shù)時(shí),即1、3、5,執(zhí)行putchar(i+b)會(huì)依次輸出bdf,所以最終輸出AbCdEf。答案選擇C選項(xiàng)。21.若有定義語句:intx=12,y=8,z;在其后執(zhí)行語句:z=0.9+x/y;則z的值為()。A、1.9B、1C、2D、2.4答案:B解析:由于x,y,z都是整型數(shù)據(jù),所以x除以y的值為整型數(shù)值1,之后1和0.9相加得到1.9,再轉(zhuǎn)換為整型數(shù)1賦給整型變量z。答案選擇B選項(xiàng)。22.有兩個(gè)關(guān)系R和T如下:則由關(guān)系R得到關(guān)系T的操作是()。A、投影B、交C、選擇D、并答案:A解析:關(guān)系T是由關(guān)系R的第1、3列的元組組成,這是對(duì)關(guān)系R進(jìn)行投影運(yùn)算的結(jié)果。可以簡單理解為:選擇運(yùn)算是對(duì)行(元組)的操作,投影運(yùn)算是對(duì)列的操作。投影運(yùn)算是對(duì)列的操作。投影是從表中選出指定的屬性值組成新表,是單目運(yùn)算,答案選擇A選項(xiàng)。23.若a是數(shù)值類型,則邏輯表達(dá)式(a==1)∥(a!=1)的值是()。A、1B、0C、2D、不知道a的值,不能確定答案:A解析:運(yùn)算符“∥”為邏輯或運(yùn)算符,即只要兩邊的條件表達(dá)式中有一個(gè)為“真”,則“邏輯或”的運(yùn)算結(jié)果就為“真”。當(dāng)a==1時(shí),運(yùn)算符左邊的表達(dá)式為“真”;當(dāng)a!=1時(shí),運(yùn)算符右邊的表達(dá)式為“真”。因此,邏輯表達(dá)式(a==1)∥(a!=1)的值恒為1。答案選擇A選項(xiàng)。24.有兩個(gè)關(guān)系R與S如下,由關(guān)系R和S得到關(guān)系T,則所使用的操作為()。A、并B、自然連接C、除法D、交答案:C解析:除運(yùn)算可以近似地看作笛卡爾積的逆運(yùn)算。R÷S=T,T稱為R除以S的商。S中屬性為A和A1,T中屬性為B和B1,在R元組中找到對(duì)應(yīng)于S中兩個(gè)元組的T中元組為f3與n2。R中最后一個(gè)元組與S中無對(duì)應(yīng)關(guān)系,所以在T中也不會(huì)出現(xiàn)。答案選擇C選項(xiàng)。25.若變量已正確定義,在if(W)printf("%d\n",k);中,以下不可替代W的是()。A、<>b+cB、c=getchar()C、a==b+cD、a++答案:A解析:在C語言中,表示不等于不能用“<>”,而只能使用“!=”。答案選擇A選項(xiàng)。26.關(guān)于C語言的變量名,以下敘述正確的是()。A、變量名不可以與關(guān)鍵字同名B、變量名不可以與預(yù)定義標(biāo)識(shí)符同名C、變量名必須以字母開頭D、變量名是沒有長度限制的答案:A解析:合法的標(biāo)識(shí)符由字母(大、小寫均可)、數(shù)字和下劃線組成,并且必須以字母或下劃線開頭。關(guān)鍵字是指被C語言保留的,不能用作其他用途的標(biāo)識(shí)符,它們在程序中都代表著固定的含義,用戶不可重新定義,A項(xiàng)正確、BC兩項(xiàng)錯(cuò)誤。變量名沒有長度限制,但不可超過編譯器可以辨識(shí)的范圍,D項(xiàng)錯(cuò)誤。答案選擇A選項(xiàng)。27.有以下程序#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;而無論是++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)。28.數(shù)據(jù)庫管理系統(tǒng)是()。A、操作系統(tǒng)的一部分B、在操作系統(tǒng)支持下的系統(tǒng)軟件C、一種編譯系統(tǒng)D、一種操作系統(tǒng)答案:B解析:系統(tǒng)軟件主要包括:①操作系統(tǒng)軟件;②各種語言的解釋程序和編譯程序;③各種服務(wù)性程序;④各種數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)組操縱、數(shù)據(jù)維護(hù)、控制和保護(hù)以及數(shù)據(jù)服務(wù)等。答案選擇B選項(xiàng)。29.以下選項(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)部交換的是地址值,并沒有交換主函數(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為整型指針,且已正確開辟內(nèi)存,能實(shí)現(xiàn)i與j值交換;D項(xiàng)與B項(xiàng)相同,能實(shí)現(xiàn)i與j值交換。答案選擇A選項(xiàng)。30.下列敘述中正確的是()。A、棧是“先進(jìn)先出”的線性表B、隊(duì)列是“先進(jìn)后出”的線性表C、循環(huán)隊(duì)列是非線性結(jié)構(gòu)D、有序線性表既可以采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)答案:D解析:有序的線性表既可采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。A項(xiàng)錯(cuò)誤,棧是“先進(jìn)后出”的線性表;B項(xiàng)錯(cuò)誤,隊(duì)列是“先進(jìn)先出”的線性表;C項(xiàng)錯(cuò)誤,循環(huán)隊(duì)列是線性結(jié)構(gòu)的,有序的線性表既可采用順序存儲(chǔ)結(jié)構(gòu),也可采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。答案選擇D選項(xiàng)。31.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述是()。A、外模式B、邏輯模式C、概念模式D、物理模式答案:A解析:數(shù)據(jù)庫的標(biāo)準(zhǔn)結(jié)構(gòu)為三級(jí)模式結(jié)構(gòu),包括:①外模式;②模式;③內(nèi)模式。其中,外模式也稱用戶模式,它是數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。答案選擇A選項(xiàng)。32.若函數(shù)中有定義語句:intk;則()。A、系統(tǒng)將自動(dòng)給k賦初值0B、這時(shí)k中的值無定義C、系統(tǒng)將自動(dòng)給k賦初值-1D、這時(shí)k中無任何值答案:B解析:intk;這條語句是定義一個(gè)整型變量k,這是動(dòng)態(tài)定義,編譯程序僅為k開辟存儲(chǔ)單元,而沒有在存儲(chǔ)單元中存放任何初值,此時(shí)變量中的值時(shí)無意義的。若是靜態(tài)定義,則會(huì)自動(dòng)初始化,其默認(rèn)值為0。答案選擇B選項(xiàng)。33.以下敘述正確的是()。A、C語言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))B、C語言程序是由過程和函數(shù)組成的C、語言函數(shù)不可以單獨(dú)編譯D、C語言中除了main函數(shù),其他函數(shù)不可作為單獨(dú)文件形式存在答案:A解析:一個(gè)函數(shù)的返回值可以作為參數(shù)然后傳給另一個(gè)函數(shù),因此函數(shù)是可以嵌套調(diào)用的。B項(xiàng)錯(cuò)誤,C語言程序只有函數(shù)構(gòu)成,沒有過程;C項(xiàng)錯(cuò)誤,編譯系統(tǒng)的任務(wù)在于檢查語法錯(cuò)誤,只要符合語法規(guī)則的C程序都可以通過編譯,就算是單獨(dú)的函數(shù)也可以;D項(xiàng)錯(cuò)誤,在C語言中除main()函數(shù)以外的其他函數(shù)可以和main()函數(shù)在同一個(gè)C文件中,也可以單獨(dú)處于其他的C文件,只要在使用到這些函數(shù)的main()函數(shù)的C文件中用預(yù)編譯指令“#include”包含進(jìn)來即可。答案選擇A選項(xiàng)。34.以下描述中,不是線性表順序存儲(chǔ)結(jié)構(gòu)特征的是()。A、可隨機(jī)訪問B、需要連續(xù)的存儲(chǔ)空間C、不便于插入和刪除D、邏輯相鄰的數(shù)據(jù)物理位置上不相鄰答案:D解析:在計(jì)算機(jī)中用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)線性表的各個(gè)數(shù)據(jù)元素稱為順序存儲(chǔ),其中邏輯上相鄰的元素在物理位置上也相鄰。順序存儲(chǔ)結(jié)構(gòu)中可以隨機(jī)訪問元素,但插入和刪除需要移動(dòng)大量數(shù)據(jù),耗費(fèi)資源。答案選擇D選項(xiàng)。35.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績),則表SC的關(guān)鍵字(鍵或碼)為()。A、課號(hào),成績B、學(xué)號(hào),成績C、學(xué)號(hào),課號(hào)D、學(xué)號(hào),姓名,成績答案: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)。36.已知a=5,b=6,c=7,d=8,m=2,n=2,執(zhí)行(m=a>b)&&(n=c<d)后n的值為()。A、1B、0C、2D、-1答案:C解析:“=”優(yōu)先級(jí)低于“<”、“>”?!?&”邏輯與表達(dá)式。exp1&&exp2,規(guī)則為:對(duì)exp1求值,若為0,則表達(dá)式為0,則不計(jì)算exp2;若exp1非0,則求exp2值,作為表達(dá)式值。本題計(jì)算過程為:先判斷a>b為假,m=0,整個(gè)邏輯表達(dá)式為假,不計(jì)算右表達(dá)式,n=2。答案選擇C選項(xiàng)。37.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖牵ǎ、多態(tài)性B、標(biāo)識(shí)唯一性C、封裝性D、耦合性答案:D解析:面向?qū)ο笤O(shè)計(jì)是建立在“對(duì)象”概念上的方法學(xué),對(duì)象是面向?qū)ο笳Z言中類的實(shí)體,其特點(diǎn)包括:①標(biāo)識(shí)唯一性,對(duì)象可區(qū)分;②分類性,可以將具有相同屬性和操作的對(duì)象抽象成類;③多態(tài)性,同一個(gè)操作對(duì)于不同對(duì)象表現(xiàn)不同的行為;④封裝性,屏蔽數(shù)據(jù)的具體結(jié)構(gòu)以及操作的算法;⑤模塊獨(dú)立性好,對(duì)象內(nèi)部各種元素結(jié)合緊密,內(nèi)聚性強(qiáng)。答案選擇D選項(xiàng)。38.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。A、順序存儲(chǔ)的有序線性表B、線性鏈表C、二叉鏈表D、有序線性鏈表答案:A解析:二分查找只適用于順序存儲(chǔ)的有序表。此處所說的有序表是指線性表中的元素按值非遞減排列或非遞增排列。答案選擇A選項(xiàng)。39.線性表常采用的兩種存儲(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ù),通過指針相連。答案選擇C選項(xiàng)。40.以下敘述中錯(cuò)誤的是()。A、基類型不同的指針可以直接相互賦值B、函數(shù)可以通過指針形參向所指單元傳回?cái)?shù)據(jù)C、字符型指針可以指向一個(gè)字符串D、一般情況下,指針的運(yùn)用可使程序代碼效率更高答案:A解析:把一個(gè)指針變量的值賦給另一個(gè)指針變量,但一定要確保這兩個(gè)指針變量的基類型是相同的。答案選擇A選項(xiàng)。41.有以下程序#includeintk=5;voidf(int*s){s=&k;*s=7;}main(){intm=3;f(&m);printf("%d,%d\n",m,k);}程序運(yùn)行后的輸出結(jié)果是()。A、3,5B、7,7C、5,7D、3,7答案:D解析:函數(shù)f的功能是定義一個(gè)整型的指針變量s,指向全局變量k,然后修改s指向地址中的值為7,因此f函數(shù)只是修改全局變量k的值為7,與main函數(shù)中臨時(shí)變量m無關(guān),因此最后輸出為3,7。答案選擇D選項(xiàng)。42.在E-R圖中,用來表示實(shí)體聯(lián)系的圖形是()。A、橢圓形B、矩形C、菱形D、三角形答案:C解析:在E-R圖中,菱形表示聯(lián)系,矩形表示實(shí)體,橢圓形表示屬性。答案選擇C選項(xiàng)。43.設(shè)棧的順序存儲(chǔ)空間為S(0:49),棧底指針bottom=49,棧頂指針top=30(指向棧頂元素)。則棧中的元素個(gè)數(shù)為()。A、30B、29C、20D、19答案:C解析:棧是一種特殊的線性表,它所有的插入與刪除操作都限定在表的同一端進(jìn)行。入棧運(yùn)算即在棧頂位置插入一個(gè)新元素,退棧運(yùn)算即取出棧頂元素賦予指定變量。在內(nèi)存中,棧的增大方向是地址遞減,元素依次存儲(chǔ)在單元30:49中,個(gè)數(shù)為:49-30+1=20個(gè)。答案選擇C選項(xiàng)。44.有以下函數(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ù)組某個(gè)元素的值變?yōu)檫@個(gè)元素位置加5后對(duì)應(yīng)的元素值,所以執(zhí)行完之后輸出數(shù)組x的前五個(gè)元素的值,其實(shí)就是數(shù)組x的后五個(gè)元素的值,答案選擇D選項(xiàng)。45.下面不屬于軟件設(shè)計(jì)階段任務(wù)的是()。A、軟件的功能確定B、軟件的總體結(jié)構(gòu)設(shè)計(jì)C、軟件的數(shù)據(jù)設(shè)計(jì)D、軟件的過程設(shè)計(jì)答案:A解析:軟件設(shè)計(jì)階段的任務(wù)包括:①結(jié)構(gòu)設(shè)計(jì);②數(shù)據(jù)設(shè)計(jì);③接口設(shè)計(jì);④過程設(shè)計(jì)。軟件的功能確定是在需求分析階段完成的。答案選擇A選項(xiàng)。46.下列選項(xiàng)中屬于面向?qū)ο笤O(shè)計(jì)方法主要特征的是()。A、繼承B、自頂向下C、模塊化D、逐步求精答案:A解析:面向?qū)ο笤O(shè)計(jì)方法的主要特征有封裝性、繼承性和多態(tài)性。而結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則有自頂向下、逐步求精、模塊化、限制使用goto語句。BCD三項(xiàng)是結(jié)構(gòu)化程序的主要特征。答案選擇A選項(xiàng)。47.設(shè)有定義:doublex=2.12;,以下不能完整輸出變量x值的語句是()。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)按照float格式輸出數(shù)據(jù),寬度為5位,保留小數(shù)0位,輸出為2,不能完整輸出x。B項(xiàng)按照float格式輸出數(shù)據(jù),輸出為2.120000。C項(xiàng)按照double格式輸出數(shù)據(jù),輸出為2.120000。D項(xiàng)按照float格式輸出數(shù)據(jù),保留小數(shù)位數(shù)為5,輸出為2.12000。答案選擇A選項(xiàng)。48.以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是()。A、x%2==1B、x/2C、x%2!=0D、x%2==0答案:D解析:當(dāng)x為大于1的奇數(shù),x%2==1,則表達(dá)式x%2==0為假(即值為0),答案選擇D選項(xiàng)。49.軟件生命周期可分為定義階段、開發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于()。A、定義階段B、開發(fā)階段C、維護(hù)階段D、上述三個(gè)階段答案:B解析:軟件生命周期可分為:①定義階段,包括可行性研究、需求分析;②開發(fā)階段,包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)、測試;③維護(hù)階段,包括使用、維護(hù)、退役。答案選擇B選項(xiàng)。50.數(shù)據(jù)庫系統(tǒng)在其內(nèi)部具有3級(jí)模式,用來描述數(shù)據(jù)庫中全體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和特性的是()。A、外模式B、概念模式C、內(nèi)模式D、存儲(chǔ)模式答案:B解析:概念模式,也稱邏輯模式,是對(duì)數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,由若干個(gè)概念記錄類型組成,還包含記錄間聯(lián)系、數(shù)據(jù)的完整性、安全性等要求。它不涉及具體的硬件環(huán)境與平臺(tái),與具體的軟件環(huán)境也無關(guān)。答案選擇B選項(xiàng)。51.有以下函數(shù):#includevoidfunc(intn){inti;for(i=0;i<=n;i++)printf("*");printf("#");}main(){func(3);printf("????");func(4);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A、****#????***#B、***#????*****#C、**#????*****#D、****#????*****#答案:D解析:從main函數(shù)開始,執(zhí)行func()函數(shù),for循環(huán)執(zhí)行4次,連續(xù)輸出四個(gè)“*”,然后輸出一個(gè)“#”;輸出“????”;再次調(diào)用func(),for循環(huán)執(zhí)行5次,連續(xù)輸出五個(gè)“*”,然后輸出一個(gè)“#”;最后輸出換行符。答案選擇D選項(xiàng)。52.對(duì)有序線性表(23,29,34,55,60,70,78)用二分法查找值為60的元素時(shí),需要比較次數(shù)為()。A、1B、2C、3D、4答案:C解析:二分法查找法不斷的將序列分為可能包含和必然不包含的兩部分,本題流程為:①將60與中間的元素55進(jìn)行比較,60>55,所以60不可能在前4個(gè)元素中;②第二次將60與中間的元素70進(jìn)行比較,60<70,所以60不可能在后2個(gè)元素中;③第三次將60與中間元素60比較,這時(shí)查找成功。答案選擇C選項(xiàng)。53.有以下程序:#includemain(){inta=1,b=2;for(;a<8;a++){b+=a;a+=2;}printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A、9,18B、8,11C、7,11D、10,14答案:D解析:初始值a=1,b=2,第一次循環(huán):b=b+a=2+1=3,a=a+2=1+2=3,a=a+1=3+1=4;第二次循環(huán):b=b+a=3+4=7,a=a+2=4+2=6,a=a+1=6+1=7;第三次循環(huán):b=b+a=7+7=14,a=a+2=7+2=9,a=a+1=9+1=10,不滿足for循環(huán)條件退出循環(huán),最終a=10,b=14。答案選擇D選項(xiàng)。54.以下關(guān)于C語言的敘述中正確的是()。A、C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間B、C語言中的變量可以在使用之前的任何位置進(jìn)行定義C、在C語言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致D、C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示答案:A解析:A項(xiàng)正確,C語言中,程序中的注釋可以出現(xiàn)在程序中任何合適的地方,但是,不能寫在變量名或關(guān)鍵字的中間,一旦寫在其中間,將會(huì)失去變量名或關(guān)鍵字的意義,導(dǎo)致報(bào)錯(cuò);B項(xiàng)錯(cuò)誤,條件沒有說全,應(yīng)該是在有效的范圍內(nèi),變量可以在任何位置定義,例如注釋中定義無效。C項(xiàng)錯(cuò)誤,在C語言的算術(shù)運(yùn)算符中,取余運(yùn)算符“%”的兩個(gè)運(yùn)算分量必須是整數(shù),但對(duì)于其他運(yùn)算符,如“+”,“-”來說,兩側(cè)的運(yùn)算符類型也可以不一樣,例如左側(cè)為一個(gè)字符類型,右側(cè)為一個(gè)整數(shù)類型,系統(tǒng)在執(zhí)行程序時(shí)會(huì)自動(dòng)將字符類型轉(zhuǎn)換為ASCII值進(jìn)行運(yùn)算;D項(xiàng)錯(cuò)誤,C語言的數(shù)值表示時(shí)各個(gè)數(shù)位必須緊靠在一起,否則編譯系統(tǒng)只會(huì)識(shí)別緊靠運(yùn)算符的一部分?jǐn)?shù)值,另一部分?jǐn)?shù)值會(huì)發(fā)生語法錯(cuò)誤。答案選擇A選項(xiàng)。55.以下選項(xiàng)中可用作C程序合法實(shí)數(shù)的是()。A、1e0B、3.0e0.2C、E9D、9.12E答案:A解析:C程序的合法實(shí)數(shù)有小數(shù)和指數(shù)兩種表示形式。其中,對(duì)于用指數(shù)形式表示的實(shí)數(shù)來說,字母e或E之前必須要有數(shù)字,且字母e或E后面的指數(shù)必須為整數(shù)。B項(xiàng),e后的指數(shù)不能為小數(shù)形式;C項(xiàng),E前必須要有數(shù)字;D項(xiàng),E后缺少整數(shù)形式的指數(shù)。答案選擇A選項(xiàng)。56.在黑盒測試方式中,設(shè)計(jì)測試用例的主要根據(jù)是()。A、程序外部功能B、程序內(nèi)部邏輯C、程序數(shù)據(jù)結(jié)構(gòu)D、程序流程圖答案:A解析:黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動(dòng)測試,完全不考慮程序內(nèi)部邏輯結(jié)構(gòu)和具體代碼,把程序看作是一個(gè)不能打開的黑盒子,依據(jù)軟件需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明,主要針對(duì)軟件界面和軟件功能進(jìn)行測試。答案選擇A選項(xiàng)。57.若有定義語句inta,b;doublex;則下列選項(xiàng)中沒有錯(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語句中,表達(dá)式的類型應(yīng)與case語句后的常量類型保持一致,并且switch的判斷條件只能為整型或字符型,case后面為常量表達(dá)式。A項(xiàng),x%2得到的是浮點(diǎn)型數(shù)據(jù),而case語句后的常量是整型數(shù)據(jù),類型不一致;B項(xiàng),(int)x/2.0得到的也是浮點(diǎn)型數(shù)據(jù),類型不一致;D項(xiàng),(int)x%2.0得到的是整型數(shù)據(jù),而case語句后的常量是浮點(diǎn)型數(shù)據(jù),類型也不一致。答案選擇C選項(xiàng)。58.有以下程序:#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)算和逗號(hào)運(yùn)算都是從左到右結(jié)合。首先執(zhí)行A-=A-5,即A=A-(A-5),得A的值為5,然后執(zhí)行C=(A-=A-5),即將A的值5賦給變量C,使得C的值也為5。然后執(zhí)行下句逗號(hào)表達(dá)式中的A=B,把B的值0賦給A,此時(shí)A的值為0,然后執(zhí)行B=B+4,使得B的值為4,最后打印輸出。答案選擇A選項(xiàng)。59.下列敘述中,不符合良好程序設(shè)計(jì)風(fēng)格要求的是()。A、程序的效率第一,清晰第二B、程序的可讀性好C、程序中要有必要的注釋D、輸入數(shù)據(jù)前要有提示信息答案:A解析:“清晰第一,效率第二”是當(dāng)今主導(dǎo)的程序設(shè)計(jì)風(fēng)格。對(duì)程序的要求不僅是能夠運(yùn)行正常,還要便于調(diào)試和維護(hù),所以程序要具有良好的可讀性,語句結(jié)構(gòu)應(yīng)該簡單直接,這有利于程序的開發(fā)與維護(hù)。答案選擇A選項(xiàng)。60.若有以下程序#includemain(){inta=-2,b=0;do{++b;}while(a++);printf("%d,%d\n",a,b);}則程序的輸出結(jié)果是()。A、2,3B、0,2C、1,2D、1,3答案:D解析:while(a++)是先判定a是否為0,不管判定結(jié)果如何,都執(zhí)行a++。當(dāng)a++的值為0時(shí),a的值為1,即a增加了3,因此,b也增加3。答案選擇D選項(xiàng)。61.有以下程序#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所指存儲(chǔ)空間的值改為3,即c改為3。答案選擇D選項(xiàng)。62.下列敘述中正確的是()。A、所謂有序表是指在順序存儲(chǔ)空間內(nèi)連續(xù)存放的元素序列B、有序表只能順序存儲(chǔ)在連續(xù)的存儲(chǔ)空間內(nèi)C、有序表可以用鏈接存儲(chǔ)方式存儲(chǔ)在不連續(xù)的存儲(chǔ)空間內(nèi)D、任何存儲(chǔ)方式的有序表均能采用二分法進(jìn)行查找答案:C解析:“有序”是指線性表中的元素按照升序或降序(允許相鄰元素相同)的方式排列。有序是一個(gè)邏輯概念,與物理存儲(chǔ)無關(guān)。二分法查找時(shí)涉及下標(biāo)運(yùn)算,要求有序表必須順序存儲(chǔ)。答案選擇C選項(xiàng)。63.有如下程序:#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)。64.在E-R圖中,用()來表示實(shí)體之間聯(lián)系。A、矩形B、菱形C、橢圓形D、正方形答案:B解析:E-R圖是實(shí)體聯(lián)系模式圖,其中用矩形表示實(shí)體集;用橢圓形表示屬性;用菱形表示聯(lián)系。答案選擇B選項(xiàng)。65.以下程序段中,不能實(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)算過程為:如果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,其中沒有對(duì)a=b進(jìn)行判斷,不能實(shí)現(xiàn)題目中功能,答案選擇D選項(xiàng)。66.結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包括()。A、多態(tài)性B、自頂向下C、模塊化D、逐步求精答案:A解析:結(jié)構(gòu)化程序設(shè)計(jì)的基本原則包括:①模塊化;②自頂向下;③逐步求精;④限制使用goto語句。多態(tài)性是面向?qū)ο蟮脑O(shè)計(jì)思想。答案選擇A選項(xiàng)。67.某二叉樹共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有1個(gè),則該二叉樹的深度為()。(假設(shè)根結(jié)點(diǎn)在第1層)A、3B、4C、6D、7答案:D解析:在任意一個(gè)二叉樹中,度為0的葉子結(jié)點(diǎn)總比度為2的結(jié)點(diǎn)多一個(gè),所以本題中度為2的結(jié)點(diǎn)為1-1=0個(gè),即二叉樹的每一個(gè)結(jié)點(diǎn)都只有一個(gè)孩子,7個(gè)結(jié)點(diǎn)共7層。答案選擇D選項(xiàng)。68.有以下程序:#includemain(){char*s="120119110";intn0,n1,n2,nn,i;n0=n1=n2=nn=i=0;do{switch(s[i++]){default:nn++;case'0':n0++;case'1':n1++;case'2':n2++;}}while(s[i]);printf("n0=%d,n1=%d,n2=%d,nn=%d\n",n0,n1,n2,nn);}程序的運(yùn)行結(jié)果是()。A、n0=3,n1=8,n2=9,nn=1B、n0=2,n1=5,n2=1,nn=1C、n0=2,n1=7,n2=10,nn=1D、n0=4,n1=8,n2=9,nn=1答案:A解析:本題執(zhí)行過程為:s[0]='1',匹配case'1',n1=1,n2=1;s[1]='2',匹配case'2',n2=2;s[2]='0',匹配case'0',n0=1,n1=2,n2=3;s[3]='1',匹配case'1',n1=3,n2=4;s[4]='1',匹配case'1',n1=4,n2=5;s[5]='9',匹配default,nn=1,n0=2,n1=5,n2=6;s[6]='1',匹配case'1',n1=6,n2=7;s[7]='1',匹配case'1',n1=7,n2=8;s[8]='0',匹配ease'0',n0=3,n1=8,n2=9;s[9]='\0',退出循環(huán)。輸出n0,n1,n2,nn為3,8,9,1,答案選擇A選項(xiàng)。69.若實(shí)體A和B是一對(duì)一的聯(lián)系,實(shí)體B和C是多對(duì)一的聯(lián)系,則實(shí)體A和C的聯(lián)系是()。A、多對(duì)一B、一對(duì)多C、一對(duì)一D、多對(duì)多答案:A解析:實(shí)體集之間必須通過聯(lián)系來建立聯(lián)接關(guān)系,分為:①一對(duì)一聯(lián)系,即1:1;②一對(duì)多聯(lián)系,即1:m;③多對(duì)多聯(lián)系,即m:n。本題中,A與B是1:1聯(lián)系,B與C是m:1聯(lián)系,所以A與C是m:1聯(lián)系,即多對(duì)一。答案選擇A選項(xiàng)。70.當(dāng)數(shù)據(jù)庫中數(shù)據(jù)總體邏輯結(jié)構(gòu)發(fā)生變化,而應(yīng)用程序不受影響,稱為數(shù)據(jù)的()。A、邏輯獨(dú)立性B、物理獨(dú)立性C、應(yīng)用獨(dú)立性D、空間獨(dú)立性答案:A解析:數(shù)據(jù)獨(dú)立性是指數(shù)據(jù)獨(dú)立于程序,包括:①物理獨(dú)立性,指數(shù)據(jù)的物理結(jié)構(gòu)改變,應(yīng)用程序不用改變;②邏輯獨(dú)立性,指數(shù)據(jù)的邏輯結(jié)構(gòu)改變,應(yīng)用程序不用改變。答案選擇A選項(xiàng)。71.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。A、x=y*5=x+zB、int(15.8%5)C、x=y+z+5,++yD、x=25%5.0答案:C解析:賦值運(yùn)算左邊必須是單一變量名。A項(xiàng)錯(cuò)誤,“y*5=x+z”部分是非法賦值。BD兩項(xiàng)錯(cuò)誤,求余運(yùn)算中的操作對(duì)象只能是整型。C項(xiàng),為逗號(hào)表達(dá)式。答案選擇C選項(xiàng)。72.有如下程序:#includeintsub(doublea,doubleb){return(int)(a-b);}main(){printf("%d\n",sub(3.8,2.1));}程序運(yùn)行后的輸出結(jié)果是()。A、2.0B、1.7C、2D、1答案:D解析:在類型轉(zhuǎn)換過程中,如果較高類型轉(zhuǎn)換成較低類型,直接忽略多余位數(shù)。程序執(zhí)行過程為:調(diào)用函數(shù)sub(3.8,2.1),3.8-2.1=1.7(double類型),(int)強(qiáng)制轉(zhuǎn)換將1.7轉(zhuǎn)換成int類型1,然后返回1并輸出。答案選擇D選項(xiàng)。73.下列敘述中正確的是()。A、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)必定是一一對(duì)應(yīng)的B、由于計(jì)算機(jī)存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)一定是線性結(jié)構(gòu)C、程序設(shè)計(jì)語言中的數(shù)據(jù)一般是順序存儲(chǔ)結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)D、以上三種說法都不對(duì)答案:D解析:A項(xiàng)錯(cuò)誤,數(shù)據(jù)的邏輯結(jié)構(gòu)反映數(shù)據(jù)元素之間邏輯關(guān)系,與存儲(chǔ)的物理結(jié)構(gòu)并沒有一一對(duì)應(yīng)關(guān)系;B項(xiàng)錯(cuò)誤,線性結(jié)構(gòu)和非線性結(jié)構(gòu)是關(guān)于邏輯結(jié)構(gòu)的兩種不同分類,存儲(chǔ)結(jié)構(gòu)上沒有線性和非線性之分;C項(xiàng),利用數(shù)組也能處理非線性結(jié)構(gòu),比如用數(shù)組存儲(chǔ)二叉樹。答案選擇D選項(xiàng)。74.在醫(yī)院,每個(gè)醫(yī)生只屬于某一個(gè)診療科,醫(yī)生同一天可為多位患者看病,而一名患者可在多個(gè)科室治療,則實(shí)醫(yī)生和患者之間的聯(lián)系是()。A、多對(duì)多B、多對(duì)一C、一對(duì)多D、一對(duì)一答案:A解析:一般來說,實(shí)體集之間必須通過聯(lián)系來建立連接關(guān)系,分為三類:①一對(duì)一聯(lián)系(1:1);②一對(duì)多聯(lián)系(1:m);③多對(duì)多聯(lián)系(m:n)。醫(yī)生可為多位患者看病,患者也可以找多位醫(yī)生看病,實(shí)體醫(yī)生與患者聯(lián)系是多對(duì)多,答案選擇A選項(xiàng)。75.有以下程序段:inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%d",a,b,c);程序的輸出結(jié)果是()。A、=10b=50c=10B、a=10b=50c=30C、a=10b=30c=10D、a=10b=30c=50答案:A解析:因?yàn)閍=10,b=50,所以a<b,if語句判斷條件不成立,于是執(zhí)行c=a,得到c=10,a和b的值不變。答案選擇A選項(xiàng)。76.結(jié)構(gòu)化程序由順序、選擇、循環(huán)三種基本結(jié)構(gòu)組成,以下相關(guān)敘述錯(cuò)誤的是()。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)成的程序時(shí),將按這些語句在程序中的先后順序逐條執(zhí)行,沒有分支,沒有轉(zhuǎn)移,沒有步驟之間的相互約束,沒有對(duì)某一步驟的多次使用,完全按照步驟的原有次序依次執(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)敘述錯(cuò)誤,答案選擇A選項(xiàng)。77.數(shù)據(jù)流程圖(DFD圖)是()。A、軟件概要設(shè)計(jì)的工具B、軟件詳細(xì)設(shè)計(jì)的工具C、結(jié)構(gòu)化方法的需求分析工具D、面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ叽鸢福篊解析:數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)的功能建模,是結(jié)構(gòu)化方法的需求分析工具。答案選擇C選項(xiàng)。78.有以下程序:#includemain(){chara,b,c,d;scanf("%c%c",&a,&b);c=getchar();d=getchar();printf("%c%c%c%c\n",a,b,c,d);}當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù)(從第一列開始,代表回車,注意:回車是一個(gè)字符)1234則輸出結(jié)果是()。A、123B、12C、1234D、1234答案:A解析:scanf()函數(shù)的一般調(diào)用形式為:scanf(格式控制,輸入地址列表)。其中,格式控制是用雙引號(hào)括起來的字符串,包括格式字符和普通字符,格式是由“%”和格式字符組成。getchar()函數(shù)的功能是從標(biāo)準(zhǔn)輸入設(shè)備上讀入一個(gè)字符。根據(jù)程序中的格式控制可知,接收輸入時(shí)分別把1賦給了a,2賦給了b,然后getchar()函數(shù)提取一個(gè)換行符賦給c,再提取一個(gè)字符3賦給了d。所以程序的輸出結(jié)果為:123。答案選擇C選項(xiàng)。79.在教師表中,如果要找出職稱為“教授”的教師,所采用的關(guān)系運(yùn)算是()。A、投影B、選擇C、聯(lián)接D、自然選擇答案:B解析:投影表示從關(guān)系模式中指定若干屬性組成新的關(guān)系。選擇表示從關(guān)系中找出滿足給定條件的元組的操作。聯(lián)接是關(guān)系的橫向結(jié)合,聯(lián)接運(yùn)算將兩個(gè)關(guān)系模式拼接成一個(gè)更寬的關(guān)系模式,生成新的關(guān)系中包含滿足聯(lián)接條件的元組。屬性同為“教授”的教師組成新的關(guān)系。答案選擇B選項(xiàng)。80.有以下程序:#includevoidfun(inta,intb){intt;t=a;a=b;b=t;}main(){intc[10]={1,2,3,4,5,6,7,8,9,0},i;for(i=0;i<10;i+=2)fun(c[i],c[i+1]);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序運(yùn)行的結(jié)果是()。A、1,2,3,4,5,6,7,8,9,0,B、2,1,4,3,6,5,8,7,0,9,C、0,9,8,7,6,5,4,3,2,1,D、0,1,2,3,4,5,6,7,8,9,答案:A解析:在C語言中,函數(shù)參數(shù)傳遞的作用是“傳值”,形參和實(shí)參是兩個(gè)沒有關(guān)系的變量。函數(shù)fun交換了參數(shù)值,但只是交換了形參的值,結(jié)果并不會(huì)傳遞給實(shí)參。所以數(shù)組c沒有發(fā)生變化,原順序輸出。答案選擇A選項(xiàng)。81.下列關(guān)于線性鏈表的描述中,正確的是()。Ⅰ.只含有一個(gè)指針域來存放下一個(gè)元素地址Ⅱ.指針域中的指針用于指向該結(jié)點(diǎn)的前一個(gè)或后一個(gè)結(jié)點(diǎn)(即前件或后件)Ⅲ.結(jié)點(diǎn)由兩部分組成:數(shù)據(jù)域和指針域。A、僅Ⅰ、ⅡB、僅Ⅰ、ⅢC、僅Ⅱ、ⅢD、全部答案:C解析:在鏈?zhǔn)酱鎯?chǔ)方式中,雙向鏈表有兩個(gè)指針域,故Ⅰ錯(cuò)誤。每個(gè)結(jié)點(diǎn)包含存放數(shù)據(jù)的數(shù)據(jù)域和存放指針的指針域,故Ⅲ正確。指針用于表示線性邏輯關(guān)系,指向該結(jié)點(diǎn)的前驅(qū)、后繼或者兩者都有,故Ⅱ正確。答案選擇C選項(xiàng)。82.對(duì)于長度為n的線性表,在最壞情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確的是()。A、冒泡排序?yàn)閚(n-1)/2B、簡單插入排序?yàn)閚C、希爾排序?yàn)閚D、快速排序?yàn)閚/2答案:A解析:在最壞情況下,冒泡排序、直接插入排序與簡單選擇排序法均需要比較n(n-1)/2次。希爾排序需要比較n1.5次,堆排序需要比較的次數(shù)最少,為nlog2n。答案選擇A選項(xiàng)。83.設(shè)有如下關(guān)系表,由關(guān)系R和S通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。A、T=R∩SB、T=R∪SC、T=R×SD、T=R/S答案:B解析:交運(yùn)算和并運(yùn)算用于屬性相同的兩個(gè)關(guān)系間,其中交運(yùn)算的結(jié)果是既屬于關(guān)系R也屬于關(guān)系S的集合,并運(yùn)算將結(jié)構(gòu)相同的兩個(gè)關(guān)系合并,合并后的關(guān)系包含兩個(gè)關(guān)系中的所有元組。答案選擇B選項(xiàng)。84.函數(shù)調(diào)用語句:fun((exp1,exp2),(exp1,exp2,exp3));含有的實(shí)參個(gè)數(shù)是()。A、1B、4C、5D、2答案:D解析:函數(shù)fun參數(shù)列表中有兩個(gè)參數(shù),多個(gè)參數(shù)之間用逗號(hào)分隔,分別是逗號(hào)表達(dá)式“(exp1,exp2)”的值與“(exp1,exp2,exp3)”的值。答案選擇D選項(xiàng)。85.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)相比,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的優(yōu)點(diǎn)有()。A、節(jié)省存儲(chǔ)空間B、插入與刪除運(yùn)算效率高C、便于查找D、排序時(shí)減少元素的比較次數(shù)答案:B解析:順序表可以隨機(jī)存取,元素間關(guān)系隱藏于存儲(chǔ)關(guān)系中,但插入與刪除操作需要移動(dòng)大量元素,降低了效率;鏈表查找時(shí)需要沿鏈依次比較,效率低,為了表示元素間關(guān)系需要額外的指針域,但插入與刪除操作僅需改變指針,比順序表快。答案選擇B選項(xiàng)。86.有以下定義inta;longb;doublex,y;則以下選項(xiàng)中正確的表達(dá)式是()。A、(a*y)%bB、a==x<>yC、a%(int)(x-y)D、y=x+y=x答案:C解析:%運(yùn)算是取兩整數(shù)相除后余數(shù)的運(yùn)算符,它只適用于整數(shù)的運(yùn)算。A項(xiàng)錯(cuò)誤,(a*y)%b中的(a*y)為double型;B項(xiàng)錯(cuò)誤,C語言中沒有<>運(yùn)算符;C項(xiàng)正確,x-y結(jié)果為double型,但是通過強(qiáng)制類型轉(zhuǎn)換將其轉(zhuǎn)換為int型;D項(xiàng)錯(cuò)誤,x+y不能作為左值。答案選擇C選項(xiàng)。87.有以下程序#includemain(){inta=7;while(a--);printf("%d\n",a);}程序運(yùn)行后的輸出結(jié)果是()。A、-1B、0C、1D、7答案:A解析:“++”和“—”運(yùn)算,當(dāng)以前綴形式出現(xiàn)時(shí),則先進(jìn)行加一或減一操作,再取值,當(dāng)以后綴形式出現(xiàn)時(shí),則先取值,再進(jìn)行加一或減一操作。程序中執(zhí)行a--,直到while判斷為0時(shí)才跳出循環(huán),執(zhí)行下條語句,即a為0時(shí)再執(zhí)行a--,此時(shí)跳出while循環(huán),最終輸出的結(jié)果為-1。答案選擇A選項(xiàng)。88.以下定義語句中正確的是()。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)錯(cuò)誤,b是指針變量,*c=&b表示將一個(gè)二級(jí)指針賦值給一個(gè)一級(jí)指針,應(yīng)該為*c=b或者**c=&b;B項(xiàng)錯(cuò)誤,變量定義的時(shí)候不能用連續(xù)用等號(hào),等號(hào)在定義是初始化的一種;D項(xiàng)錯(cuò)誤,變量前為分號(hào)“;”表示前面的語句定義完畢,變量b的定義沒有指明變量類型。答案選擇C選項(xiàng)。89.若變量x、y已正確定義并賦值,以下符合C語言語法的表達(dá)式是()。A、x+1=yB、++x,y=x--C、x=x+10=x+yD、ouble(x)/10答案:B解析:B項(xiàng)正確,++x是前綴表達(dá)式,y=x--是復(fù)合語句,先進(jìn)行x--,然后把自減后的值賦給y。A項(xiàng)錯(cuò)誤,x+1是右值,不能被賦值;C項(xiàng)錯(cuò)誤,x+10是右值,不能被賦值;D項(xiàng)錯(cuò)誤,應(yīng)改成(double)x/10,double(x)/10是表示聲明了一個(gè)double變量,它名字是(x)/10,顯然不符合C語言語法。答案選擇B選項(xiàng)。90.若已有定義語句:inta,b,c;且變量已正確賦初值,則以下選項(xiàng)中正確的賦值表達(dá)式是()。A、=(b=c)+8;B、(a=b)=c=9;C、a=(b==c)='A';D、a+b=c+1;答案:A解析:A項(xiàng)正確,將c賦值給b后又加上8,然后再賦值給a;B、D項(xiàng)錯(cuò)誤,賦值運(yùn)算符左邊必須是一個(gè)變量;C項(xiàng)錯(cuò)誤,(b==c)是個(gè)表達(dá)式,語法錯(cuò)誤。答案選擇A選項(xiàng)。91.設(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,再計(jì)算y-x計(jì)算的結(jié)果為3,滿足題意;B項(xiàng)為0,C項(xiàng)為2,D項(xiàng)等同于C項(xiàng)。答案選擇A選項(xiàng)。92.下列不屬于軟件設(shè)計(jì)階段任務(wù)的是()。A、軟件總體設(shè)計(jì)B、算法設(shè)計(jì)C、制定軟件確定測試計(jì)劃D、數(shù)據(jù)庫設(shè)計(jì)答案:C解析:軟件概要設(shè)計(jì)階段的任務(wù)有:①軟件體系結(jié)構(gòu)設(shè)計(jì);②軟件數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計(jì);③編寫概要設(shè)計(jì)文檔;④概要設(shè)計(jì)文檔評(píng)審。軟件確認(rèn)測試計(jì)劃是在需求分析階段制定的,依據(jù)需求規(guī)格說明書來驗(yàn)證軟件的功能和性能。答案選擇C選項(xiàng)。93.若變量均已正確定義并賦值,以下合法的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)錯(cuò)誤,浮點(diǎn)數(shù)不能參與模運(yùn)算;C項(xiàng)錯(cuò)誤,賦值運(yùn)算符左邊只能是單一變量,x+n是右值,不能給它賦值;D項(xiàng)錯(cuò)誤,5是常量,不能被賦值。答案選擇A選項(xiàng)。94.有以下程序#includemain(){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf("%d,%d,%d,%d\n",a,b,c,d);}程序輸出()。A、0,0,0,3B、編譯有錯(cuò)C、1,1,2,0D、0,1,2,0答案:B解析:如果if的執(zhí)行語句含有多個(gè)語句(兩個(gè)以上),則必須使用復(fù)合語句,即用花括號(hào)把一組語句括起來;否則,緊跟if的下一條語句是它的執(zhí)行語句,因此c=2不是if執(zhí)行語句,它是在if和else之間的語句。在程序中else必須與if配對(duì),共同組成一條if-else語句,中間不能出現(xiàn)其他語句,因此該程序編譯錯(cuò)誤。答案選擇B選項(xiàng)。95.若變量已正確定義為int型,要通過語句scanf("%d,%d,%d",&a,&b,&c);給a賦值1、給b賦值2、給c賦值3,以下輸入形式中錯(cuò)誤的是(u代表一個(gè)空格)()。A、1u2u3<回車>B、uuu1,2,3<回車>C、1,uuu2,uuu3D、1,2,3答案:A解析:在輸入整數(shù)或?qū)崝?shù)這類數(shù)值型數(shù)據(jù)時(shí),輸入的數(shù)據(jù)之間必須用空格、回車符、制表符(Tab鍵)等間隔符隔開,間隔符個(gè)數(shù)不限。在題目中,scanf函數(shù)使用通配符逗號(hào),則在輸入數(shù)據(jù)時(shí)也要使用通配符逗號(hào),且逗號(hào)要緊跟著數(shù)據(jù)后面。B項(xiàng),沒有輸入非格式符“,”。答案選擇A選項(xiàng)。96.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是()。A、循環(huán)隊(duì)列B、帶鏈隊(duì)列C、二叉樹D、帶鏈棧答案:C解析:線性結(jié)構(gòu)要滿足兩個(gè)條件:①有且僅有一個(gè)根結(jié)點(diǎn);②每個(gè)結(jié)點(diǎn)最多有一個(gè)前驅(qū),也最多有一個(gè)后繼。棧和隊(duì)列均滿足這兩個(gè)條件,屬于線性結(jié)構(gòu);循環(huán)隊(duì)列是一個(gè)頭結(jié)點(diǎn)和尾結(jié)點(diǎn)互為前驅(qū)結(jié)點(diǎn)和后繼結(jié)點(diǎn)的特殊的隊(duì)列,屬于線性結(jié)構(gòu);帶鏈隊(duì)列、帶鏈棧都是用鏈表形式來實(shí)現(xiàn)的,分別滿足隊(duì)列和棧的條件,只是存儲(chǔ)結(jié)構(gòu)不連續(xù),屬于線性結(jié)構(gòu)。二叉樹除了葉子結(jié)點(diǎn)外,每個(gè)結(jié)點(diǎn)都可以有兩個(gè)后繼結(jié)點(diǎn),屬于非線性結(jié)構(gòu)。答案選擇C選項(xiàng)。97.C語言中的標(biāo)識(shí)符分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符,以下敘述中正確的是()。A、預(yù)定義標(biāo)識(shí)符(如庫函數(shù)中的函數(shù)名)可用作用戶標(biāo)識(shí)符,但失去原有含義B、用戶標(biāo)識(shí)符可以由字母和數(shù)字任意順序組成C、在標(biāo)識(shí)符中大寫字母和小寫字母被認(rèn)為是相同的字符D、關(guān)鍵字可用作用戶標(biāo)識(shí)符,但失去原有含義答案:A解析:C語言允許把預(yù)定義標(biāo)識(shí)符重新定義另作他用,但這將失去預(yù)先定義的原意。B項(xiàng),標(biāo)識(shí)符的第一個(gè)字符必須為字母或下劃線;C項(xiàng),標(biāo)識(shí)符區(qū)分大小寫;D項(xiàng),關(guān)鍵字是指被C語言保留的,不能用作其他用途的標(biāo)識(shí)符。答案選擇A選項(xiàng)。98.深度為5的完全二叉樹的結(jié)點(diǎn)數(shù)不可能是()。A、15B、16C、17D、18答案:A解析:深度為n的完全二叉樹的結(jié)點(diǎn)數(shù)范圍為:2n-1-1+1~2n-1,本題中的范圍即為24-1+1~25-1,即為16~31之間。所以節(jié)點(diǎn)數(shù)不可能是15,選A。99.以下敘述中錯(cuò)誤的是()。A、算法正確的程序最終一定會(huì)結(jié)束B、算法正確的程序可以有零個(gè)輸出C、算法正確的程序可以有零個(gè)輸入D、算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果答案:B解析:算法的5個(gè)特性:①有窮性;②確定性;③可行性;④有零個(gè)或多個(gè)輸入;⑤有一個(gè)或多個(gè)輸出。答案選擇B選項(xiàng)。100.以下敘述中正確的是()。A、C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面B、C程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個(gè)語句C、程序書寫格式自由,一個(gè)語句可以寫在多行上D、用C語言編寫的程序只能放在一個(gè)程序文件中答案:C解析:C程序的注釋可以出現(xiàn)在C程序的任何位置,注釋符號(hào):“//”或“/*…*/”,選項(xiàng)A錯(cuò)誤。C程序中,一行內(nèi)可寫多個(gè)語句,每條語句用分號(hào)“;”結(jié)束,選項(xiàng)B錯(cuò)誤,選項(xiàng)C正確。用C語言編寫的程序可以放在多個(gè)程序文件中,用#include命令行實(shí)現(xiàn)文件包含功能,選項(xiàng)D錯(cuò)誤。答案選擇C選項(xiàng)。101.下列敘述中正確的是()。A、結(jié)點(diǎn)中具有兩個(gè)指針域的鏈表一定是二叉鏈表B、結(jié)點(diǎn)中具有兩個(gè)指針域的鏈表可以是線性結(jié)構(gòu),也可以是非線性結(jié)構(gòu)C、二叉樹只能采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)D、循環(huán)鏈表是非線性結(jié)構(gòu)答案:B解析:A項(xiàng)錯(cuò)誤,具有兩個(gè)指針域的鏈表可能是雙向鏈表,也可能是二叉鏈表,其中雙向鏈表是線性結(jié)構(gòu),二叉樹為非線性結(jié)構(gòu);B項(xiàng)正確,如雙向鏈表是線性結(jié)構(gòu),二叉樹為非線性結(jié)構(gòu),兩者結(jié)點(diǎn)中均有兩個(gè)指針域;C項(xiàng)錯(cuò)誤,二叉樹通常采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),也可采用其他結(jié)構(gòu);D項(xiàng)錯(cuò)誤,循環(huán)鏈表是線性結(jié)構(gòu),邏輯概念線性非線性與實(shí)際存儲(chǔ)結(jié)構(gòu)無關(guān)。答案選擇B選項(xiàng)。102.下列關(guān)于棧的描述中,正確的是()。A、在棧中只能插入元素B、在棧中只能刪除元素C、只能在一端插入或刪除元素D、只能在一端插入元素,而在另一端刪除元素答案:C解析:棧是一種操作受限的線性表:棧只能在棧頂插入和刪除元素。答案選擇C選項(xiàng)。103.一棵二叉樹共有25個(gè)結(jié)點(diǎn),其中5個(gè)葉子結(jié)點(diǎn),那么度為1的結(jié)點(diǎn)數(shù)為()。A、4B、6C、10D、16答案:D解析:根據(jù)二叉樹的性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè),所以度為2的結(jié)點(diǎn)數(shù)為4個(gè),那么25-5-4=16即為度為1的結(jié)點(diǎn)數(shù)。答案選擇D選項(xiàng)。104.下列敘述中正確的是()。A、每個(gè)C程序文件中都必須要有一個(gè)main函數(shù)B、在C程序中main函數(shù)的位置是固定的C、程序中所有函數(shù)之間都可以相互調(diào)用D、在C程序的函數(shù)中不能定義另一個(gè)函數(shù)答案:D解析:在C程序中,main函數(shù)的位置可以任意,而且不管main函數(shù)位置怎么變化,程序都會(huì)以main函數(shù)作為入口,選項(xiàng)B錯(cuò)誤;每個(gè)C程序(而不是每個(gè)C程序文件)必須有且只能有一個(gè)main函數(shù),選項(xiàng)A錯(cuò)誤;main函數(shù)不能被其他函數(shù)調(diào)用,選項(xiàng)C錯(cuò)誤;函數(shù)的定義不能放在另一個(gè)函數(shù)體內(nèi),但是聲明可以,答案選擇D選項(xiàng)。105.針對(duì)簡單程序設(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解析:簡單程序設(shè)計(jì)的步驟是首先要確定算法和數(shù)據(jù)結(jié)構(gòu),然后編碼、調(diào)試,最后整理相關(guān)文檔。答案選擇A選項(xiàng)。106.程序段: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)。107.在三級(jí)模式之間引入兩層映象,其主要功能之一是()。A、使數(shù)據(jù)與程序具有較高的獨(dú)立性B、使系統(tǒng)具有較高的通道能力C、保持?jǐn)?shù)據(jù)與程序的一致性D、提高存儲(chǔ)空間的利用率答案:A解析:數(shù)據(jù)庫管理系統(tǒng)在數(shù)據(jù)庫的三級(jí)模式之間提供了兩層映象,包括:①外模式/模式映射,當(dāng)模式發(fā)生改變時(shí),只要改變其映射,就可以使外模式保持不變,保證了邏輯獨(dú)立性;②模式/內(nèi)模式映射,當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)發(fā)生變化時(shí),只需改變模式/內(nèi)模式映射,就能保持模式不變,保證了物理獨(dú)立性。答案選擇A選項(xiàng)。108.構(gòu)成C程序的三種基本結(jié)構(gòu)是()。A、順序結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)、遞歸結(jié)構(gòu)B、順序結(jié)構(gòu)、嵌套結(jié)構(gòu)、遞歸結(jié)構(gòu)C、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)D、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、嵌套結(jié)構(gòu)答案:C解析:結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。已經(jīng)證明,由三種基本結(jié)構(gòu)組成的算法可以解決任何復(fù)雜的問題。答案選擇C選項(xiàng)。109.以下選項(xiàng)中不屬于字符常量的是()。A、'C'B、"C"C、'\xCC'D、'\072'答案:B解析:B項(xiàng),C語言中用雙引號(hào)表示字符串,在分配存儲(chǔ)空間時(shí)需要包含"\0"作為結(jié)束標(biāo)志。CD兩項(xiàng),分別表示十六進(jìn)制、八進(jìn)制格式ASCII碼值對(duì)應(yīng)的字符常量。答案選擇B選項(xiàng)。110.關(guān)于地址和指針,以下說法正確的是()。A、通過強(qiáng)制類型轉(zhuǎn)換可以將一種類型的指針變量賦值給另一種類型的指針變量B、可以取一個(gè)常數(shù)的地址賦值給同類型的指針變量C、可以取一個(gè)表達(dá)式的地址賦值給同類型的指針變量D、可以取一個(gè)指針變量的地址賦值給基類型相同的指針變量答案:A解析:常數(shù)的地址存儲(chǔ)在內(nèi)存的常量區(qū),常量區(qū)存儲(chǔ)的都是常量,值都是不可修改的,所以直接取常量的地址賦給指針變量沒有任何意義,C語言也不允許這樣做,編譯會(huì)出錯(cuò),B項(xiàng)錯(cuò)誤;表達(dá)式的值存儲(chǔ)在臨時(shí)變量中,內(nèi)存中存在專門用來存儲(chǔ)臨時(shí)變量的區(qū)域,對(duì)這塊地址進(jìn)行操作也是沒有意義的,C語言不允許這樣做,編譯會(huì)出錯(cuò),C項(xiàng)錯(cuò)誤;可以取一個(gè)指針變量的地址,但是指針變量的地址屬于指針,只能賦值給指針類型的指針變量,D項(xiàng)錯(cuò)誤。答案選擇A選項(xiàng)。111.以下選項(xiàng)中敘述正確的是()。A、結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)是循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)、順序結(jié)構(gòu)B、C語言源程序不編譯也能直接運(yùn)行C、使用N—S流程圖不能描述復(fù)雜算法D、計(jì)算機(jī)能夠直接運(yùn)行C語言源程序,不必進(jìn)行任何轉(zhuǎn)換答案:A解析:編譯就是把高級(jí)語言變成計(jì)算機(jī)可以識(shí)別的二進(jìn)制語言,不經(jīng)過編譯的源程序是不能運(yùn)行的,B項(xiàng)錯(cuò)誤。算法可以用各種描述方法進(jìn)行描述,N-S流程圖把算法的每一步都用一個(gè)矩形框來表示,把一個(gè)個(gè)矩形框按執(zhí)行的次序連接起來就是一個(gè)算法描述,無論算法復(fù)雜與否都能用N-S流程圖描述,C項(xiàng)錯(cuò)誤。C語言源程序需要經(jīng)過編譯和連接生成目標(biāo)文件和可執(zhí)行文件后才能運(yùn)行,D項(xiàng)錯(cuò)誤。答案選擇A選項(xiàng)。112.軟件開發(fā)中,需求分析階段可以使用的工具是()。A、N-S圖B、DFD圖C、PAD圖D、程序流程圖答案:B解析:結(jié)構(gòu)化解析方法是結(jié)構(gòu)化程序設(shè)計(jì)理論在軟件需求解析階段的運(yùn)用,DFD(數(shù)據(jù)流圖)是結(jié)構(gòu)化解析常用的工具之一,數(shù)據(jù)字典、判定樹和判定表也是常用的結(jié)構(gòu)化分析工具。程序流程圖、N-S圖、PAD圖等圖形工具用于詳細(xì)設(shè)計(jì)的過程中。答案選擇B選項(xiàng)。113.有以下程序:#includemain(){int*p,x=100;p=&x;x=*p+10;printf("%d\n",x);}程序運(yùn)行后的輸出結(jié)果是()。A、110B、120C、100D、90答案:A解析:程序執(zhí)行過程為:定義指針p,指向變量x,p的值即為x的地址,*p就表示該地址處存放的值,x=(*p)+10=110,輸出110。答案選擇A選項(xiàng)。114.有以下程序:#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)行后從第一列開始輸入以下數(shù)據(jù):2473<回車>程序的輸出結(jié)果是()。A、668977B、4444C、6677877D、68766答案:A解析:本題執(zhí)行過程為:讀入c='2',c-'2'=0,首先匹配case0,依次輸出6,6,后執(zhí)行break語句,跳出分支結(jié)構(gòu);讀入c='4',c-'2'=2,匹配case2,輸出8,執(zhí)行break語句,跳出分支結(jié)構(gòu);讀入c='7',c-'2'=5,匹配default,輸出9,執(zhí)行break語句,跳出分支結(jié)構(gòu);讀入c='3',c-'2'=1,匹配case1,依次輸出7,7,執(zhí)行break語句,跳出分支結(jié)構(gòu)。輸入回車,結(jié)束循環(huán)。答案選擇A選項(xiàng)。115.有以下程序:#includemain(){ints;scanf("%d",&s);while(s>0){switch(s){case1:printf("%d",s+5);case2:printf("%d",s+4);break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}運(yùn)行時(shí),若輸入123450<回車>,則輸出結(jié)果是()。A、6566456B、66656C、66666D、6666656答案:A解析:輸入1:執(zhí)行case1,輸出6,沒有遇到break,繼續(xù)執(zhí)行case2,輸出5,遇到break,跳出;輸入2:執(zhí)行case2,輸出6,遇到break,跳出;輸入3:執(zhí)行case3,輸出6,沒有遇到break,執(zhí)行default,輸出4;輸入4:執(zhí)行default,輸出5;輸入5:執(zhí)行default,輸出6。最后輸出結(jié)果是6566456。116.算法的空間復(fù)雜度是指()。A、算法在執(zhí)行過程中所需要的計(jì)算機(jī)存儲(chǔ)空間B、算法所處理的數(shù)據(jù)量C、算法程序中的語句或指令條數(shù)D、算法在執(zhí)行過程中所需要的臨時(shí)工作單元數(shù)答案:A解析:算法的空間復(fù)雜度是指算法在執(zhí)行過程中所需要的計(jì)算機(jī)存儲(chǔ)空間。包括算法程序所占空間,輸入的初始數(shù)據(jù)所占空間和執(zhí)行過程中所需要的額外空間。答案選擇A選項(xiàng)。117.設(shè)有兩行定義語句:intscanf;floatcase;則以下敘述正確的是()。A、兩行定義語句都不合法B、兩行定義語句都合法C、第1行語句不合法D、第2行語句不合法答案:D解析:預(yù)定義標(biāo)識(shí)符是系統(tǒng)已經(jīng)有過定義的標(biāo)識(shí)符,用戶可以重新定義,可以作為變量名。scanf為庫函數(shù)名

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論