版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGEPAGE1(新版)二級C語言考試復(fù)習題庫(500題)一、單選題1.關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算包括()。A、排序、索引、統(tǒng)計B、選擇、投影、連接C、關(guān)聯(lián)、更新、排序D、顯示、打印、制表答案:B解析:關(guān)系運算包括:①傳統(tǒng)集合運算,包括并、交、差、廣義笛卡爾積;②專門關(guān)系運算,包括選擇、投影、連接、除等。答案選擇B選項。2.下列敘述中錯誤的是()。A、在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致B、數(shù)據(jù)庫技術(shù)的根本目標是要解決數(shù)據(jù)的共享問題C、數(shù)據(jù)庫設(shè)計是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫D、數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持答案:A解析:數(shù)據(jù)庫物理結(jié)構(gòu)主要指數(shù)據(jù)的存放位置和存儲結(jié)構(gòu),包括關(guān)系、索引、聚簇、日志、備份等的存儲安排和存儲結(jié)構(gòu);數(shù)據(jù)庫的邏輯結(jié)構(gòu)是用戶所看到和使用的數(shù)據(jù)庫,表示了一個或一些特定用戶使用的數(shù)據(jù)集合,即邏輯記錄的集合。A項錯誤,存儲位置的改變并不影響邏輯關(guān)系。答案選擇A選項。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);}程序運行后的輸出結(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選項。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ù),形參的改變會導(dǎo)致實參的改變。fun函數(shù)的作用是先交換兩個指針的指向的值,即p指針指向的值是9,q指針指向的值是0,然后將p指針指向的值賦給q指針,q指針指向的值也成了9,所以a和b的值均為9,答案選擇D選項。5.有以下程序:#includemain(){intx=0x13;if(x=0x12)printf("True");printf("False\n");}程序運行后的輸出結(jié)果是()。A、TrueB、TrueFalseC、FalseD、TrueFalseTrue答案:B解析:if(x=0x12)條件語句為賦值語句,注意賦值操作符“=”與相等操作符“==”的區(qū)別,此處是賦值語句“=”0x12即十進制的18,給x賦值18,因此if的判斷條件為真,執(zhí)行輸出語句,輸出True;之后再執(zhí)行下一個輸出語句,輸出False,答案選擇B選項。6.有以下程序(注:字符a的ASCII碼值為97):#includemain(){char*s={"abc"};do{printf("%d",*s%10);++s;}while(*s);}程序運行后的輸出結(jié)果是()。A、bcB、789C、7890D、979800答案:B解析:abc的ASCII值分別為97、98、99。程序中執(zhí)行輸出s中字符對應(yīng)的ASCII碼與10進行模運算后的值,s是一個指針,首先指向字符a,先執(zhí)行97%10,結(jié)果為7;然后++s,指針指向下一個字符b,執(zhí)行98%10,結(jié)果為8,直到s所指為空,故最后輸出的結(jié)果為789。答案選擇B選項。7.某二叉樹共有845個結(jié)點,其中葉子結(jié)點有45個,則度為1的結(jié)點數(shù)為()。A、400B、754C、756D、不確定答案:C解析:在二叉樹中,度為0的結(jié)點總是比度為2的結(jié)點多一個,那么,結(jié)點共有845個,度為0的結(jié)點有45個,度為2的結(jié)點數(shù)有44個,所以度為1的結(jié)點數(shù)有756個。答案選擇C選項。8.對建立良好的程序設(shè)計風格,下面描述正確的是()。A、程序應(yīng)簡單、清晰、可讀性好B、符號名的命名只要符合語法C、充分考慮程序的執(zhí)行效率D、程序的注釋可有可無答案:A解析:程序不僅僅要能夠正常運行,還要便于調(diào)試和維護,所以程序語句結(jié)構(gòu)應(yīng)該簡單直接,具有良好的可讀性,建立良好的程序設(shè)計風格。答案選擇A選項。9.支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()。A、棧B、樹C、隊列D、二叉樹答案:A解析:在高級語言中,函數(shù)的調(diào)用是通過棧來實現(xiàn)的。在進行函數(shù)調(diào)用時,系統(tǒng)將所需的信息壓入棧中,如函數(shù)的局部變量、返回值等。每個函數(shù)的狀態(tài)是由函數(shù)中的局部變量、函數(shù)參數(shù)值、函數(shù)的返回值地址決定的,存儲這些信息的數(shù)據(jù)區(qū)域稱為活動記錄,或叫做棧幀,它是運行時系統(tǒng)棧上分配的空間。答案選擇A選項。10.以下是if語句的基本形式:if(表達式)語句其中“表達式”()。A、必須是邏輯表達式B、必須是關(guān)系表達式C、必須是邏輯表達式或關(guān)系表達式D、可以是任意合法的表達式答案:D解析:if中的表達式一般是關(guān)系表達式或邏輯表達式,用于描述選擇結(jié)構(gòu)的條件,但也可以是其他類型表達式,在其值非零時為真,所以任意合法的表達式都可以做if語句的判斷條件。答案選擇D選項。11.以下關(guān)于指針的敘述正確是()。A、所有類型的指針變量所占內(nèi)存的大小是一樣的B、指針變量所占內(nèi)存的大小與其類型有關(guān),char型指針變量只占1個字節(jié),double型指針變量占8個字節(jié)C、指針變量可直接指向任何類型的變量,而不會出現(xiàn)編譯或運行錯誤D、指針變量既可以直接指向結(jié)構(gòu)體,也可直接指向結(jié)構(gòu)體中某個成員,而不會出現(xiàn)編譯或運行錯誤答案:A解析:所有變量地址值所占字節(jié)都相同,故指針變量所占內(nèi)存大小相同,A項正確,B項錯誤。只能把具有相同類型的變量地址,存放到指針變量中,結(jié)構(gòu)體變量與某個成員類型不同,不能用同樣的指針指向它們,C、D兩項錯誤。答案選擇A選項。12.設(shè)變量已正確定義,以下不能統(tǒng)計出一行中輸入字符個數(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)計一行中輸入字符個數(shù)(不包含回車符)的程序?qū)崿F(xiàn),首先定義一個用作統(tǒng)計的變量n,賦初值為0;因為字符結(jié)束應(yīng)該有換行符,所以該行字符是否結(jié)束的判斷條件應(yīng)為“getchar()!="\n"”;D項中for循環(huán)表達式格式錯誤,應(yīng)在ch前添加“;”,注意for循環(huán)中有三個表達式,必須有兩個分號,D項編譯錯誤。答案選擇D選項。13.下面描述不屬于軟件特點的是()。A、軟件是一種邏輯實體,具有抽象性B、軟件在使用中不存在磨損、老化問題C、軟件復(fù)雜性高D、軟件使用不涉及知識產(chǎn)權(quán)答案:D解析:軟件具有以下特點:①軟件是一種邏輯實體,具有抽象性;②軟件沒有明顯的制作過程;③軟件在使用期間不存在磨損、老化問題;④軟件對硬件和環(huán)境具有依賴性;⑤軟件復(fù)雜性高,成本昂貴;⑥軟件開發(fā)涉及諸多的社會因素,如知識產(chǎn)權(quán)等。答案選擇D選項。14.下列選項中不屬于面向?qū)ο蟪绦蛟O(shè)計特征的是()。A、分類性B、多態(tài)性C、類比性D、封裝性答案:C解析:面向?qū)ο笤O(shè)計是建立在“對象”概念上的方法學,對象是面向?qū)ο笳Z言中類的實體,其特點包括:①標識唯一性,對象可區(qū)分;②分類性,可以將具有相同屬性和操作的對象抽象成類;③多態(tài)性,同一個操作對于不同對象表現(xiàn)不同的行為;④封裝性,屏蔽數(shù)據(jù)的具體結(jié)構(gòu)以及操作的算法;⑤模塊獨立性好,對象內(nèi)部各種元素結(jié)合緊密,內(nèi)聚性強。答案選擇C選項。15.設(shè)有定義doublex[10],*p=x;以下能給數(shù)組x下標為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)當是存放輸入數(shù)據(jù)變量的地址。A項,“%f”格式符對應(yīng)的是float類型的變量;BD兩項,*(x+6)和p[6]都表示下標為6的元素的值而非其地址;C項,p+6表示數(shù)組x下標為6的元素的地址。答案選擇C選項。16.若函數(shù)調(diào)用時的實參為變量時,以下關(guān)于函數(shù)形參和實參的敘述中正確的是()。A、函數(shù)的形參和實參分別占用不同的存儲單元B、形參只是形式上的存在,不占用具體存儲單元C、同名的實參和形參占同一存儲單元D、函數(shù)的實參和其對應(yīng)的形參共占同一存儲單元答案:A解析:函數(shù)體中,變量(包括形參)只在函數(shù)被調(diào)用時才臨時開辟存儲單元,當退出函數(shù)時,這些臨時開辟的存儲單元全被釋放掉。C語言中函數(shù)調(diào)用可以分成傳值和傳引用,傳值調(diào)用,形參是實參的數(shù)據(jù)拷貝;傳引用調(diào)用,形參是實參的指針拷貝;所以,形參和實參占用不同的存儲單元。答案選擇A選項。17.若變量已正確定義并賦值,則錯誤的賦值語句是()。A、=a+1;B、a=sizeof(double);C、a=d∥c;D、a+1=a;答案:D解析:賦值號的左邊必須是一個代表某個存儲單元的變量名,賦值號的右邊必須是C語言中合法的表達式。賦值運算的功能是先求出右邊表達式的值,然后把此值賦給賦值號左邊的變量。答案選擇D選項。18.某二叉樹的前序序列為ABCDEFG,中序序列為DCBAEFG,則該二叉樹的后序序列為()。A、EFGDCBAB、DCBEFGAC、BCDGFEAD、CBGFEA答案:D解析:二叉樹的前序序列為ABCDEFG,A為根結(jié)點。中序序列為DCBAEFG,可知DCB為左子樹結(jié)點,EFG為右子樹結(jié)點。依此類推,畫出該二叉樹,二叉樹的后序序列為DCBGFEA。答案選擇D選項。19.以下敘述正確的是()。A、C程序總是以main()作為程序執(zhí)行的起始行B、main()函數(shù)若不帶參數(shù),其后面的一對圓括號可省略C、函數(shù)體內(nèi)的定義語句和可執(zhí)行語句允許任意穿插出現(xiàn)D、C語言中的語句之間必須用分號作為分隔符答案:A解析:main函數(shù)后面的括號告訴編譯器這是一個函數(shù),不可以省略,排除B選項;在復(fù)合語句中,不僅可以有執(zhí)行語句,還可以有定義語句,定義語句應(yīng)該出現(xiàn)在執(zhí)行語句的前面,故排除C選項;C語言中的某些語句可以不用分號,例如if語句,宏定義,故D選項錯誤。答案選擇A選項。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");}程序運行后的輸出結(jié)果是()。A、BcDeFB、ABCDEFC、AbCdEfD、abcdef答案:C解析:本題中,當i為偶數(shù)時,即0、2、4,執(zhí)行putchar(i+c)會依次輸出ACE;當i為奇數(shù)時,即1、3、5,執(zhí)行putchar(i+b)會依次輸出bdf,所以最終輸出AbCdEf。答案選擇C選項。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選項。22.有兩個關(guān)系R和T如下:則由關(guān)系R得到關(guān)系T的操作是()。A、投影B、交C、選擇D、并答案:A解析:關(guān)系T是由關(guān)系R的第1、3列的元組組成,這是對關(guān)系R進行投影運算的結(jié)果??梢院唵卫斫鉃椋哼x擇運算是對行(元組)的操作,投影運算是對列的操作。投影運算是對列的操作。投影是從表中選出指定的屬性值組成新表,是單目運算,答案選擇A選項。23.若a是數(shù)值類型,則邏輯表達式(a==1)∥(a!=1)的值是()。A、1B、0C、2D、不知道a的值,不能確定答案:A解析:運算符“∥”為邏輯或運算符,即只要兩邊的條件表達式中有一個為“真”,則“邏輯或”的運算結(jié)果就為“真”。當a==1時,運算符左邊的表達式為“真”;當a!=1時,運算符右邊的表達式為“真”。因此,邏輯表達式(a==1)∥(a!=1)的值恒為1。答案選擇A選項。24.有兩個關(guān)系R與S如下,由關(guān)系R和S得到關(guān)系T,則所使用的操作為()。A、并B、自然連接C、除法D、交答案:C解析:除運算可以近似地看作笛卡爾積的逆運算。R÷S=T,T稱為R除以S的商。S中屬性為A和A1,T中屬性為B和B1,在R元組中找到對應(yīng)于S中兩個元組的T中元組為f3與n2。R中最后一個元組與S中無對應(yīng)關(guān)系,所以在T中也不會出現(xiàn)。答案選擇C選項。25.若變量已正確定義,在if(W)printf("%d\n",k);中,以下不可替代W的是()。A、<>b+cB、c=getchar()C、a==b+cD、a++答案:A解析:在C語言中,表示不等于不能用“<>”,而只能使用“!=”。答案選擇A選項。26.關(guān)于C語言的變量名,以下敘述正確的是()。A、變量名不可以與關(guān)鍵字同名B、變量名不可以與預(yù)定義標識符同名C、變量名必須以字母開頭D、變量名是沒有長度限制的答案:A解析:合法的標識符由字母(大、小寫均可)、數(shù)字和下劃線組成,并且必須以字母或下劃線開頭。關(guān)鍵字是指被C語言保留的,不能用作其他用途的標識符,它們在程序中都代表著固定的含義,用戶不可重新定義,A項正確、BC兩項錯誤。變量名沒有長度限制,但不可超過編譯器可以辨識的范圍,D項錯誤。答案選擇A選項。27.有以下程序#includemain(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運行后的輸出結(jié)果是()。A、2,3,1B、2,3,2C、2,3,3D、2,2,1答案:A解析:考查逗號表達式。注意區(qū)分,z=x++是先將x的值賦給z,在令x自增;z=++x是先將x自增,再將自增后的值賦給z;而無論是++x還是x++,都會完成x自增的運算。對于表達式“z=x++,y++,++y;”,因為賦值運算符的優(yōu)先級高于逗號運算符的優(yōu)先級,所以可以將上式改成“(z=x++),(y++),(++y);”。然后從左向右先計算表達式z=x++,后綴自增運算先進行其他運算,再執(zhí)行自增運算,所以z的值為1,x的值為2,再計算逗號表達式第二個表達式y(tǒng)++,此時y的值為1,y++的值為2,最后計算第三個表達式++y,y的值為3。答案選擇A選項。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)軟件,負責數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)組操縱、數(shù)據(jù)維護、控制和保護以及數(shù)據(jù)服務(wù)等。答案選擇B選項。29.以下選項中,不能對主函數(shù)中變量i和j的值進行交換的程序是()。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項,定義了一個臨時指針t,實現(xiàn)兩個指針地址的交換,而傳入的參數(shù)是兩個變量i和j的地址,但是函數(shù)內(nèi)部交換的是地址值,并沒有交換主函數(shù)中變量i與j的值;B項,調(diào)用函數(shù)傳入的是i與j地址,函數(shù)體內(nèi)交換的是地址內(nèi)元素,臨時變量t為整型變量,能實現(xiàn)i與j值交換;C項,調(diào)用函數(shù)傳入的是i與j地址,函數(shù)體內(nèi)交換的是地址內(nèi)元素,臨時變量t為整型指針,且已正確開辟內(nèi)存,能實現(xiàn)i與j值交換;D項與B項相同,能實現(xiàn)i與j值交換。答案選擇A選項。30.下列敘述中正確的是()。A、棧是“先進先出”的線性表B、隊列是“先進后出”的線性表C、循環(huán)隊列是非線性結(jié)構(gòu)D、有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈式存儲結(jié)構(gòu)答案:D解析:有序的線性表既可采用順序存儲結(jié)構(gòu),也可以采用鏈式存儲結(jié)構(gòu)。A項錯誤,棧是“先進后出”的線性表;B項錯誤,隊列是“先進先出”的線性表;C項錯誤,循環(huán)隊列是線性結(jié)構(gòu)的,有序的線性表既可采用順序存儲結(jié)構(gòu),也可采用鏈式存儲結(jié)構(gòu)。答案選擇D選項。31.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述是()。A、外模式B、邏輯模式C、概念模式D、物理模式答案:A解析:數(shù)據(jù)庫的標準結(jié)構(gòu)為三級模式結(jié)構(gòu),包括:①外模式;②模式;③內(nèi)模式。其中,外模式也稱用戶模式,它是數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。答案選擇A選項。32.若函數(shù)中有定義語句:intk;則()。A、系統(tǒng)將自動給k賦初值0B、這時k中的值無定義C、系統(tǒng)將自動給k賦初值-1D、這時k中無任何值答案:B解析:intk;這條語句是定義一個整型變量k,這是動態(tài)定義,編譯程序僅為k開辟存儲單元,而沒有在存儲單元中存放任何初值,此時變量中的值時無意義的。若是靜態(tài)定義,則會自動初始化,其默認值為0。答案選擇B選項。33.以下敘述正確的是()。A、C語言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))B、C語言程序是由過程和函數(shù)組成的C、語言函數(shù)不可以單獨編譯D、C語言中除了main函數(shù),其他函數(shù)不可作為單獨文件形式存在答案:A解析:一個函數(shù)的返回值可以作為參數(shù)然后傳給另一個函數(shù),因此函數(shù)是可以嵌套調(diào)用的。B項錯誤,C語言程序只有函數(shù)構(gòu)成,沒有過程;C項錯誤,編譯系統(tǒng)的任務(wù)在于檢查語法錯誤,只要符合語法規(guī)則的C程序都可以通過編譯,就算是單獨的函數(shù)也可以;D項錯誤,在C語言中除main()函數(shù)以外的其他函數(shù)可以和main()函數(shù)在同一個C文件中,也可以單獨處于其他的C文件,只要在使用到這些函數(shù)的main()函數(shù)的C文件中用預(yù)編譯指令“#include”包含進來即可。答案選擇A選項。34.以下描述中,不是線性表順序存儲結(jié)構(gòu)特征的是()。A、可隨機訪問B、需要連續(xù)的存儲空間C、不便于插入和刪除D、邏輯相鄰的數(shù)據(jù)物理位置上不相鄰答案:D解析:在計算機中用一組地址連續(xù)的存儲單元依次存儲線性表的各個數(shù)據(jù)元素稱為順序存儲,其中邏輯上相鄰的元素在物理位置上也相鄰。順序存儲結(jié)構(gòu)中可以隨機訪問元素,但插入和刪除需要移動大量數(shù)據(jù),耗費資源。答案選擇D選項。35.設(shè)有表示學生選課的三張表,學生S(學號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為()。A、課號,成績B、學號,成績C、學號,課號D、學號,姓名,成績答案:C解析:學號是學生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關(guān)鍵字應(yīng)該是與前兩個表能夠直接聯(lián)系且能唯一定義的學號和課號。答案選擇C選項。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)先級低于“<”、“>”。“&&”邏輯與表達式。exp1&&exp2,規(guī)則為:對exp1求值,若為0,則表達式為0,則不計算exp2;若exp1非0,則求exp2值,作為表達式值。本題計算過程為:先判斷a>b為假,m=0,整個邏輯表達式為假,不計算右表達式,n=2。答案選擇C選項。37.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖牵ǎ?。A、多態(tài)性B、標識唯一性C、封裝性D、耦合性答案:D解析:面向?qū)ο笤O(shè)計是建立在“對象”概念上的方法學,對象是面向?qū)ο笳Z言中類的實體,其特點包括:①標識唯一性,對象可區(qū)分;②分類性,可以將具有相同屬性和操作的對象抽象成類;③多態(tài)性,同一個操作對于不同對象表現(xiàn)不同的行為;④封裝性,屏蔽數(shù)據(jù)的具體結(jié)構(gòu)以及操作的算法;⑤模塊獨立性好,對象內(nèi)部各種元素結(jié)合緊密,內(nèi)聚性強。答案選擇D選項。38.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進行查找的是()。A、順序存儲的有序線性表B、線性鏈表C、二叉鏈表D、有序線性鏈表答案:A解析:二分查找只適用于順序存儲的有序表。此處所說的有序表是指線性表中的元素按值非遞減排列或非遞增排列。答案選擇A選項。39.線性表常采用的兩種存儲結(jié)構(gòu)是()。A、散列方法和索引方式B、鏈表存儲結(jié)構(gòu)和數(shù)組C、順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)D、線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)答案:C解析:線性表常用的存儲結(jié)構(gòu)為:①順序存儲結(jié)構(gòu),物理上連續(xù)存儲,空間位置隱含邏輯位置;②鏈式存儲結(jié)構(gòu),各元素物理存儲上不連續(xù),通過指針相連。答案選擇C選項。40.以下敘述中錯誤的是()。A、基類型不同的指針可以直接相互賦值B、函數(shù)可以通過指針形參向所指單元傳回數(shù)據(jù)C、字符型指針可以指向一個字符串D、一般情況下,指針的運用可使程序代碼效率更高答案:A解析:把一個指針變量的值賦給另一個指針變量,但一定要確保這兩個指針變量的基類型是相同的。答案選擇A選項。41.有以下程序#includeintk=5;voidf(int*s){s=&k;*s=7;}main(){intm=3;f(&m);printf("%d,%d\n",m,k);}程序運行后的輸出結(jié)果是()。A、3,5B、7,7C、5,7D、3,7答案:D解析:函數(shù)f的功能是定義一個整型的指針變量s,指向全局變量k,然后修改s指向地址中的值為7,因此f函數(shù)只是修改全局變量k的值為7,與main函數(shù)中臨時變量m無關(guān),因此最后輸出為3,7。答案選擇D選項。42.在E-R圖中,用來表示實體聯(lián)系的圖形是()。A、橢圓形B、矩形C、菱形D、三角形答案:C解析:在E-R圖中,菱形表示聯(lián)系,矩形表示實體,橢圓形表示屬性。答案選擇C選項。43.設(shè)棧的順序存儲空間為S(0:49),棧底指針bottom=49,棧頂指針top=30(指向棧頂元素)。則棧中的元素個數(shù)為()。A、30B、29C、20D、19答案:C解析:棧是一種特殊的線性表,它所有的插入與刪除操作都限定在表的同一端進行。入棧運算即在棧頂位置插入一個新元素,退棧運算即取出棧頂元素賦予指定變量。在內(nèi)存中,棧的增大方向是地址遞減,元素依次存儲在單元30:49中,個數(shù)為:49-30+1=20個。答案選擇C選項。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]);}程序運行后的輸出結(jié)果是()。A、246810B、13579C、12345D、678910答案:D解析:函數(shù)exch的作用就是把數(shù)組某個元素的值變?yōu)檫@個元素位置加5后對應(yīng)的元素值,所以執(zhí)行完之后輸出數(shù)組x的前五個元素的值,其實就是數(shù)組x的后五個元素的值,答案選擇D選項。45.下面不屬于軟件設(shè)計階段任務(wù)的是()。A、軟件的功能確定B、軟件的總體結(jié)構(gòu)設(shè)計C、軟件的數(shù)據(jù)設(shè)計D、軟件的過程設(shè)計答案:A解析:軟件設(shè)計階段的任務(wù)包括:①結(jié)構(gòu)設(shè)計;②數(shù)據(jù)設(shè)計;③接口設(shè)計;④過程設(shè)計。軟件的功能確定是在需求分析階段完成的。答案選擇A選項。46.下列選項中屬于面向?qū)ο笤O(shè)計方法主要特征的是()。A、繼承B、自頂向下C、模塊化D、逐步求精答案:A解析:面向?qū)ο笤O(shè)計方法的主要特征有封裝性、繼承性和多態(tài)性。而結(jié)構(gòu)化程序設(shè)計方法的主要原則有自頂向下、逐步求精、模塊化、限制使用goto語句。BCD三項是結(jié)構(gòu)化程序的主要特征。答案選擇A選項。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位。當數(shù)據(jù)的小數(shù)位多于指定寬度n時,截去右邊多余的小數(shù),并對截去的第一位小數(shù)做四舍五入處理;而當數(shù)據(jù)的小數(shù)位少于指定寬度n時,在小數(shù)的右邊補零;當m小于有效位數(shù)時,整數(shù)部分輸出所有有效數(shù)字并且自動對齊,小數(shù)部分按照n指定位數(shù)輸出。A項按照float格式輸出數(shù)據(jù),寬度為5位,保留小數(shù)0位,輸出為2,不能完整輸出x。B項按照float格式輸出數(shù)據(jù),輸出為2.120000。C項按照double格式輸出數(shù)據(jù),輸出為2.120000。D項按照float格式輸出數(shù)據(jù),保留小數(shù)位數(shù)為5,輸出為2.12000。答案選擇A選項。48.以下選項中,當x為大于1的奇數(shù)時,值為0的表達式是()。A、x%2==1B、x/2C、x%2!=0D、x%2==0答案:D解析:當x為大于1的奇數(shù),x%2==1,則表達式x%2==0為假(即值為0),答案選擇D選項。49.軟件生命周期可分為定義階段、開發(fā)階段和維護階段。詳細設(shè)計屬于()。A、定義階段B、開發(fā)階段C、維護階段D、上述三個階段答案:B解析:軟件生命周期可分為:①定義階段,包括可行性研究、需求分析;②開發(fā)階段,包括概要設(shè)計、詳細設(shè)計、實現(xiàn)、測試;③維護階段,包括使用、維護、退役。答案選擇B選項。50.數(shù)據(jù)庫系統(tǒng)在其內(nèi)部具有3級模式,用來描述數(shù)據(jù)庫中全體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和特性的是()。A、外模式B、概念模式C、內(nèi)模式D、存儲模式答案:B解析:概念模式,也稱邏輯模式,是對數(shù)據(jù)庫系統(tǒng)中全局數(shù)據(jù)邏輯結(jié)構(gòu)的描述,由若干個概念記錄類型組成,還包含記錄間聯(lián)系、數(shù)據(jù)的完整性、安全性等要求。它不涉及具體的硬件環(huán)境與平臺,與具體的軟件環(huán)境也無關(guān)。答案選擇B選項。51.有以下函數(shù):#includevoidfunc(intn){inti;for(i=0;i<=n;i++)printf("*");printf("#");}main(){func(3);printf("????");func(4);printf("\n");}程序運行后的輸出結(jié)果是()。A、****#????***#B、***#????*****#C、**#????*****#D、****#????*****#答案:D解析:從main函數(shù)開始,執(zhí)行func()函數(shù),for循環(huán)執(zhí)行4次,連續(xù)輸出四個“*”,然后輸出一個“#”;輸出“????”;再次調(diào)用func(),for循環(huán)執(zhí)行5次,連續(xù)輸出五個“*”,然后輸出一個“#”;最后輸出換行符。答案選擇D選項。52.對有序線性表(23,29,34,55,60,70,78)用二分法查找值為60的元素時,需要比較次數(shù)為()。A、1B、2C、3D、4答案:C解析:二分法查找法不斷的將序列分為可能包含和必然不包含的兩部分,本題流程為:①將60與中間的元素55進行比較,60>55,所以60不可能在前4個元素中;②第二次將60與中間的元素70進行比較,60<70,所以60不可能在后2個元素中;③第三次將60與中間元素60比較,這時查找成功。答案選擇C選項。53.有以下程序:#includemain(){inta=1,b=2;for(;a<8;a++){b+=a;a+=2;}printf("%d,%d\n",a,b);}程序運行后的輸出結(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選項。54.以下關(guān)于C語言的敘述中正確的是()。A、C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間B、C語言中的變量可以在使用之前的任何位置進行定義C、在C語言算術(shù)表達式的書寫中,運算符兩側(cè)的運算數(shù)類型必須一致D、C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示答案:A解析:A項正確,C語言中,程序中的注釋可以出現(xiàn)在程序中任何合適的地方,但是,不能寫在變量名或關(guān)鍵字的中間,一旦寫在其中間,將會失去變量名或關(guān)鍵字的意義,導(dǎo)致報錯;B項錯誤,條件沒有說全,應(yīng)該是在有效的范圍內(nèi),變量可以在任何位置定義,例如注釋中定義無效。C項錯誤,在C語言的算術(shù)運算符中,取余運算符“%”的兩個運算分量必須是整數(shù),但對于其他運算符,如“+”,“-”來說,兩側(cè)的運算符類型也可以不一樣,例如左側(cè)為一個字符類型,右側(cè)為一個整數(shù)類型,系統(tǒng)在執(zhí)行程序時會自動將字符類型轉(zhuǎn)換為ASCII值進行運算;D項錯誤,C語言的數(shù)值表示時各個數(shù)位必須緊靠在一起,否則編譯系統(tǒng)只會識別緊靠運算符的一部分數(shù)值,另一部分數(shù)值會發(fā)生語法錯誤。答案選擇A選項。55.以下選項中可用作C程序合法實數(shù)的是()。A、1e0B、3.0e0.2C、E9D、9.12E答案:A解析:C程序的合法實數(shù)有小數(shù)和指數(shù)兩種表示形式。其中,對于用指數(shù)形式表示的實數(shù)來說,字母e或E之前必須要有數(shù)字,且字母e或E后面的指數(shù)必須為整數(shù)。B項,e后的指數(shù)不能為小數(shù)形式;C項,E前必須要有數(shù)字;D項,E后缺少整數(shù)形式的指數(shù)。答案選擇A選項。56.在黑盒測試方式中,設(shè)計測試用例的主要根據(jù)是()。A、程序外部功能B、程序內(nèi)部邏輯C、程序數(shù)據(jù)結(jié)構(gòu)D、程序流程圖答案:A解析:黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試,完全不考慮程序內(nèi)部邏輯結(jié)構(gòu)和具體代碼,把程序看作是一個不能打開的黑盒子,依據(jù)軟件需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明,主要針對軟件界面和軟件功能進行測試。答案選擇A選項。57.若有定義語句inta,b;doublex;則下列選項中沒有錯誤的是()。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īng)與case語句后的常量類型保持一致,并且switch的判斷條件只能為整型或字符型,case后面為常量表達式。A項,x%2得到的是浮點型數(shù)據(jù),而case語句后的常量是整型數(shù)據(jù),類型不一致;B項,(int)x/2.0得到的也是浮點型數(shù)據(jù),類型不一致;D項,(int)x%2.0得到的是整型數(shù)據(jù),而case語句后的常量是浮點型數(shù)據(jù),類型也不一致。答案選擇C選項。58.有以下程序:#includemain(){intA=0,B=0,C=0;C=(A-=A-5);(A=B,B+=4);printf("%d,%d,%d\n",A,B,C);}程序運行后輸出的結(jié)果是()。A、0,4,5B、4,4,5C、4,4,4D、0,0,0答案:A解析:C語言中可以將多條語句放在同一行,用“;”隔開。賦值運算和逗號運算都是從左到右結(jié)合。首先執(zhí)行A-=A-5,即A=A-(A-5),得A的值為5,然后執(zhí)行C=(A-=A-5),即將A的值5賦給變量C,使得C的值也為5。然后執(zhí)行下句逗號表達式中的A=B,把B的值0賦給A,此時A的值為0,然后執(zhí)行B=B+4,使得B的值為4,最后打印輸出。答案選擇A選項。59.下列敘述中,不符合良好程序設(shè)計風格要求的是()。A、程序的效率第一,清晰第二B、程序的可讀性好C、程序中要有必要的注釋D、輸入數(shù)據(jù)前要有提示信息答案:A解析:“清晰第一,效率第二”是當今主導(dǎo)的程序設(shè)計風格。對程序的要求不僅是能夠運行正常,還要便于調(diào)試和維護,所以程序要具有良好的可讀性,語句結(jié)構(gòu)應(yīng)該簡單直接,這有利于程序的開發(fā)與維護。答案選擇A選項。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++。當a++的值為0時,a的值為1,即a增加了3,因此,b也增加3。答案選擇D選項。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所指存儲空間的值改為3,即c改為3。答案選擇D選項。62.下列敘述中正確的是()。A、所謂有序表是指在順序存儲空間內(nèi)連續(xù)存放的元素序列B、有序表只能順序存儲在連續(xù)的存儲空間內(nèi)C、有序表可以用鏈接存儲方式存儲在不連續(xù)的存儲空間內(nèi)D、任何存儲方式的有序表均能采用二分法進行查找答案:C解析:“有序”是指線性表中的元素按照升序或降序(允許相鄰元素相同)的方式排列。有序是一個邏輯概念,與物理存儲無關(guān)。二分法查找時涉及下標運算,要求有序表必須順序存儲。答案選擇C選項。63.有如下程序:#includemain(){inta=0,b=1;if(++a==b++)printf("T");elseprintf("F");printf("a=%d,b=%d\n",a,b);printf("\n");}程序運行后的輸出結(jié)果是()。A、Ta=0,b=1B、Fa=1,b=2C、Ta=1,b=2D、Fa=0,b=2答案:C解析:程序執(zhí)行過程為:判斷++a==b++是否成立,++a前置運算先加1,則運算符==左邊表達式值為1,a=1,b++后置運算先取值,則==右邊表達式值我1,b=2,即是判斷1==1,成立,輸出T,輸出a=1,b=2。答案選擇C選項。64.在E-R圖中,用()來表示實體之間聯(lián)系。A、矩形B、菱形C、橢圓形D、正方形答案:B解析:E-R圖是實體聯(lián)系模式圖,其中用矩形表示實體集;用橢圓形表示屬性;用菱形表示聯(lián)系。答案選擇B選項。65.以下程序段中,不能實現(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項:條件運算符?運算過程為:如果a>=b,x=-10,否則x=10,能實現(xiàn)題目中功能。B項:如果a<b,則x=10,否則x=-10,能實現(xiàn)題目中功能。c項:首先賦值x=-10,如果a<b,則x=10,即在a>=b情況下有x=-10,能實現(xiàn)題目中功能。D項:如果a<
B,則x=10,如果b<a,則x=-10,其中沒有對a=b進行判斷,不能實現(xiàn)題目中功能,答案選擇D選項。66.結(jié)構(gòu)化程序設(shè)計的基本原則不包括()。A、多態(tài)性B、自頂向下C、模塊化D、逐步求精答案:A解析:結(jié)構(gòu)化程序設(shè)計的基本原則包括:①模塊化;②自頂向下;③逐步求精;④限制使用goto語句。多態(tài)性是面向?qū)ο蟮脑O(shè)計思想。答案選擇A選項。67.某二叉樹共有7個結(jié)點,其中葉子結(jié)點只有1個,則該二叉樹的深度為()。(假設(shè)根結(jié)點在第1層)A、3B、4C、6D、7答案:D解析:在任意一個二叉樹中,度為0的葉子結(jié)點總比度為2的結(jié)點多一個,所以本題中度為2的結(jié)點為1-1=0個,即二叉樹的每一個結(jié)點都只有一個孩子,7個結(jié)點共7層。答案選擇D選項。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);}程序的運行結(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選項。69.若實體A和B是一對一的聯(lián)系,實體B和C是多對一的聯(lián)系,則實體A和C的聯(lián)系是()。A、多對一B、一對多C、一對一D、多對多答案:A解析:實體集之間必須通過聯(lián)系來建立聯(lián)接關(guān)系,分為:①一對一聯(lián)系,即1:1;②一對多聯(lián)系,即1:m;③多對多聯(lián)系,即m:n。本題中,A與B是1:1聯(lián)系,B與C是m:1聯(lián)系,所以A與C是m:1聯(lián)系,即多對一。答案選擇A選項。70.當數(shù)據(jù)庫中數(shù)據(jù)總體邏輯結(jié)構(gòu)發(fā)生變化,而應(yīng)用程序不受影響,稱為數(shù)據(jù)的()。A、邏輯獨立性B、物理獨立性C、應(yīng)用獨立性D、空間獨立性答案:A解析:數(shù)據(jù)獨立性是指數(shù)據(jù)獨立于程序,包括:①物理獨立性,指數(shù)據(jù)的物理結(jié)構(gòu)改變,應(yīng)用程序不用改變;②邏輯獨立性,指數(shù)據(jù)的邏輯結(jié)構(gòu)改變,應(yīng)用程序不用改變。答案選擇A選項。71.設(shè)變量已正確定義并賦值,以下正確的表達式是()。A、x=y*5=x+zB、int(15.8%5)C、x=y+z+5,++yD、x=25%5.0答案:C解析:賦值運算左邊必須是單一變量名。A項錯誤,“y*5=x+z”部分是非法賦值。BD兩項錯誤,求余運算中的操作對象只能是整型。C項,為逗號表達式。答案選擇C選項。72.有如下程序:#includeintsub(doublea,doubleb){return(int)(a-b);}main(){printf("%d\n",sub(3.8,2.1));}程序運行后的輸出結(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)強制轉(zhuǎn)換將1.7轉(zhuǎn)換成int類型1,然后返回1并輸出。答案選擇D選項。73.下列敘述中正確的是()。A、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)必定是一一對應(yīng)的B、由于計算機存儲空間是向量式的存儲結(jié)構(gòu),因此,數(shù)據(jù)的存儲結(jié)構(gòu)一定是線性結(jié)構(gòu)C、程序設(shè)計語言中的數(shù)據(jù)一般是順序存儲結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)D、以上三種說法都不對答案:D解析:A項錯誤,數(shù)據(jù)的邏輯結(jié)構(gòu)反映數(shù)據(jù)元素之間邏輯關(guān)系,與存儲的物理結(jié)構(gòu)并沒有一一對應(yīng)關(guān)系;B項錯誤,線性結(jié)構(gòu)和非線性結(jié)構(gòu)是關(guān)于邏輯結(jié)構(gòu)的兩種不同分類,存儲結(jié)構(gòu)上沒有線性和非線性之分;C項,利用數(shù)組也能處理非線性結(jié)構(gòu),比如用數(shù)組存儲二叉樹。答案選擇D選項。74.在醫(yī)院,每個醫(yī)生只屬于某一個診療科,醫(yī)生同一天可為多位患者看病,而一名患者可在多個科室治療,則實醫(yī)生和患者之間的聯(lián)系是()。A、多對多B、多對一C、一對多D、一對一答案:A解析:一般來說,實體集之間必須通過聯(lián)系來建立連接關(guān)系,分為三類:①一對一聯(lián)系(1:1);②一對多聯(lián)系(1:m);③多對多聯(lián)系(m:n)。醫(yī)生可為多位患者看病,患者也可以找多位醫(yī)生看病,實體醫(yī)生與患者聯(lián)系是多對多,答案選擇A選項。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解析:因為a=10,b=50,所以a<b,if語句判斷條件不成立,于是執(zhí)行c=a,得到c=10,a和b的值不變。答案選擇A選項。76.結(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),當執(zhí)行由這些語句構(gòu)成的程序時,將按這些語句在程序中的先后順序逐條執(zhí)行,沒有分支,沒有轉(zhuǎn)移,沒有步驟之間的相互約束,沒有對某一步驟的多次使用,完全按照步驟的原有次序依次執(zhí)行,B選項敘述正確。選擇結(jié)構(gòu)根據(jù)不同的條件去執(zhí)行不同分支中的語句,C選項敘述正確。循環(huán)結(jié)構(gòu)就是根據(jù)各自的條件,使同一組語句重復(fù)執(zhí)行多次,D選項敘述正確。三種結(jié)構(gòu)可以嵌套使用,A選項敘述錯誤,答案選擇A選項。77.數(shù)據(jù)流程圖(DFD圖)是()。A、軟件概要設(shè)計的工具B、軟件詳細設(shè)計的工具C、結(jié)構(gòu)化方法的需求分析工具D、面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ叽鸢福篊解析:數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)的功能建模,是結(jié)構(gòu)化方法的需求分析工具。答案選擇C選項。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);}當執(zhí)行程序時,按下列方式輸入數(shù)據(jù)(從第一列開始,代表回車,注意:回車是一個字符)1234則輸出結(jié)果是()。A、123B、12C、1234D、1234答案:A解析:scanf()函數(shù)的一般調(diào)用形式為:scanf(格式控制,輸入地址列表)。其中,格式控制是用雙引號括起來的字符串,包括格式字符和普通字符,格式是由“%”和格式字符組成。getchar()函數(shù)的功能是從標準輸入設(shè)備上讀入一個字符。根據(jù)程序中的格式控制可知,接收輸入時分別把1賦給了a,2賦給了b,然后getchar()函數(shù)提取一個換行符賦給c,再提取一個字符3賦給了d。所以程序的輸出結(jié)果為:123。答案選擇C選項。79.在教師表中,如果要找出職稱為“教授”的教師,所采用的關(guān)系運算是()。A、投影B、選擇C、聯(lián)接D、自然選擇答案:B解析:投影表示從關(guān)系模式中指定若干屬性組成新的關(guān)系。選擇表示從關(guān)系中找出滿足給定條件的元組的操作。聯(lián)接是關(guān)系的橫向結(jié)合,聯(lián)接運算將兩個關(guān)系模式拼接成一個更寬的關(guān)系模式,生成新的關(guān)系中包含滿足聯(lián)接條件的元組。屬性同為“教授”的教師組成新的關(guān)系。答案選擇B選項。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");}程序運行的結(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ù)傳遞的作用是“傳值”,形參和實參是兩個沒有關(guān)系的變量。函數(shù)fun交換了參數(shù)值,但只是交換了形參的值,結(jié)果并不會傳遞給實參。所以數(shù)組c沒有發(fā)生變化,原順序輸出。答案選擇A選項。81.下列關(guān)于線性鏈表的描述中,正確的是()。Ⅰ.只含有一個指針域來存放下一個元素地址Ⅱ.指針域中的指針用于指向該結(jié)點的前一個或后一個結(jié)點(即前件或后件)Ⅲ.結(jié)點由兩部分組成:數(shù)據(jù)域和指針域。A、僅Ⅰ、ⅡB、僅Ⅰ、ⅢC、僅Ⅱ、ⅢD、全部答案:C解析:在鏈式存儲方式中,雙向鏈表有兩個指針域,故Ⅰ錯誤。每個結(jié)點包含存放數(shù)據(jù)的數(shù)據(jù)域和存放指針的指針域,故Ⅲ正確。指針用于表示線性邏輯關(guān)系,指向該結(jié)點的前驅(qū)、后繼或者兩者都有,故Ⅱ正確。答案選擇C選項。82.對于長度為n的線性表,在最壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是()。A、冒泡排序為n(n-1)/2B、簡單插入排序為nC、希爾排序為nD、快速排序為n/2答案:A解析:在最壞情況下,冒泡排序、直接插入排序與簡單選擇排序法均需要比較n(n-1)/2次。希爾排序需要比較n1.5次,堆排序需要比較的次數(shù)最少,為nlog2n。答案選擇A選項。83.設(shè)有如下關(guān)系表,由關(guān)系R和S通過運算得到關(guān)系T,則所使用的運算為()。A、T=R∩SB、T=R∪SC、T=R×SD、T=R/S答案:B解析:交運算和并運算用于屬性相同的兩個關(guān)系間,其中交運算的結(jié)果是既屬于關(guān)系R也屬于關(guān)系S的集合,并運算將結(jié)構(gòu)相同的兩個關(guān)系合并,合并后的關(guān)系包含兩個關(guān)系中的所有元組。答案選擇B選項。84.函數(shù)調(diào)用語句:fun((exp1,exp2),(exp1,exp2,exp3));含有的實參個數(shù)是()。A、1B、4C、5D、2答案:D解析:函數(shù)fun參數(shù)列表中有兩個參數(shù),多個參數(shù)之間用逗號分隔,分別是逗號表達式“(exp1,exp2)”的值與“(exp1,exp2,exp3)”的值。答案選擇D選項。85.線性表的鏈式存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)相比,鏈式存儲結(jié)構(gòu)的優(yōu)點有()。A、節(jié)省存儲空間B、插入與刪除運算效率高C、便于查找D、排序時減少元素的比較次數(shù)答案:B解析:順序表可以隨機存取,元素間關(guān)系隱藏于存儲關(guān)系中,但插入與刪除操作需要移動大量元素,降低了效率;鏈表查找時需要沿鏈依次比較,效率低,為了表示元素間關(guān)系需要額外的指針域,但插入與刪除操作僅需改變指針,比順序表快。答案選擇B選項。86.有以下定義inta;longb;doublex,y;則以下選項中正確的表達式是()。A、(a*y)%bB、a==x<>yC、a%(int)(x-y)D、y=x+y=x答案:C解析:%運算是取兩整數(shù)相除后余數(shù)的運算符,它只適用于整數(shù)的運算。A項錯誤,(a*y)%b中的(a*y)為double型;B項錯誤,C語言中沒有<>運算符;C項正確,x-y結(jié)果為double型,但是通過強制類型轉(zhuǎn)換將其轉(zhuǎn)換為int型;D項錯誤,x+y不能作為左值。答案選擇C選項。87.有以下程序#includemain(){inta=7;while(a--);printf("%d\n",a);}程序運行后的輸出結(jié)果是()。A、-1B、0C、1D、7答案:A解析:“++”和“—”運算,當以前綴形式出現(xiàn)時,則先進行加一或減一操作,再取值,當以后綴形式出現(xiàn)時,則先取值,再進行加一或減一操作。程序中執(zhí)行a--,直到while判斷為0時才跳出循環(huán),執(zhí)行下條語句,即a為0時再執(zhí)行a--,此時跳出while循環(huán),最終輸出的結(jié)果為-1。答案選擇A選項。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項錯誤,b是指針變量,*c=&b表示將一個二級指針賦值給一個一級指針,應(yīng)該為*c=b或者**c=&b;B項錯誤,變量定義的時候不能用連續(xù)用等號,等號在定義是初始化的一種;D項錯誤,變量前為分號“;”表示前面的語句定義完畢,變量b的定義沒有指明變量類型。答案選擇C選項。89.若變量x、y已正確定義并賦值,以下符合C語言語法的表達式是()。A、x+1=yB、++x,y=x--C、x=x+10=x+yD、ouble(x)/10答案:B解析:B項正確,++x是前綴表達式,y=x--是復(fù)合語句,先進行x--,然后把自減后的值賦給y。A項錯誤,x+1是右值,不能被賦值;C項錯誤,x+10是右值,不能被賦值;D項錯誤,應(yīng)改成(double)x/10,double(x)/10是表示聲明了一個double變量,它名字是(x)/10,顯然不符合C語言語法。答案選擇B選項。90.若已有定義語句:inta,b,c;且變量已正確賦初值,則以下選項中正確的賦值表達式是()。A、=(b=c)+8;B、(a=b)=c=9;C、a=(b==c)='A';D、a+b=c+1;答案:A解析:A項正確,將c賦值給b后又加上8,然后再賦值給a;B、D項錯誤,賦值運算符左邊必須是一個變量;C項錯誤,(b==c)是個表達式,語法錯誤。答案選擇A選項。91.設(shè)有定義:intx=7,y=12;,則以下表達式值為3的是()。A、(y%=x)-(x%=5)B、y%=(x%=5)C、y%=x-x%5D、y%=(x-x%5)答案:A解析:A項正確,a%=b表示a=a%(b),A項可改寫成y=y%x,x=x%5,再計算y-x計算的結(jié)果為3,滿足題意;B項為0,C項為2,D項等同于C項。答案選擇A選項。92.下列不屬于軟件設(shè)計階段任務(wù)的是()。A、軟件總體設(shè)計B、算法設(shè)計C、制定軟件確定測試計劃D、數(shù)據(jù)庫設(shè)計答案:C解析:軟件概要設(shè)計階段的任務(wù)有:①軟件體系結(jié)構(gòu)設(shè)計;②軟件數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計;③編寫概要設(shè)計文檔;④概要設(shè)計文檔評審。軟件確認測試計劃是在需求分析階段制定的,依據(jù)需求規(guī)格說明書來驗證軟件的功能和性能。答案選擇C選項。93.若變量均已正確定義并賦值,以下合法的C語言賦值語句是()。A、x=y==5;B、x=n%2.5;C、x+n=i;D、x=5=4+1;答案:A解析:A項正確,y==5返回0或者1,然后賦值給x。B項錯誤,浮點數(shù)不能參與模運算;C項錯誤,賦值運算符左邊只能是單一變量,x+n是右值,不能給它賦值;D項錯誤,5是常量,不能被賦值。答案選擇A選項。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、編譯有錯C、1,1,2,0D、0,1,2,0答案:B解析:如果if的執(zhí)行語句含有多個語句(兩個以上),則必須使用復(fù)合語句,即用花括號把一組語句括起來;否則,緊跟if的下一條語句是它的執(zhí)行語句,因此c=2不是if執(zhí)行語句,它是在if和else之間的語句。在程序中else必須與if配對,共同組成一條if-else語句,中間不能出現(xiàn)其他語句,因此該程序編譯錯誤。答案選擇B選項。95.若變量已正確定義為int型,要通過語句scanf("%d,%d,%d",&a,&b,&c);給a賦值1、給b賦值2、給c賦值3,以下輸入形式中錯誤的是(u代表一個空格)()。A、1u2u3<回車>B、uuu1,2,3<回車>C、1,uuu2,uuu3D、1,2,3答案:A解析:在輸入整數(shù)或?qū)崝?shù)這類數(shù)值型數(shù)據(jù)時,輸入的數(shù)據(jù)之間必須用空格、回車符、制表符(Tab鍵)等間隔符隔開,間隔符個數(shù)不限。在題目中,scanf函數(shù)使用通配符逗號,則在輸入數(shù)據(jù)時也要使用通配符逗號,且逗號要緊跟著數(shù)據(jù)后面。B項,沒有輸入非格式符“,”。答案選擇A選項。96.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是()。A、循環(huán)隊列B、帶鏈隊列C、二叉樹D、帶鏈棧答案:C解析:線性結(jié)構(gòu)要滿足兩個條件:①有且僅有一個根結(jié)點;②每個結(jié)點最多有一個前驅(qū),也最多有一個后繼。棧和隊列均滿足這兩個條件,屬于線性結(jié)構(gòu);循環(huán)隊列是一個頭結(jié)點和尾結(jié)點互為前驅(qū)結(jié)點和后繼結(jié)點的特殊的隊列,屬于線性結(jié)構(gòu);帶鏈隊列、帶鏈棧都是用鏈表形式來實現(xiàn)的,分別滿足隊列和棧的條件,只是存儲結(jié)構(gòu)不連續(xù),屬于線性結(jié)構(gòu)。二叉樹除了葉子結(jié)點外,每個結(jié)點都可以有兩個后繼結(jié)點,屬于非線性結(jié)構(gòu)。答案選擇C選項。97.C語言中的標識符分為關(guān)鍵字、預(yù)定義標識符和用戶標識符,以下敘述中正確的是()。A、預(yù)定義標識符(如庫函數(shù)中的函數(shù)名)可用作用戶標識符,但失去原有含義B、用戶標識符可以由字母和數(shù)字任意順序組成C、在標識符中大寫字母和小寫字母被認為是相同的字符D、關(guān)鍵字可用作用戶標識符,但失去原有含義答案:A解析:C語言允許把預(yù)定義標識符重新定義另作他用,但這將失去預(yù)先定義的原意。B項,標識符的第一個字符必須為字母或下劃線;C項,標識符區(qū)分大小寫;D項,關(guān)鍵字是指被C語言保留的,不能用作其他用途的標識符。答案選擇A選項。98.深度為5的完全二叉樹的結(jié)點數(shù)不可能是()。A、15B、16C、17D、18答案:A解析:深度為n的完全二叉樹的結(jié)點數(shù)范圍為:2n-1-1+1~2n-1,本題中的范圍即為24-1+1~25-1,即為16~31之間。所以節(jié)點數(shù)不可能是15,選A。99.以下敘述中錯誤的是()。A、算法正確的程序最終一定會結(jié)束B、算法正確的程序可以有零個輸出C、算法正確的程序可以有零個輸入D、算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果答案:B解析:算法的5個特性:①有窮性;②確定性;③可行性;④有零個或多個輸入;⑤有一個或多個輸出。答案選擇B選項。100.以下敘述中正確的是()。A、C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面B、C程序書寫格式嚴格,要求一行內(nèi)只能寫一個語句C、程序書寫格式自由,一個語句可以寫在多行上D、用C語言編寫的程序只能放在一個程序文件中答案:C解析:C程序的注釋可以出現(xiàn)在C程序的任何位置,注釋符號:“//”或“/*…*/”,選項A錯誤。C程序中,一行內(nèi)可寫多個語句,每條語句用分號“;”結(jié)束,選項B錯誤,選項C正確。用C語言編寫的程序可以放在多個程序文件中,用#include命令行實現(xiàn)文件包含功能,選項D錯誤。答案選擇C選項。101.下列敘述中正確的是()。A、結(jié)點中具有兩個指針域的鏈表一定是二叉鏈表B、結(jié)點中具有兩個指針域的鏈表可以是線性結(jié)構(gòu),也可以是非線性結(jié)構(gòu)C、二叉樹只能采用鏈式存儲結(jié)構(gòu)D、循環(huán)鏈表是非線性結(jié)構(gòu)答案:B解析:A項錯誤,具有兩個指針域的鏈表可能是雙向鏈表,也可能是二叉鏈表,其中雙向鏈表是線性結(jié)構(gòu),二叉樹為非線性結(jié)構(gòu);B項正確,如雙向鏈表是線性結(jié)構(gòu),二叉樹為非線性結(jié)構(gòu),兩者結(jié)點中均有兩個指針域;C項錯誤,二叉樹通常采用鏈式存儲結(jié)構(gòu),也可采用其他結(jié)構(gòu);D項錯誤,循環(huán)鏈表是線性結(jié)構(gòu),邏輯概念線性非線性與實際存儲結(jié)構(gòu)無關(guān)。答案選擇B選項。102.下列關(guān)于棧的描述中,正確的是()。A、在棧中只能插入元素B、在棧中只能刪除元素C、只能在一端插入或刪除元素D、只能在一端插入元素,而在另一端刪除元素答案:C解析:棧是一種操作受限的線性表:棧只能在棧頂插入和刪除元素。答案選擇C選項。103.一棵二叉樹共有25個結(jié)點,其中5個葉子結(jié)點,那么度為1的結(jié)點數(shù)為()。A、4B、6C、10D、16答案:D解析:根據(jù)二叉樹的性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點總是比度為2的結(jié)點多一個,所以度為2的結(jié)點數(shù)為4個,那么25-5-4=16即為度為1的結(jié)點數(shù)。答案選擇D選項。104.下列敘述中正確的是()。A、每個C程序文件中都必須要有一個main函數(shù)B、在C程序中main函數(shù)的位置是固定的C、程序中所有函數(shù)之間都可以相互調(diào)用D、在C程序的函數(shù)中不能定義另一個函數(shù)答案:D解析:在C程序中,main函數(shù)的位置可以任意,而且不管main函數(shù)位置怎么變化,程序都會以main函數(shù)作為入口,選項B錯誤;每個C程序(而不是每個C程序文件)必須有且只能有一個main函數(shù),選項A錯誤;main函數(shù)不能被其他函數(shù)調(diào)用,選項C錯誤;函數(shù)的定義不能放在另一個函數(shù)體內(nèi),但是聲明可以,答案選擇D選項。105.針對簡單程序設(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è)計的步驟是首先要確定算法和數(shù)據(jù)結(jié)構(gòu),然后編碼、調(diào)試,最后整理相關(guān)文檔。答案選擇A選項。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ù)點,小數(shù)點后有6位小數(shù)。答案選擇A選項。107.在三級模式之間引入兩層映象,其主要功能之一是()。A、使數(shù)據(jù)與程序具有較高的獨立性B、使系統(tǒng)具有較高的通道能力C、保持數(shù)據(jù)與程序的一致性D、提高存儲空間的利用率答案:A解析:數(shù)據(jù)庫管理系統(tǒng)在數(shù)據(jù)庫的三級模式之間提供了兩層映象,包括:①外模式/模式映射,當模式發(fā)生改變時,只要改變其映射,就可以使外模式保持不變,保證了邏輯獨立性;②模式/內(nèi)模式映射,當數(shù)據(jù)的存儲結(jié)構(gòu)發(fā)生變化時,只需改變模式/內(nèi)模式映射,就能保持模式不變,保證了物理獨立性。答案選擇A選項。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選項。109.以下選項中不屬于字符常量的是()。A、'C'B、"C"C、'\xCC'D、'\072'答案:B解析:B項,C語言中用雙引號表示字符串,在分配存儲空間時需要包含"\0"作為結(jié)束標志。CD兩項,分別表示十六進制、八進制格式ASCII碼值對應(yīng)的字符常量。答案選擇B選項。110.關(guān)于地址和指針,以下說法正確的是()。A、通過強制類型轉(zhuǎn)換可以將一種類型的指針變量賦值給另一種類型的指針變量B、可以取一個常數(shù)的地址賦值給同類型的指針變量C、可以取一個表達式的地址賦值給同類型的指針變量D、可以取一個指針變量的地址賦值給基類型相同的指針變量答案:A解析:常數(shù)的地址存儲在內(nèi)存的常量區(qū),常量區(qū)存儲的都是常量,值都是不可修改的,所以直接取常量的地址賦給指針變量沒有任何意義,C語言也不允許這樣做,編譯會出錯,B項錯誤;表達式的值存儲在臨時變量中,內(nèi)存中存在專門用來存儲臨時變量的區(qū)域,對這塊地址進行操作也是沒有意義的,C語言不允許這樣做,編譯會出錯,C項錯誤;可以取一個指針變量的地址,但是指針變量的地址屬于指針,只能賦值給指針類型的指針變量,D項錯誤。答案選擇A選項。111.以下選項中敘述正確的是()。A、結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)是循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)、順序結(jié)構(gòu)B、C語言源程序不編譯也能直接運行C、使用N—S流程圖不能描述復(fù)雜算法D、計算機能夠直接運行C語言源程序,不必進行任何轉(zhuǎn)換答案:A解析:編譯就是把高級語言變成計算機可以識別的二進制語言,不經(jīng)過編譯的源程序是不能運行的,B項錯誤。算法可以用各種描述方法進行描述,N-S流程圖把算法的每一步都用一個矩形框來表示,把一個個矩形框按執(zhí)行的次序連接起來就是一個算法描述,無論算法復(fù)雜與否都能用N-S流程圖描述,C項錯誤。C語言源程序需要經(jīng)過編譯和連接生成目標文件和可執(zhí)行文件后才能運行,D項錯誤。答案選擇A選項。112.軟件開發(fā)中,需求分析階段可以使用的工具是()。A、N-S圖B、DFD圖C、PAD圖D、程序流程圖答案:B解析:結(jié)構(gòu)化解析方法是結(jié)構(gòu)化程序設(shè)計理論在軟件需求解析階段的運用,DFD(數(shù)據(jù)流圖)是結(jié)構(gòu)化解析常用的工具之一,數(shù)據(jù)字典、判定樹和判定表也是常用的結(jié)構(gòu)化分析工具。程序流程圖、N-S圖、PAD圖等圖形工具用于詳細設(shè)計的過程中。答案選擇B選項。113.有以下程序:#includemain(){int*p,x=100;p=&x;x=*p+10;printf("%d\n",x);}程序運行后的輸出結(jié)果是()。A、110B、120C、100D、90答案:A解析:程序執(zhí)行過程為:定義指針p,指向變量x,p的值即為x的地址,*p就表示該地址處存放的值,x=(*p)+10=110,輸出110。答案選擇A選項。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");}程序運行后從第一列開始輸入以下數(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選項。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);}}運行時,若輸入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í)行過程中所需要的計算機存儲空間B、算法所處理的數(shù)據(jù)量C、算法程序中的語句或指令條數(shù)D、算法在執(zhí)行過程中所需要的臨時工作單元數(shù)答案:A解析:算法的空間復(fù)雜度是指算法在執(zhí)行過程中所需要的計算機存儲空間。包括算法程序所占空間,輸入的初始數(shù)據(jù)所占空間和執(zhí)行過程中所需要的額外空間。答案選擇A選項。117.設(shè)有兩行定義語句:intscanf;floatcase;則以下敘述正確的是()。A、兩行定義語句都不合法B、兩行定義語句都合法C、第1行語句不合法D、第2行語句不合法答案:D解析:預(yù)定義標識符是系統(tǒng)已經(jīng)有過定義的標識符,用戶可以重新定義,可以作為變量名。scanf為庫函數(shù)名
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉林省長春汽車經(jīng)濟技術(shù)開發(fā)區(qū) 2024-2025學年九年級上學期10月期中考試數(shù)學試題(含答案)
- 海南省??谑泻D鲜∪A僑中學2024-2025年八年級上期中考試物理試題(含答案)
- 贛南師范大學《地圖學》2021-2022學年第一學期期末試卷
- 阜陽師范大學《數(shù)字信號處理》2022-2023學年第一學期期末試卷
- 阜陽師范大學《高分子材料成型加工》2022-2023學年第一學期期末試卷
- 福建師范大學協(xié)和學院《復(fù)變函數(shù)》2021-2022學年第一學期期末試卷
- 福建師范大學《音樂教育概論》2021-2022學年第一學期期末試卷
- 福建師范大學《美術(shù)評論與寫作》2022-2023學年第一學期期末試卷
- 福建師范大學《課程與教學》2021-2022學年第一學期期末試卷
- 福建師范大學《環(huán)境學》2021-2022學年第一學期期末試卷
- 住院醫(yī)師臨床能力考核(體格檢查部分)評分表(醫(yī)院醫(yī)生用表)
- 2024年5月上海市普通高中學業(yè)水平等級性考試化學試卷(含答案)
- QCT957-2023洗掃車技術(shù)規(guī)范
- 2024年保密知識測試試題庫(綜合題)
- ORACLE ERP EBS財務(wù)全模塊操作手冊中文版
- 人教版 年六年級數(shù)學上冊教案(全冊)
- 2024年入團積極分子結(jié)業(yè)考試試題
- 國企紀委業(yè)務(wù)培訓(xùn)課件
- 2022-2023學年揚州市寶應(yīng)縣五年級上學期期中測試數(shù)學試卷(含答案解析)
- 保安服務(wù)針對本項目的服務(wù)特點、難點分析及解決措施
- 《團購產(chǎn)品目錄》課件
評論
0/150
提交評論