計算機二級試題_第1頁
計算機二級試題_第2頁
計算機二級試題_第3頁
計算機二級試題_第4頁
計算機二級試題_第5頁
已閱讀5頁,還剩92頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機二級試題一、選擇題⑴?(10)每小題2分,(11)-(50)每小題1分,共60分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)算法能正確地實現(xiàn)預定功能的特性稱為算法的A)確定性 B)易讀性C)健壯性D)高效性答案:A評析:算法的確定性是指算法中的每一個步驟都必須是有明確定義的,不允許有摸棱兩可的解釋,也不允許有多義性,即每個步驟都是預先定義好的。(2)數(shù)據(jù)在計算機存儲器內(nèi)表示時,物理地址與邏輯地址相同并且是連續(xù)的,稱之為oA)存儲結(jié)構(gòu) B)邏輯結(jié)構(gòu)0順序存儲結(jié)構(gòu) D)鏈式存儲結(jié)構(gòu)答案:C評析:如果數(shù)據(jù)之間在邏輯上有相鄰關(guān)系時,能夠在物理位置上體現(xiàn)出來,則這種存儲結(jié)構(gòu)稱為順序存儲結(jié)構(gòu)。如果數(shù)據(jù)之間的邏輯相鄰關(guān)系在存儲時是靠存儲地址的指針來體現(xiàn)的,則稱為鏈式存儲結(jié)構(gòu)。(3)從未排序序列中依次取出一個元素與已排序序列中的元素依次進行比較,然后將其放在已排序序列的合適位置,該排序方法稱為oA)希爾排序 B)冒泡排序 C)插入排序D)選擇排序答案:C評析:最基本的排序方法有三大類,即選擇排序、交換排序和插入排序。(4)對線性表進行折半查找時,要求線性表必須oA)以順序方式存儲B)以鏈接方式存儲C)以順序方式存儲,且結(jié)點按關(guān)鍵字有序排列D)以鏈接方式存儲,且結(jié)點按關(guān)鍵字有序排列答案:C評析:折半查找算法要求被查找的對象必須采用順序的存儲結(jié)構(gòu),并且關(guān)鍵字有序排列。(5)鏈表不具備的特點是oA)可隨機訪問任意一個結(jié)點B)插入和刪除不需要移動任何元素C)不必事先估計存儲空間D)所需空間與其長度成正比答案:A評析:順序表可以隨機訪問任意一個結(jié)點,而鏈表必須從第一個數(shù)據(jù)結(jié)點出發(fā),逐一查找每個結(jié)點。(6)下列描述中正確的是oA)軟件是物理產(chǎn)品B)程序就是軟件C)軟件工程由方法、工具和過程三部分組成D)軟件工程是一個機械工程答案:B評析:軟件是與計算機系統(tǒng)操作有關(guān)的程序、規(guī)程、規(guī)則及任何與之有關(guān)的文檔和數(shù)據(jù)。計算機軟件是一種邏輯產(chǎn)品,而不是物理產(chǎn)品。軟件工程是用工程、科學和數(shù)學的原則與方法研制、維護計算機軟件的有關(guān)技術(shù)及管理方法。軟件工具可以自動或半自動的生成軟件文檔。軟件工程過程是管理者控制軟件開發(fā)各環(huán)節(jié)的基本方法。(7)軟件測試是保證軟件質(zhì)量最關(guān)鍵的步驟,下列關(guān)于白盒測試技術(shù)描述中不正確的是oA)保證模塊中每一獨立的路徑至少執(zhí)行一次B)保證所有判斷的每一分支至少執(zhí)行一次C)保證每一循環(huán)都在邊界條件和一般條件下最多執(zhí)行一次D)驗證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性答案:C評析:軟件測試技術(shù)中,白盒測試技術(shù)和黑盒測試技術(shù)是兩種基本的軟件測試手段。白盒測試技術(shù)有四個原則:保證模塊中每一個獨立的路徑至少執(zhí)行一次;保證所有判斷的每一分支至少執(zhí)行一次;保證每一循環(huán)都在邊界條件和一般條件下至少執(zhí)行一次;驗證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。(8)客觀世界中任何一個事物都可以看成一個對象。但是從計算機的角度看,一個對象應 該包含兩個要素:一個是,另一個是需要進行的操作。A)語句 B)命令C)算法D)數(shù)據(jù)答案:D評析:在面向?qū)ο蟮某绦蛟O計中,從計算機的角度看,一個對象應該包含兩個元素:數(shù)據(jù),相當于家庭中的成員;操作,相當于家庭成員的活動。對象就是一個包含數(shù)據(jù)與這些數(shù)據(jù)有關(guān)的操作的集合。(9)下列概念中,不是數(shù)據(jù)庫管理系統(tǒng)必須提供的數(shù)據(jù)控制功能的是oA)安全性 B)完整性C)移植性 D)一致性答案:C評析:數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)控制功能是指在數(shù)據(jù)庫建立、運行和維護時,由DBMS統(tǒng)一管理、統(tǒng)一控制,以保證數(shù)據(jù)的安全性、完整性和一致性。(10)設關(guān)系R和關(guān)系S的元數(shù)分別是3和4,關(guān)系T是R和S的笛卡兒積,即丁=1^乂5,則關(guān)系T的元數(shù)是oA)7 B)9 C)12 D)16答案:A評析:笛卡兒積的定義是設關(guān)系R和s的元數(shù)分別是r和s,R和s的笛卡兒積是一個(r十s)元屬性的集合,每一個元組的mr個分量來自R的一個元組,、后s爪分量來自s的一個元組。所以關(guān)系T的屬性元數(shù)是3+4=7。(11)以下敘述中正確的是oA)C語言中的全部數(shù)據(jù)類型都是基本類型B)C語言中的全部數(shù)據(jù)類型都是構(gòu)造類型C)C語言中的數(shù)據(jù)類型只有兩種,即基本類型和構(gòu)造類型D)以上都不對答案:D評析:c語言中的數(shù)據(jù)類型有四種,即基本類型、構(gòu)造類型、指針類型和空類型。(12)下列可作為C語言賦值語句的是oA)x=3,y=5 B)a=b=6 C)i-; D)y=6答案:C評析:此題實際上是考查對c語言中〃語句〃概念的理解。表達式后面只有加上分號才能成為語句,因此,A),B),D)均是表達式,只有C)為語句。且利用自減運算符使i值減1。(13)以下可以定義為用戶標識符的是oA)printfB)netC)3comD)int答案:B評析:c語言中的標識符分為兩類。一類是系統(tǒng)標識符,即系統(tǒng)定義使用的關(guān)鍵字標識符等。另一類是用戶自定義標識符。兩類標識符都只能用字母、數(shù)字和下劃線三種字符組成。且第一個字母必須為字母或下劃線。并且用戶自定義標識符不能使用系統(tǒng)關(guān)鍵字相同的標識符。(14)以下選項中,不能作為合法常量的是oA)0X2AB)015 C).2.8e9 0)123.6e0.4答案:D評析:c程序中的基本數(shù)據(jù)類型有整型、實型和字符型。其中整型常量三種形式,即八進制、十進制和十六進制。而實型常量有十進制小數(shù)和指數(shù)形式兩種。(15)有以下程序main(){inta;charc=10:floatf=-100.0;doublex;clrscrO;a=f/=c*=(x=6.5);printfC%d,%c,%3.1C%3.lf\n”,a,c,Cx);程序運行后的輸出結(jié)果是OA)l,65,1,6.5 B)1,A,1.5,6.5 C)l,65,1.5,6.5D)2,65,1.5,6.5答案:B評析:在賦值語句a=f/=c*=(x=6.5);中,可得x=6.5,將x的值乘以10賦予c,為65,再將f=100的值除以65,并按照四舍五入的原則,重新賦給f'得到f=-I.5o最后將f的值賦給a,由于a是整型,所以得到a=l。(16)以下語句序列中錯誤的是oA)intx=l; B)intx=0; C)intx=2.3;D)intx=l,y=l;x++; (x+1)++; (x++)+1;(x++)+(y—);答案:B評析:c語言中的自加、自減運算只能用于變量,而不能用于常量或表達式。(17)有定義語句:im.a;charb[10],c;則錯誤的輸入語句是oA)scanf("%d%s%c”,&a,D,&C);B)scanf("%d%s%c”,&a,&b,&C);C)scanf("%d%s%d”,&a;b,&C);D)scanfC%d%s"&c,a,%,&C);答案:D評析:在scanf()語句中,在給整型變量和字符型賦值時,必須要在變量名前加取地址符號(&),而對字符型數(shù)組賦值時,可以不在變量名前不加取地址符號,也可以加取地址符號。而且對于字符型變量既可以賦給整型值,也可以賦給字符型值。(18)有定義語句:intx,y;,若要通過scan即x=%d,y=%n&x,&y);語句使變量x得到數(shù)值11,變量y得到數(shù)值12,下面四組輸入形式中,正確的是oA)ll 12(回車〉 B)ll,12〈回車>C)x=l1,y=12(回車> D)x=ll,<回車>12,<回車>答案:C評析:在scanf()語句中,對于變量的賦值必須與數(shù)據(jù)的輸入格式相一致。特別是一些字符說明。(19)設有如下程序段:intx=6, y=4;printf("%d\n”,(x%y,x&&y));則以下敘述中正確的是oA)輸出語句中格式說明符的個數(shù)少于輸出項的個數(shù),不能正確輸出B)運行時產(chǎn)生出錯信息C)輸出值為2D)輸出值為1答案:D評析:在逗號表達式(表達式1,表達式2)中,其運算方法是先求表達式1的值,然后求表達2的值,整個逗號表達式的值是表達式2的值。(20)有以下程序main(){inti=l.j=2,k=3;clrscr();if(i++==j&&k—==j)printfC%d,%d,%d”,i++'j,k);elseprintfC%d,%d,%d",++i,++j,k一);j程序運行后的輸出結(jié)果是OA)l,2,3 B)2,2,3 C)2,3,2 D)3,3,3答案:D評析:按照運算符的優(yōu)先級,最先計算的是關(guān)系運算i++==j,由于此關(guān)系式不成立,,它的結(jié)果是為〃假〃值,由此可以確定邏輯與運算的結(jié)果必然是〃假〃值,因此參加邏輯與運算的另一個關(guān)

系表達式〃k—==j〃的值,系統(tǒng)不再對它進行運算。此時變量i的值自加1變成2,然后執(zhí)行else語句后的printf語句。(21)有定義語句:inta=l,b=l,c=3,x;,則以下選項中各程序段執(zhí)行后,x的值不等于3是A)if(c<a)x=l;elseif(b<aA)if(c<a)x=l;elseif(b<aIIb<C)x=3;C)if(a%b>a)x=3;if(a<2)x=2;if(a<l)z=l;答案:CB)if(a<3&&b<C)x=3;elseif(a<2)x:2;D)if(a<b+C)x:b;if(b&&a<C)x=c=if(c<a)x=a;評析:在各種運算符中,運算級別最高的是算術(shù)運算,如果有括號,當然先算括號內(nèi)的表達式的值。(22)有以下程序,其輸出結(jié)果是main()floatx=l;inty;X++:y=x+l;printfCx=%d,y=%f”,x,y);A)x=2,y=3 B)x=2,y=3.0C)x=2.0,y=3 D)x=0.y=0.000000答案:D評析:一般在對變量定義為何種類型的數(shù)據(jù)時,對輸出應有完全一致的數(shù)據(jù)類型格式。但整型與實型數(shù)據(jù)在進行混合運算時,一般其數(shù)據(jù)類型可以自動轉(zhuǎn)換。如本題的y=x+l;語句中,系統(tǒng)自動將實型表達式x+1的結(jié)果轉(zhuǎn)換為整數(shù)賦給整型變量y,但整型變量y只能得到實型數(shù)的整數(shù)部分。(23)有以下程序main()Iinta[6]={5,6,7,8,9,10},s=0,1=0;clrserO;dofif(a[i]%21-0)s+=a[I];}while(++i<5);primf("%d'n",s);}程序運行后的輸出結(jié)果是OA)21 B)22 C)23D)24答案:A評析:引用數(shù)組中的某個元素時,可以直接使用數(shù)組名加下標的形式。如p[l],就是數(shù)組中下標為1的元素,按順序數(shù),是第2個元素,因為數(shù)組的下標是從0開始的。本題實際上是求數(shù)組中所有奇數(shù)元素的和。(24)若有如下程序段,main()chara[7]="123\010\032〃;inti,j=0;clrscrO;for(1=0;i<strlen(a);i++)j+=sizeof(a);printfr%d,%d\n”,I,J);}程序運行后的輸出結(jié)果是OA)5,30 B)5,35C)5,25 D)5,20答案:B評析:數(shù)組的存儲空間是在其定義后就分配的。字符數(shù)組a[7]="123\010\032〃的存儲空間是7個單元。即sizeof(a)=7。而函數(shù)strlenO是求字符串的長度的。a[7]="123\010\032〃中,有兩個轉(zhuǎn)義字符,因此字符串的長度實際上是5個字符。所以strlen(a)=5。在程序的for循環(huán)中,其循環(huán)的次數(shù)是5次,j每次加7,所以最后的結(jié)果是35。i的值就是循環(huán)的次數(shù)。(25)如果在c程序中要用到庫函數(shù)中的字符串比較函數(shù)strcmpO,那么在程序前面應該 添加的頭文件是A)stdio.hB)string,hC)alloc,h D)math.H答案:B評析:庫函數(shù)并不是c語言的一部分,它是由人們根據(jù)需要編制并提供用戶使用的。在調(diào)用不同類別的庫函數(shù)時,必須在程序前添加相應的頭文件。(26)若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯誤的是oA)函數(shù)調(diào)用可以嵌套和遞歸B)函數(shù)調(diào)用可以作為一個函數(shù)的實參0函數(shù)調(diào)用可以出現(xiàn)在表達式中D)函數(shù)調(diào)用可以作為一個函數(shù)的形參答案:D評析:函數(shù)的調(diào)用有三種方式。一是將函數(shù)調(diào)用作為一個語句。二是函數(shù)出現(xiàn)在一個表達式中。三是作為一個函數(shù)的實參。但是沒有函數(shù)調(diào)用作為形參。而且函數(shù)在調(diào)用時還有嵌套和遞歸兩種特殊的情形。(27)下列關(guān)于c語言中字符常量與字符串常量的敘述中,錯誤的是oA)字符常量是用單撇號括起來的一個字符B)空格字符也可用作字符常量C)字符串常量是用單撇號括起來的一個字符序列D)字符串常量是用雙撇號括起來的一個字符序列答案:C評析:c語言中的字符型數(shù)據(jù)常量有兩類,一類是用單撇號括起來的字符常量。字符常量除了常用的字符外,還包括特殊的空格符和以〃\”開頭的轉(zhuǎn)義字符。字符串常量則是用雙撇號括起來的一個字符序列。模擬試題一:一、選擇題⑴?(10)每小題2分,(11)?(50)每小題1分,共60分)下列各題A)、B)、c)、D)四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分為oA)動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu) B)緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)c)線性結(jié)構(gòu)和非線性結(jié)構(gòu) D)內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)答案:C評析:邏輯結(jié)構(gòu)反映數(shù)據(jù)元素之間的邏輯關(guān)系,線性結(jié)構(gòu)表示數(shù)據(jù)元素之間一對一的關(guān)系,非線性結(jié)構(gòu)表示數(shù)據(jù)元素之間一對多或多對一的關(guān)系。(2)若進棧序列為1,2,3,4,進棧過程中可以出棧,則下列不可能的一個出棧序列是oA)l,4,3,2 B)2,3,4,1C)3,1,4,2 D)3,4,2,1答案:C評析:棧是一種后進先出表,選項c中,先出棧的是3,說明此時棧內(nèi)必然有1,2,由于1先于2進棧,所以1不可能在2之前出棧,故選項C這種出棧序列是不可能的。(3)排序方法中,將整個無序序列分割成若干小的子序列并分別進行插入排序的方法,稱為oA)希爾排序 B)冒泡排序 c)插入排序 D)選擇排序答案:A評析:希爾排序法的基本思想是:將整個無序序列分割成若干小的子序列分別進行插入排序。(4)在順序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找關(guān)鍵碼值11,所需的關(guān)鍵碼比較次數(shù)為A)2 B)3 C)4 D)5答案:C評析:二分法查找是用關(guān)鍵碼與線性表的中間元素比較,然后根據(jù)比較結(jié)果來判斷是結(jié)束查找,還是在左邊或者右邊子表按相同的方法繼續(xù)查找。本題中,與11比較的關(guān)鍵碼分別為15,8,10,12四個。(5)對于n個結(jié)點的單向鏈表(無表頭結(jié)點),需要指針單元的個數(shù)至少為oA)n-l B)n C)n+1D)2n答案:C評析:在n個結(jié)點的單向鏈表(無表頭結(jié)點)中,每個結(jié)點都有一個指針單元(即指針域),加上頭指針,至少需要n+1個指針單兀。(6)在軟件開發(fā)過程中,軟件結(jié)構(gòu)設計是描述oA)數(shù)據(jù)存儲結(jié)構(gòu) B)軟件體系結(jié)構(gòu) C)軟件結(jié)構(gòu)測試D)軟件控制過程答案:B評析:從工程管理角度來看,軟件設計分兩步完成:概要設計和詳細設計。概要設計(又稱結(jié)構(gòu)設計)將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級接口、全局數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式。(7)模塊本身的內(nèi)聚是模塊獨立性的重要性度量因素之一。在7類內(nèi)聚中,具有最強內(nèi)聚 的一類是oA)順序性內(nèi)聚 B)過程性內(nèi)聚 c)邏輯性內(nèi)聚D)功能性內(nèi)聚答案:D評析:內(nèi)聚性是一個模塊內(nèi)部各元素間彼此結(jié)合的緊密程度的度量。內(nèi)聚共有7類,它們之間的內(nèi)聚性由弱到強排列順序為:偶然內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚和功能內(nèi)聚。(8)數(shù)據(jù)存儲和數(shù)據(jù)流都是,僅僅是所處的狀態(tài)不同。A)分析結(jié)果 B)事件C)動作D)數(shù)據(jù)答案:D評析:數(shù)據(jù)流圖有4種成分:源點或終點、處理、數(shù)據(jù)存儲和數(shù)據(jù)流。數(shù)據(jù)存儲是處于靜止狀態(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運動中的數(shù)據(jù)。(9)數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和oA)可維護性 B)獨立性 C)安全性 D)相容性答案:D評析:數(shù)據(jù)模型的完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)及其狀態(tài)的變化,以保證數(shù)據(jù)的正確性、有效性和相容性。(10)關(guān)系代數(shù)運算是以為基礎的運算。A)關(guān)系運算 B)謂詞運算 c)集合運算 D)代數(shù)運算答案:C

評析:關(guān)系代數(shù)運算是以關(guān)系代數(shù)作為運算對象的一組高級運算的集合。它的基本操作是并、交、差、笛卡爾積,另外還包垂直分割(投影)、水平分割(選擇)、關(guān)系的結(jié)合(連接)等。(11)能將高級語言程序轉(zhuǎn)換成目標語言程序的是OA)調(diào)試程序 B)解釋程序 C)編譯程序 D)編輯程序答案:C評析:用高級語言編寫的程序稱為〃源程序〃,而計算機只能識別和執(zhí)行由0和1組成的二進制指令,所以高級語言必須先用一種稱為〃編譯程序〃的軟件,把源程序翻譯成二進制形式的〃目標程序是構(gòu)成c語言程序的基本單位。A)函數(shù)B)過程c)子程序D)子例程答案:AWORD答案:B評析:c程序是由函數(shù)構(gòu)成的。一個c源程序至少包含一個main函數(shù),也可以包含一個main函數(shù)和若干個其他函數(shù),因此,函數(shù)是WORD答案:BA)voidB)as_b3C)forD)2cdefine_123-abcDo(13)可以在C語言中用做用戶標識符的是 oIfcasSIG評析:C語言規(guī)定,標識符只能由字母、數(shù)字和下劃線三種符號組成,而且第一個字符必須是字母或下劃線。另外還需要注意的是關(guān)鍵字不能作標識符。選項A中void,C中for都為關(guān)鍵字,D中2c以字母開頭。(14)若有以下類型說明語句:charw;intx;floaty,z;則表達式w*x+z-y的結(jié)果為 類型。A)floatB)charC)int D)double答案:A評析:在進行運算時,不同類型的數(shù)據(jù)參加運算,需要先將其轉(zhuǎn)換成同一類型的數(shù)據(jù),然后再進行運算。轉(zhuǎn)換的順序由低到高為:char,short-*intfunsigned—long—doubleffloat,故結(jié)果為float型。(15)main((){floatx=123A56;printfC%~5.2f\n”,x);以上程序輸出的結(jié)果是 。A)123.4 B)123.5 C)123.45 D)123.46答案:D評析:f格式符,用來輸出實數(shù),以小數(shù)形式輸出的含義是:輸出數(shù)據(jù)共占m歹。其中n位小數(shù),如果輸出位數(shù)小于III。則右端補空格。如果總長度大于列數(shù),則按實際情況四舍五人輸出。(16)下面語句的輸出結(jié)果是。Printf("%d\n",strlen("\t\"\065\xff\n〃));A)14 B)805 D)輸出項不合法,無正常輸出答案:C評析:在c語言中,以〃\〃開頭的字符均為轉(zhuǎn)義字符,其中〃\〃后可跟1?3位八進制數(shù)或在〃\〃后跟字母x及1?2位十六進制數(shù),以此來代表一個特定的字符。(17)下列程序的輸出結(jié)果是。main(){inta=0,b-0,c=0;if(++a>01I++b>0)++c;printf("\na=%d,b=%d,c=%d”,a,b,c);)A)a=0,b=0,c=0 B)a=Lb=l,c=la=l,b=0,c=I D)a=0,b-1.c=l答案:C評析:〃II〃是或運算,它有個〃短路〃的特點需特別注意,當〃II〃運算符左邊的表達式的值為真時,則程序就不再對〃II〃右

邊的表達式的值進行運算,而是使得整個表達式的值直接為真。(18)下列程序的輸出結(jié)果是oMain(){inti;for(i=l;i+1;i++){if(i>4){printlf("%d”,i++);break;}}printf('%d”,i++);)55 B)56c)程序錯誤,沒有輸出D)循環(huán)條件永遠為真,死循環(huán)答案:B評析:本程序中有個for循環(huán),但注意到for循環(huán)的條件是〃i+l〃,也就是只要i+1的值為真(非零值均為真),就執(zhí)行循環(huán)。當i=l的時,i+1的值為真,判斷if條件不成立,執(zhí)行i++,輸出i的值為5o(19)下列程序的輸出結(jié)果是o#defineA100main(){inti=0,sum=0;do{ /2)*2)continue;sum+=i;}while(++iprintf("%d'n",sum);}A)2500B)2050 C)4 D)0答案:A評析:本題程序的功能是求1至(99之間(包括1和99)所有奇數(shù)之和。程序中的while循環(huán)的終止條件為++i=100,在while循環(huán)體內(nèi),如果i是偶數(shù),則執(zhí)行continue,跳過這一次循環(huán),執(zhí)行下一次循環(huán),否則求和。最后輸出的值是1到99之間(包括1和99)所有奇數(shù)之和(1+99)*50/2=2500。(20)下列程序的輸出結(jié)果是omain(){int1=3;switch(i){case1:case2:printf('%d”,i);case3:case4:break;default:printf("OK");A)0 B)3C)OKD)沒有任何輸出答案:D評析:在題中,i的值為3,由于"case3:”后面沒有break語句,所以繼續(xù)向下執(zhí)行“case4:〃后面的語句,由于〃case4:”后面的語句為break強行退出switch語句,所以,本題沒有任何輸出。(21)下列程序執(zhí)行后的輸出結(jié)果是 。main(){intm[][3]={1,4,7,2,5,8,3,6,9);inti,k=2:for(1=0;i<3;i++){printf("%d", }}A)456B)258C)369 D)789答案:C評析:根據(jù)二維數(shù)組的定義得出:m[0][0]=1,m[0][2]=7,m[l][0]=2,rail][1]=5,m[l][2]=8,m[2][0]=3,m[2][l]=6,m[2][2]=9,所以本題的輸出是第3行的值m[2][0],m[2][1],m[2][2],即369。(22)設已定義洱口k為int類型變量,則以下for循環(huán)語句for(i=0;k=-l,k=l;i++,k++)printf("****\n");A)判斷循環(huán)結(jié)束的條件不合法 B)是無限循環(huán)C)循環(huán)一次也不執(zhí)行 D)循環(huán)只執(zhí)行一次答案:B評析:本題定義了一個for循環(huán),循環(huán)變量是i,但由于本題并沒有設置循環(huán)條件,所以循環(huán)的條件永遠默認為真,即無限次執(zhí)行循環(huán)。(23)下面程序的輸出結(jié)果是ounsignedfun(unsignednum){unsignedk=l;do{k*=num%10;num/=10;)while(num);return(k);}main(){unsignedn。26;printf("%d\n”,fun(n));A)0 B)4 c)12 D)無限次循環(huán)答案:c評析:本題定義了一個fun函數(shù),用于num求和,具體執(zhí)行過程如下:num=26:k=k*(num%10)=1*(26%10),所以k=6,num=num/10=2;num=2:k=k*(num%10)=6*(2%10),所以k=12,num=num/10=0;num=0:while條件不成立,所以返回k的值12.(24)已知字母A的ASCII碼值是65,字母a的ASCII碼值是97,以下程序omain(){chara-A';intb=20;printfC%d,%o”,(a=a+a,a+b,b),a+‘a(chǎn)'」A',b);}A)表達式非法,輸出零或不確定值B)因輸出項過多,無輸出或輸出不確定值C)輸出結(jié)果為20,141D)輸出結(jié)果為20,141,20答案:C評析:本題中首先輸出逗號表達式"a=a+a,a+b,b〃的值,即20。然后以八進制的形式輸出a+'a'-'A'的值為97對應的八進制數(shù)141,由于最后一個表達式b沒有對應輸出格式的輸出項表列就不會輸出。(25)C語言函數(shù)返回值的類型是由決定的。A)return語句中的表達式類型 B)調(diào)用函數(shù)的主調(diào)函數(shù)類型c)調(diào)用函數(shù)時臨時 D)定義函數(shù)時所指定的函數(shù)類型答案:D評析:函數(shù)值的類型應當是在定義函數(shù)時指定的。在定義函數(shù)時對函數(shù)值說明的類型一般應該和return語句中的表達式類型一致,如果不一致,則以函數(shù)類型為準,即函數(shù)類型決定返回值的類型。模擬試題二:一、選擇題⑴?(10)每小題2分,(11)-(50)每小題1分,共60分)下列各題A)、B)、c)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)下面敘述正確的是OA)算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)B)算法的空間復雜度是指算法程序中指令(或語句)的條數(shù)C)算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止D)算法的時間復雜度是指執(zhí)行算法程序所需要的時間答案:C評析:算法的設計可以避開具體的計算機程序設計語言,但算法的實現(xiàn)必須借助程序設計語言中提供的數(shù)據(jù)類型及其算法。數(shù)據(jù)結(jié)構(gòu)和算法是計算機科學的兩個重要支柱。(2)以下數(shù)據(jù)結(jié)構(gòu)屬于非線性數(shù)據(jù)結(jié)構(gòu)的oA)隊列B)線性表C)二叉樹D)棧答案:C評析:線性表、棧和隊列等數(shù)據(jù)結(jié)構(gòu)所表達和處理的數(shù)據(jù)以線性結(jié)構(gòu)為組織形式。棧又稱后進先出表(LastInFirstOut);隊列又稱先進先出表(First:InFirstOut)o二叉樹的數(shù)據(jù)結(jié)構(gòu)是樹型結(jié)構(gòu),結(jié)構(gòu)中數(shù)據(jù)元素之間存在著一對多的關(guān)系,因此它是一種非線性數(shù)據(jù)結(jié)構(gòu)。(3)在一棵二叉樹上第8層的結(jié)點數(shù)最多是oA)8 B)16 C)128 D)256答案:C評析:根據(jù)二叉樹的性質(zhì):二叉樹第i(i》D層上至多有2i-l個結(jié)點。得到第8層的結(jié)點數(shù)最多是128O(4)下面描述中,不符合結(jié)構(gòu)化程序設計風格的是oA)使用順序、選擇和重復(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯B)自頂向下C)注重提高程序的執(zhí)行效率D)限制使用goto語句答案:C評析:結(jié)構(gòu)化程序設計方法的四條原則是:1.自項向下;2.逐步求精;3.模塊化;4.限制使用got。語句。(5)下面概念中,不屬于面向?qū)ο蠓椒ǖ氖莖A)對象、消息B)繼承、多態(tài) c)類、封裝D)過程調(diào)用答案:D評析:面向?qū)ο蠓椒ㄊ且环N運用對象、類、封裝、繼承、多態(tài)和消息等概念來構(gòu)造、測試、重構(gòu)軟件的方法。面向?qū)ο蠓椒◤膶ο蟪霭l(fā),發(fā)展出對象、類、消息、繼承等概念。(6)在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是oA)可行性分析B)需求分析 c)詳細設計 D)程序編碼答案:B評析:軟件開發(fā)階段包括需求分析、總體設計、詳細設計、編碼和測試五個階段。其中需求分析階段常用的工具是數(shù)據(jù)流圖和數(shù)據(jù)字典。(7)軟件生命周期中所花費用最多的階段是oA)詳細設計B)軟件編碼c)軟件測試D)軟件維護答案:D評析:軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護3個階段。本題中詳細設計、軟件編碼和軟件測試都屬于軟件開發(fā)階段;維護是軟件生命周期的最后一個階段。(8)數(shù)據(jù)庫系統(tǒng)的核心是oA)數(shù)據(jù)模型B)DBMSC)軟件工具D)數(shù)據(jù)庫答案:B評析:數(shù)據(jù)庫管理系統(tǒng)DBMS是數(shù)據(jù)庫系統(tǒng)的核心。DBMS是負責數(shù)據(jù)庫的建立、使用和維護的軟件。DBMS建立在操作系統(tǒng)之上,實施對數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應用程序的執(zhí)行,最終都必須通過DBMS。(9)下列敘述中正確的oA)數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過程B)數(shù)據(jù)庫設計是指設計數(shù)據(jù)庫管理系統(tǒng)c)如果一個關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個關(guān)系的關(guān)鍵字,則稱其為本關(guān)系的外關(guān)鍵字D)關(guān)系中的每列稱為元組,一個元組就是一個字段答案:C評析:數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程,故選項A敘述錯誤;設計數(shù)據(jù)庫的目的實質(zhì)上是設計出滿足實際應用需求的實際關(guān)系模型;關(guān)系中的行稱為元組,對應存儲文件中的記錄,關(guān)系中的列稱為屬性,對應存儲文件中的字段,故D選項敘述錯誤。(10)下列模式中,>用戶模式。A)內(nèi)模式B)外模式 C)概念模式 D)邏輯模式答案:B評析:數(shù)據(jù)庫管理系統(tǒng)的三級模式結(jié)構(gòu)由外模式、模式和內(nèi)模式組成。外模式,指數(shù)據(jù)庫用戶所看到的數(shù)據(jù)結(jié)構(gòu),是用戶看到的數(shù)據(jù)視圖。模式,是數(shù)據(jù)庫中對全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特性的描述,是所有用戶所見到的數(shù)據(jù)視圖的總和。內(nèi)模式是指數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內(nèi)的存儲介質(zhì)上的表示,即對數(shù)據(jù)的物理結(jié)構(gòu)和存取方式的描述。(1DC語言規(guī)定,程序中各函數(shù)之間OA)既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用B)不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用0允許直接遞歸調(diào)用不允許間接遞歸調(diào)用D)不允許直接遞歸調(diào)用允許間接遞歸調(diào)用答案:A評析:C語言規(guī)定,程序中各函數(shù)之間既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用。(12)在使用程序流程圖來表示算法時,菱形用來表示A)輸入與輸出B)子程序 C)判斷分支 D)循環(huán)邊界答案:C評析:美國國家標準化協(xié)會ANSI規(guī)定了一些常用的流程圖符號,其中橢圓框表示起止框,方框表示處理框,菱形框表示判斷分支,箭頭表示流程線。(13)C語言中下列敘述正確的是oA)不能使用do…while語句構(gòu)成的循環(huán)do…while語句構(gòu)成的循環(huán),必須用break語句才能退出C)do…while語句構(gòu)成的循環(huán),當while語句中的表達式值為非零時結(jié)束循環(huán)D)do…while語句構(gòu)成的循環(huán),當while語句中的表達式值為零時結(jié)束循環(huán)答案:D評析:選項A是錯誤的,c語言支持dO…while語句;選項B是錯誤的,do...while構(gòu)成的循環(huán),當while語句中的表達式值為零時結(jié)束循環(huán),而不是非零;選項c也是錯誤的。(14)以下選項中屬于C語言的數(shù)據(jù)類型是oA)復數(shù)型B)邏輯型C)雙精度型D)集合型答案:c評析:C語言的數(shù)據(jù)類型分為基本類型、構(gòu)造類型、指針類型、空類型四大類。其中,基本類型分為整型、字符型、實型三類。實型又稱浮點型,包括單精度型和雙精度型兩種類型。(15)在C語言中,不正確的int類型的常數(shù)是oA)32768 B)0C)037D)OxAF答案:A評析:c語言中int類型的常數(shù)的范圍是:-32768?32767。c整常數(shù)可用三種形式表示:十進制整數(shù),八進制整數(shù),十六進制整數(shù)。選項A超出范圍,不正確。(16)以下程序輸出的結(jié)果是omain()inta=65535;printf("%d%u”,a,a);}A)-l-1B)6553565535C)-l65535D)65535-1答案:C評析:printf函數(shù)中不同類型的數(shù)據(jù)用不同的格式字符,其中%(1是按整型數(shù)據(jù)的實際長度輸出十進制整數(shù)。變量a=65535以%(1格式輸出時溢出輸出值為該數(shù)的補碼值,即.1;%u用來輸出unsigned型數(shù)據(jù),無符號整型變量的數(shù)值范圍為0?65535,所以變量a=65535以%u格式輸出的值為65535。(17)下列描述中不正確的是oA)字符型數(shù)組中可以存放字符串B)可以對字符型數(shù)組進行整體輸入、輸出c)可以對整型數(shù)組進行整體輸入、輸出D)不能在賦值語句中通過賦值運算符〃=〃對字符型數(shù)組進行整體賦值答案:C評析:c語言規(guī)定只能逐個引用數(shù)組元素而不能一次引用整個數(shù)組。字符數(shù)組的輸入、輸出可以將整個字符串一次輸入或輸出。所以,選項c的說法是不正確的。(18)以下程序的輸出結(jié)果是omain(){inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x⑴⑴;for(1=0;i<4;i+=2)printf('%d",p[I]);}A)52 B)51 C)53 D)97答案:C評析:題中*是指將數(shù)組x的數(shù)組元素的地址賦值給指針變量P,使p指向這個數(shù)組元素,那么p[o]即為指針變量P當前所指向的數(shù)組元素的值。(19)下列可用于C語言標識符的一組是oA)voidWORDdefine B)a6$sysForC)2asizeofabcD)Intdefinesizeof答案:D評析:c語言規(guī)定標識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。注意,大寫字母和小寫字母被認為是兩個不同的字符。C語言中的關(guān)鍵字不能用作標識符。(20)以下程序的運行結(jié)果是o#include"stdio.H"main()finta[]={l,2,3,4,5,6,7,8,9,10,11,12];int*p=a+5,*q=NULL;*q=*(p十5);printf("%d%d、n”,'p,*q);}A)運行后報錯 B)66C)612 D)55答案:A評析:題目中沒有給q分配存儲單元,只是簡單的給它賦了一個值,所以程序的運行結(jié)果是611NULLpointerassignment,也就是運行后報錯。(21)以下說法中正確的是oA)C語言程序總是從第一個函數(shù)開始執(zhí)行B)在C語言程序中,要調(diào)用函數(shù)必須在main。函數(shù)中定義c)c語言程序總是從main()函數(shù)開始執(zhí)行D)c語言程序中的mainO函數(shù)必須放在程序的開始部分答案:C評析:c語言的程序是由主函數(shù)main。開始運行,由主函數(shù)來調(diào)用其他函數(shù),函數(shù)必須是并列的,定義后使用,不能在一個函數(shù)中定義其他函數(shù),mainO函數(shù)不一定要放在程序的開始部分,故選c。(22)有如下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printfC%3.Of\n,z,fun((int)fun(a+c,b),(a-c)));}程序運行后的輸出結(jié)果為 。A)編譯出錯 B)9 C)21 D)9.0答案:B評析:本題中先執(zhí)行(int)fun(a+c,b)函數(shù)的調(diào)用,值為整型數(shù)值15;然后再執(zhí)行fun(15,(a-e))函數(shù)調(diào)用,值為單精度實型數(shù)值9.OOOOOOo輸出為%3.Of,即有效數(shù)長度為3,沒有小數(shù)位數(shù),所以最后結(jié)果為9。(23)能正確表示a和b同時為正或同時為負的邏輯表達式是A)(a>=||b>=0)&&(a<0||b<0)B)(a>=0&&b>=0)&&(a<0&&b<0)C)(a+b>0)&&(a+b<=0) D)a*b>0答案:D評析:選項A中,表達式表示的是a,b為異號;選項B中,表達式表示的是0,因為沒有滿足條件的值;選項c中,表達式表示的是0,因為沒有滿足條件的值;選項D表示的是a和b為同號。(24)若己定義:inta[9],*p=a;并在以后的語句中未改變P的值,不能表示a[l]地址的表達式是 。A)p+1B)a+1 C)a++ D)++p答案:C評析:數(shù)組名是指針常量,是個固定的指針,不能對數(shù)組名賦予一個新的地址值,也不能使這個指針常量"移動”,指向數(shù)組的其它元素。(25)以下程序的輸出結(jié)果是。main(){inta--1,b=l,k;if((++a<0)&&!(b—<=0))printfC%d%d\n”,a,b);elseprintf("%d%d\n”,b,a);)A)-l1 B)01C)10 D)00答案:C評析:邏輯運算符的優(yōu)先次序如下:!(非)一&&(與)-1(或),但本題需特別、注意的是短路的概念。模擬試題三:一、選擇題((1)?(10)每小題2分,(11)-(50)每小題1分,共60分)下列各題A)、B)、c)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)算法的時間復雜度是指OA)執(zhí)行算法程序所需要的時間B)算法程序的長度0算法執(zhí)行過程中所需要的基本運算次數(shù)D)算法程序中的指令條數(shù)答案:C評析:所謂算法的時間復雜度,是指執(zhí)行算法所需要的計算工作量。(2)下列敘述中正確的是oA)線性表是線性結(jié)構(gòu) B)棧與隊列是非線性結(jié)構(gòu)0線性鏈表是非線性結(jié)構(gòu) D)二叉樹是線性結(jié)構(gòu)答案:A評析:一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。線性表、棧與隊列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。(3)下面關(guān)于完全二叉樹的敘述中,錯誤的是oA)除了最后一層外,每一層上的結(jié)點數(shù)均達到最大值B)可能缺少若干個左右葉子結(jié)點0完全二叉樹一般不是滿二叉樹D)具有結(jié)點的完全二叉樹的深度為[log2n]+l答案:B評析:滿二叉樹指除最后一層外每一層上所有結(jié)點都有兩個子結(jié)點的二叉樹。完全二叉樹指除最后一層外,每一層上的結(jié)點數(shù)均達到最大值,在最后一層上只缺少右邊的若干子結(jié)點(葉子結(jié)點)的二叉樹。(4)結(jié)構(gòu)化程序設計主要強調(diào)的是 。A)程序的規(guī)模 B)程序的易讀性c)程序的執(zhí)行效率 D)程序的可移植性答案:B評析:結(jié)構(gòu)化程序設計主要強調(diào)的是結(jié)構(gòu)化程序清晰易讀,可理解性好,程序員能夠進行逐步求精、程序證明和測試,以保證程序的正確性。(5)在軟件生命周期中,能準確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是OA)概要設計B)詳細設計 C)可行性分析D)需求分析答案:D評析:需求分析是對待開發(fā)軟件提出的需求進行分析并給出詳細定義,即準確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說明書及初步的用戶手冊,提交評審。(6)數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列 圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是oA)控制流 B)加工 C)數(shù)據(jù)存儲 D)源和潭答案:A評析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲文件(數(shù)據(jù)源)、源和潭。(7)軟件需求分析一般應確定的是用戶對軟件的A)功能需求B)非功能需求C)性能需求 D)功能需求和非功能需求答案:D評析:軟件需求分析中需要構(gòu)造一個完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,是用戶明確自己的任務。因此,需求分析應確定用戶對軟件的功能需求和非功能需求。(8)下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是oA)數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余B)數(shù)據(jù)庫系統(tǒng)避免了一切冗余0數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致D)數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)答案:A評析:由數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應保持相同的值。(9)關(guān)系表中的每一橫行稱為一個oA)元組 B)字段C)屬性D)碼答案:A評析:在關(guān)系數(shù)據(jù)庫中,關(guān)系模型采用二維表來表示,簡稱〃表〃。二維表是由表框架及表元組組成。在表框架中,按行可以存放數(shù)據(jù),每行數(shù)據(jù)稱為元組。(10)數(shù)據(jù)庫設計包括兩個方面的設計內(nèi)容,它們是A)概念設計和邏輯設計 B)模式設計和內(nèi)模式設計0內(nèi)模式設計和物理設計 D)結(jié)構(gòu)特性設計和行為特性設計答案:A評析:數(shù)據(jù)庫設計可分為概念設計與邏輯設計。概念設計的目的是分析數(shù)據(jù)間內(nèi)在語義關(guān)聯(lián),在此基礎上建立一個數(shù)據(jù)的抽象模型。邏輯設計的主要工作是將ER圖轉(zhuǎn)換為指定的RDBMS中的關(guān)系模型。(11)請讀程序:#include<stdio.h>main()inta;floatb,c;scanf(〃%2d%3P%4f‘,&a,&b,&c);printf('\na=%d,b=%ec。%f\n”,a,b,c);}若運行時從鍵盤上輸入98765432101,則上面程序的輸出結(jié)里旦 OA)a=98,b=765,c=4321B)a=l0,b=432,c=8765a=98,b=765.000000,c=4321.000000a=98,b=765.0,c=4321.0答案:C評析:scanf()把用戶從鍵盤錄入的數(shù)字的第1、2位存入整型變量a;把第3、4、5位存入單精度實型變量b,把第6、7、8、9位存入單精度實型變量c,用戶錄入的第10位被scanf()遺棄。這時變量a、b、c的值分別為:98、765.000000、4321.000000o(12)一個良好的算法由下面的基本結(jié)構(gòu)組成,但不包括A)順序結(jié)構(gòu)B)選擇結(jié)構(gòu) c)循環(huán)結(jié)構(gòu) )跳轉(zhuǎn)結(jié)構(gòu)答案:D評析:1966年,Bohra和Jacopini提出了以下三種基本結(jié)構(gòu),用這三種基本結(jié)構(gòu)作為表示一個良好算法的基本單元:1、順序結(jié)構(gòu);2、選擇結(jié)構(gòu);3、循環(huán)結(jié)構(gòu)。(13)請選出以下程序的輸出結(jié)果o#include<stdio.h>sub(x,y,z)intx,y,*z:{*z=y-x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printfC%d,%d,%d\n”,a,b,c);A)5,2,3 B)-5,-12,-7 C)-5,T2,T7 D)5,-2,-7答案:B評析:sub()函數(shù)的作用是將形參y和x的差賦給了z指向的那個內(nèi)存地址,所以在sub(10,5,&a/I,10和5屬于值傳遞,a是屬于地址傳遞,也就是a與z指向了同一個存儲單元,在執(zhí)行函數(shù)后,a的值隨*z變化,所以此次函數(shù)被調(diào)用后,a的值為y-x=-5,同理可知,在sub(7,a,&b)后,b的值發(fā)生變化,其值為-5-7=-12,在sub(a,b,&c)后,c的值發(fā)生變化,其值為-12-(-5)=-7o(14)下面程序在屏幕上的輸出是。main(){printf(z,ab\b\bc");)A)ab\b\bcB)acC)abcD)abc答案:B評析:c語言中允許使用一種特殊形式的字符常量,、就是以一個〃\〃開頭的字符序列,這樣的字符稱為〃轉(zhuǎn)義字符〃。常用的轉(zhuǎn)義字符有:\n,換行;\t,水平制表;\b,退格;\r,回車。(15)若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達式是OA)pb=&x;B)pb=x; C)*pb=&x; D)*pb=*x答案:A評析:選項A將變量x的地址賦給指針變量pb,使pb指向x'選項B是將x的值當作地址賦給指針pb,Db指向一個地址等于X值的內(nèi)存單元;選項c將x的地址賦給指針pb指向的地址等于x的內(nèi)存單元。(16)設整型數(shù)i=5,則printf("%d”,i+++++i);的輸出為A)10B)llC)12 D)語法錯誤答案:D評析:c語言中有基本的算術(shù)運算符(+、-、*、/)還包括自增自減運算符(++、--),在c語言解析表達式時,它總是進行貪婪咀嚼,這樣,該表達式就被解析為i+++++i,顯然該表達式不合c語言語法。(17)若要用下面的程序片段使指針變量p指向一個存儲整型變量的動態(tài)存儲單元int*p;p=malloc(sizeof(im));則應填入 oA)intB)intC)(*int)D)(int*)答案:D評析:不論p是指向什么類型的指針變量,都可以通過強制類型轉(zhuǎn)換的方法使之類型一致,強制類型轉(zhuǎn)換的格式為(數(shù)據(jù)類型+)。(18)下面程序輸出的結(jié)果是omain()inti=5,J=9,x;x=(I==j?i:(j=7));printfC\n%d,%d”,I,J);A)5,7 B)5,5C)語法錯誤D)7,5答案:A評析:條件表達式的一般形式為:表達式I?表達式2:表達式3;先求解表達式1,若為真則求解表達式2;若表達式1的值為假,則求解表達式3。本題中先判斷i==j,不等,執(zhí)行j=7;然后執(zhí)行x=7。故本題為A。(19)若執(zhí)行下面程序時從鍵盤上輸入5,main(){intx:scanf("%d”,&x);if(x++>5)printf("%d\n",x);elseprintf("%d'n",x-);}則輸出是^OA)7 B)6 C)5 D)4答案:B評析:根據(jù)c語言的語法,x++是在使用x之后,再將x的值加1,在if語句中,x的值為5,條件不成立,執(zhí)行else后面的語句,因為x的值已經(jīng)加1,為6,所以打印結(jié)果為6。(20)若有以下定義和語句:inta[]={l,2,3,4,5,6,7,8,9,10},*p=a;則值為3的表達式是oA)p+=2,*(p++) B)p+=2,*++pC)p+=3,*p++ D)p+=2,++*p答案:A評析:引用一個數(shù)組元素,可以用:(1)下標法,如a[i]形式;(2)指針法,如*(a+i)或*(p+i)。數(shù)組的下標從0開始,值為3的數(shù)組元素是a[2]。B、c的內(nèi)容為a[3],D將a[2]前自力口,結(jié)果為4。(21)設a、b和c都是int型變量,且a=3、b=4>c=5,則下面的表達式中,值為0的表達式是oA)'a&&'b'B)a<=bc)a||+c&&bcD)!((a<b)&&!c||1)答案:D評析z選項A:'a'&&'b'是字符a與b的相與,不為0;選項B:a<=b,由題中變量賦值可知,結(jié)果為1。選項c:aII+c&&b-c,結(jié)果為1;選項為!((a<b)&&!cUl),運算結(jié)果為0。(22)以下程序運行后,輸出結(jié)果是。main()char*d口。{"ab","cde'};print"'%x",d[l]);A)cde B)字符c的ASCII碼值C)字符c的地址D)出錯答案:C評析:指針數(shù)組中的每一個元素都相當于一個指針變量。一維指針數(shù)組的定義形式為:類型名+數(shù)組名[數(shù)組長度],在本題main函數(shù)中定義指針數(shù)組d,它有兩個元素,其初值分別是〃ab〃、〃cde〃的首地址。dB]的值為〃cde〃的首地址。%x是指以十六進制數(shù)形式輸出整數(shù)。(23)設有如下程序#include<stdio.h>main()int**k,*j,i=100;j=&i; k=&j;printf("%d\n”,**k);}上述程序的輸出結(jié)果是OA)運行錯誤 B)100C)i的地址D)j的地址答案:B評析:j=&i,j的值就是i的地址,*j=100,將j的地址賦給k,這時*k=j,那么,**k=*j,而1=100,所以**k=100,最后的打印結(jié)果應當為100o(24)設有以下語句,其中不是對a數(shù)組元素的正確引用的是:(其中0Wi<10)inta=[10]={0,1,2,3,4,5,6,7,8,9,},*p=a;A)a[p-a]B)o(&a[i])C)p[I]D)*(*(a+i))答案:D評析:觀察程序可知,a實際上就是數(shù)組a的首地址,所以“+(a+i)〃表示的就是數(shù)組a中的第i個元素的值,進而,我們可以知道+(t(a+i))必然不是對a數(shù)組元素的正確引用。(25)以下程序運行后,輸出結(jié)果為omain()(inta[2][3]={1,3,5,7,9,11],*s[2],**pp,*p;s[0]=a[0],s[l]=a[l];pp=s;p=(int*)malloc(sizeof(int));**pp=s[1][1];p=*PP;printf("%d\n",*p);A)1 B)7 C)9D)ll答案:C評析:s是一個含有兩個元素的指針數(shù)組,pp是一個指向指針變量的指針,s[0]是指向二維數(shù)組a行下標為0的元素的首地址即a[0兒0]的地址,s⑴為a[l][0]的地址。pp的值為s[O]的地址。**pp=s[l][l]后,a[0][0]的值將被賦值為的值,執(zhí)行P=*PP;后,P中將是s[0]的值,最后的輸出語句將輸出地址s[0]所指向的數(shù)據(jù),即a[0][0]模擬試題四:一、選擇題((D?(10)每小題2分,(11)?(50)每小題1分,共60分)下列各題A)、B)、c)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)算法的空間復雜度是指OA)算法程序的長度 B)算法程序中的指令條數(shù)c)算法程序所占的存儲空間 D)算法執(zhí)行過程中所需要的存儲空間答案:D評析:一個算法的空間復雜度,一般是指執(zhí)行這個算法所需的內(nèi)存空間。一個算法所占用的存儲空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間。(2)下列關(guān)于棧的敘述中正確的是oA)在棧中只能插入數(shù)據(jù) B)在棧中只能刪除數(shù)據(jù)0棧是先進先出的線性表 D)棧是先進后出的線性表答案:D評析:棧是限定在一端進行插入與刪除的線性表。棧是按照〃先進后出〃的或〃后進先出〃的原則組織數(shù)據(jù)的,因此,棧也被稱為“先進后出〃表或〃后進先出〃表。(3)在深度為5的滿二叉樹中,葉子結(jié)點的個數(shù)為oA)32 B)31 C)16 D)15答案:C評析:所謂滿二叉樹是指除最后一層外,每層上的所有結(jié)點都有兩個子結(jié)點。也就是說,在滿二叉樹中,每一層上的結(jié)點數(shù)都達到最大值,即在滿二叉樹的第K層上有2KT個結(jié)點,且深度為m的滿二叉樹有2m個結(jié)點。在滿二叉樹中,最后一層的結(jié)點個數(shù)就是葉子結(jié)點的個數(shù),本題中深度為5,故葉子結(jié)點數(shù)為25-1=24=16。(4)對建立良好的程序設計風格,下面描述正確的是A)程序應簡單、清晰、可讀性好B)符號名的命名要符合語法c)充分考慮程序的執(zhí)行效率 D)程序的注釋可有可無答案:A評析:要形成良好的程序設計風格,主要應注重和考慮下述一些因素:符號名的命名應具有一定的實際含義,以便于對程序功能的理解;正確的注釋能夠幫助讀者理解程序;程序編寫應優(yōu)先考慮清晰性,除非對效率有特殊要求,程序編寫要做到清晰第一,效率第二。(5)下面對對象概念描述錯誤的是oA)任何對象都必須有繼承性 B)對象是屬性和方法的封裝體0對象間的通訊靠消息傳遞 D)操作是對象的動態(tài)性屬性答案:A評析:對象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實體有直接的對應關(guān)系。對象之間通過傳遞消息互相聯(lián)系,以模擬現(xiàn)實世界中不同事物彼此之間的聯(lián)系。(6)下面不屬于軟件工程的3個要素的是oA)512具B)過程C)方法D)環(huán)境答案:D評析:軟件工程包括3個要素,即方法、工具和過程。(7)程序流程圖(PFD)中的箭頭代表的是oA)數(shù)據(jù)流B)控制流 C)調(diào)用關(guān)系 D)組成關(guān)系答案:B評析:程序流程圖(PFD)是一種傳統(tǒng)的、應用廣泛的軟件過程設計表示工具,通常也稱為程序框圖,其箭頭代表的是控制流。(8)在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是A)數(shù)據(jù)庫系統(tǒng) B)文件系統(tǒng)c)人工管理D)數(shù)據(jù)項管理答案:A評析:在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是數(shù)據(jù)庫系統(tǒng)。(9)用樹形結(jié)構(gòu)來表示實體之間聯(lián)系的模型稱為oA)關(guān)系模型 B)層次模型 C)網(wǎng)狀模型 D)數(shù)據(jù)模型答案:B評析:層次模型是最早發(fā)展出來的數(shù)據(jù)庫模型。它的基本結(jié)構(gòu)是樹形結(jié)構(gòu),這種結(jié)構(gòu)方式在現(xiàn)實世界中很普遍,如家族結(jié)構(gòu)、行政組織機構(gòu),它們自頂向下、層次分明。(10)關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算包括A)排序、索引、統(tǒng)計B)選擇、投影、連接C)關(guān)聯(lián)、更新、排序D)顯示、打印、制表答案:B評析:關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算,包括選擇運算、投影運算、連接運算。(11)下列語句中符合C語言語法的賦值語句是oA)a-7+b+c-a+7 B)a-a+7C)a=7+b,b++,a+7;D)a=7+b,c=a十7;答案:D評析:由于賦值語句是由賦值表達式加分號構(gòu)成,所以選項A、B均不是合法的賦值語句;選項c中,存在兩種運算符:逗號運算符和賦值運算符,其中賦值運算符的優(yōu)先級高,選項c也不是。(12)下面程序main(){inty=9;for(;y>0;y—i){if(y%3==0){printf("%d",—y);continue1的輸出是.OA)741 B)852C)963D)875421答案:B評析:〃%”是求余運算符,所以if判斷語句中實際是指出只有當y可以被3整除時方可以繼續(xù);一y是先進行y的自減運算,再使用y值。所以,最后的打印結(jié)果應當為〃852〃。(13)下列四個敘述中,錯誤的是oA)C語言中的關(guān)鍵字必須小寫B(tài))c語言中的標識符必須全部由字母組成0c語言不提供輸入輸出語句D)C語言中的注釋行可以出現(xiàn)在程序的任何位置答案:B評析:c語言規(guī)定標識符只能由字母、數(shù)字和下劃線3種字符組成,且第一個字符必須為字母或下劃線。(14)下面程序main()inta=T,b=4,k;k=(a++<=0)&&(!(b <=0));printf("%d%d%d\n”,k,a,b);的輸出是.OA)003 B)012 0103D)112答案:C評析:a++是先使用a值再將a的值加1,b一是先使用b的值再將b的值減1,所以題中的邏輯運算表達式的值應當為真,即為1,而經(jīng)過運算后,a和b的值已經(jīng)分別變成。和3了。(15)以下敘述中正確的是 。A)預處理是指完成宏替換和文件包含中指定文件的調(diào)用B)預處理也是C語句0C源程序中,凡是行首以掙標識的控制行都是預處理指令D)預處理就是完成c編譯程序?qū)源程序的第一遍掃描,為編譯的詞法分析和語法分析作準備答案:C評析:預處理功能主要有以下三種:宏定義、文件包含和條件編譯,所以A不正確。預處理不是c語句,所以B不正確。預處理命令是由ANSIc統(tǒng)一規(guī)定的,編譯程序不能識別它們,D也不正確。(16)下面的程序片段y=T;If(x!=0)If(x>0)y=l;elsey=0;所表示的數(shù)學函數(shù)關(guān)系是-1(x<0)1(x<0)A)y=0(x=0)B)y=-1(x=0)1(x>0)0(x>0)0(x<0)-1(x<0)C)y=-1(x=0)D)y=1(x=0)1(x>0)答案:c0(x>0)評析:本題的考查點是根據(jù)程序?qū)懗鰯?shù)學函數(shù)關(guān)系。題中的兩個判斷語句實際上指出了y取值的條件,即是當x大于零時y取1;當x小于零時y取0;當x等于零時y值不變,為T。(17)下面的程序main(){intx=3,y=0,z=0;if(x=y+z)printf("****");elseprintf('####");A)有語法錯誤不能通過編譯B)輸出****。c)可以通過編譯,但是不能通過連接,因而不能運行D)輸出####答案:D評析:本題的考查點是運算符在表達式中的處理原則。本題中把y+z的值賦給x,由于y和z都等于0,所以x的值也為0,表達式值為false,輸出撐撐撐撐。if語句中if后面的表達式一般為邏輯或關(guān)系表達式,但也可以是任意的數(shù)值類型。(18)在c語言中,合法的長整型常數(shù)是oA)0LB)4962710C)04312765 D)0xa34b7fe答案:A評析:在一個整常量后面加一個字母1或L,則認為是longint型常量。(19)下面函數(shù)intfunl(char*x){char*y=x;while(*y++);return(y-x-l);)的功能是OA)求字符串的長度 B)比較兩個字符串的大小C)將字符串X復制到字符串yD)將字符串X連接到字符串y后面答案:A評折:本題的考查點是while。循環(huán)語句。本題首先要注意的是對*y++的運算,由于++和*為同一優(yōu)先級別,且結(jié)合方向為自右向左,因此它相當于*(y++)。由于++在y的右側(cè),是〃后加〃,因此先對y的原值進行*運算,然后使y的值改變。(20)設inti=2j=l,k=3,則表達式i&&(i+j)&k|i+j的值是A)0 B)2 C)1 D)3答案:C評析:本題表達式中優(yōu)先級順序從高到低為括號、+、&、I、&&o(21)已知字母A的ASCII碼為十進制的65,下面程序main(){charchi,ch2;chl='A'+'5'-'3':ch2='A'+'6',3':printfC%d,%Cn”,chi,ch2);的輸出oA)67,DB)B,CC)C,DD)不確定的值答案:A評析:由于字符〃5〃和〃3〃的ASCH碼相差為2,所以chi過運算后的值應為65+2=67;同理,ch2經(jīng)過運算后的值應為65+3=68,即是字符〃D〃。(22)以下程序的輸出結(jié)果是o#include<stdio.h>main(){inta,b,d=241:a=d/100%9;b-(-1)&&(-1);printfC%d,%d\n”,a,b);A)6,1 B)2,1 C)6,0 D)2,0答案:B評析:第一個表達式中,運算的方向是從左至右,所以a的值為2;第二個表達式中,等式右邊是一個邏輯表達式,由于結(jié)果為真,所以表達式的值為1,即b為1。(23)下列選項中非法的表達式是oA)0<=x<100B)I=j==OC)(char)(65+3)D)x-t-l=x+l答案:D評析:值表達式的左側(cè)不能為常量或表達式,所以D是非法的表達式。(24)以下程序的輸出結(jié)果是o#include<stdio.h>main()print刖%?n”,NULL);}A)不確定的(因變量無定義) B)00-1 D)1答案:B評析:NULL在c編譯器中是一個值為。的常量,它的定義在頭文件“stdio.h〃中,本題的程序在一開始就包含了這個頭文件',所以,在打印的時候,將打印出0。(25)在下面的語句中,賦值語句錯誤的是oA)a=(b=(c=2,d=3));B)i++:C)a-a/b=2; D)a=a〈a+1:答案:C評析:c語言中的賦值號〃一是一個運算符;②賦值語句是由賦值表達式加上一個分號構(gòu)成。賦值表達式的左側(cè)不能為常量或表達式。模擬試題五:一、選擇題((D?(10)每小題2分,(11)?(50)每小題1分,共60分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)算法一般都可以用控制結(jié)構(gòu)組合而成。A)循環(huán)、分支、遞歸 B)順序、循環(huán)、嵌套C)循環(huán)、遞歸、選擇 D)順序、選擇、循環(huán)答案:D評析:算法的控制結(jié)構(gòu)給出了算法的基本框架,不僅決定了算法中各操作的執(zhí)行順序,也直接反映了算法的設計是否符合結(jié)構(gòu)化原則。一個算法一般都可以用順序、選擇、循環(huán)三種基本控制結(jié)構(gòu)組合而成。(2)數(shù)據(jù)的存儲結(jié)構(gòu)是指oA)數(shù)據(jù)所占的存儲空間量B)數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示0數(shù)據(jù)在計算機中的順序存儲方式D)存儲在外存中的數(shù)據(jù)答案:B評析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)。(3)設有下列二叉樹:對此二叉樹中序遍歷的結(jié)果為。A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA答案:B評析:中序遍歷是指首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹;并且在遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹的一種二叉樹遍歷算法。(4)在面向?qū)ο蠓椒ㄖ?,一個對象請求另一對象為其服務的方式是通過發(fā)送OA)調(diào)用語句 B)命令C)口令D)消息答案:D評析:面向?qū)ο蟮氖澜缡峭ㄟ^對象與對象間彼此的相互合作來推動的,對象間的這種相互合作需要一個機制協(xié)助進行,這樣的機制稱為消息。消息是一個實例與另一個實例之間傳遞的信息,它請求對象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。(5)檢查軟件產(chǎn)品是否符合需求定義的過程稱為。A)確認測試 B)集成測試 C)驗證測試 D)驗收測試答案:A評析:確認測試的任務是驗證軟件的功能和性能及其他特性是否滿足了需求規(guī)格說明中的確定的各種需求,以及軟件配置是否完全、正確。(6)下列工具中為需求分析常用工具的是oA)PADB)PFDC)N-SD)DFD答案:D評析:常見的需求分析方法有:結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒?。結(jié)構(gòu)化分析的常用工具有:數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判定表等。(7)下面不屬于軟件設計原則的是oA)抽象B)模塊化C)自底向上 D)信息隱蔽答案:C評析:在軟件設計過程中,必須遵循軟件工程的基本原則:這些原則包括抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可靠性。(8)索引屬于oA)模式B)內(nèi)模式C)外模式 D)概念模式答案:B評析:內(nèi)模式(InternalSchema)又稱物理模式(PhysicalSchema),它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑。(9)在關(guān)系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是A)樹結(jié)構(gòu)B)網(wǎng)結(jié)構(gòu)C)線性表D)二維表答案:D評析:在關(guān)系數(shù)據(jù)庫中,用二維表來表示實體之間聯(lián)系。(10)將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體與聯(lián)系都可以表示成A)屬性B)關(guān)系C)鍵D)域答案:B評析:關(guān)系是由若干個不同的元組所組成,因此關(guān)系可視為元組的集合,將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體與聯(lián)系都可以表示成關(guān)系。(11)有如下程序main()charch[2][5]={“6937〃,“8254〃},*p[2];intI,j,s=0;for(1=0;i<2;i++)p[i]=ch[I];for(1=0;i<2;i++)for(j=0;p[i][j]>,\0>;j+=2)s=10*s+(p[i][j].'0');printf("%d\n",s);該程序的輸出結(jié)果是OA)69825B)63825 C)6385 D)693825答案:C評析:本題〃ch[2][5]={〃6937〃,〃8254〃}〃用于2行5列的二維數(shù)組初始化,ch[0][0]-ch[0][4]的值分別為:6,9,3,7,\0;ch[l][0]-ch[l][4]的值分別為:8,2,5,4,\0;第一個for循環(huán)用于將數(shù)組指針分別指向二給數(shù)組的第一行和第二行;第二個for嵌套循環(huán)用于取出p[0][0],p[0][2],p[l][2]四個存儲單元的數(shù)組成一個四位數(shù)進行輸出。(12)以下敘述不正確的是oA)分號是C語言的必要組成部分B)C程序的注釋可以寫在句的后面C)函數(shù)是C程序的基本單位D)主函數(shù)的名字不一定用main表示答案:D評析:c語言的程序是由主函數(shù)main。開始運行,由主函數(shù)來調(diào)用其他函數(shù),所以D是錯誤的。(13)若變量已正確定義并賦值,下面符合c語言的表達式是A)a:_b+lB)a=b=c+2C)int18.5%3答案:B評析:選項A和c一望而知其錯:對于表達式a=a+7=c+b(答案D),是先執(zhí)行賦值表達式a+7=c+b,再把這個表達式的值賦給a,顯然,表達式a+7=c+b非法,因為賦值表達式的左側(cè)不能為常量或表達式。(14)C語言運算對象必須是整型的運算符是oA)%=B)/ C)= D)<:答案:A評析:在C語言中,模運算(即取余運算%)的運算對象必須是整型數(shù)據(jù)(常量、變量或表達式)。(15)下面一組中都是C語言關(guān)鍵字的是oA)doubleIntfor B)mainwhilegotoC)volatilebreakstaticD)mallocsizeofnew答案:C評析:c語言中的關(guān)鍵字有32個關(guān)鍵字(參見c語言教程),本題中只有C符合題意。(16)若已定義x和y為double類型,則表達式x=l,y=x+3/2的值是 。A)1 B)2 C)2.0 D)2.5答案:C評析:這是一個逗號表達式,它的值應為表達式y(tǒng)=x+3/2的值,而前一個表達式已給x賦值1,在沒有進行類型轉(zhuǎn)換的t留下,3/2的值為1,所以x+3/2的值應為2.0o(17)執(zhí)行語句:for(>i=l;i++<4;);后變量i的值是A)3 B)4 C)5D)不定答案:C評析:for語句的一般形式為:for(表達式1;表達式2;表達式3)語句,循環(huán)結(jié)束的條件是i++<4,所以當i++_4時,循環(huán)結(jié)束,此時變量i的值為5。(18)若變量a、i已正確定義,且i已正確賦值,合法的語句是oA)a==lB)++i; C)a=a++=5;D)a=int(i);答案:B評析:選項D顯然是錯的,而選項A沒有分號結(jié)束,不是c語句;a++=5違反了賦值表達式左側(cè)必須為一個變量(不能是常量或表達式)的規(guī)定.(19)有如下程序main(){inty=3,x=3,z=l;printfC%d%d\n”,(++x,y++),z+2);運行該程序的輸出結(jié)果是。A)34 B)42 C)43 D)33答案:D評析:逗號表達式(++X,y++)的值應該是y++的值,由于y++是先引用后自增,所以y++的值是3。(20)運行以下程序后,如果從鍵盤上輸入6514〈回車》,則輸出結(jié)果為omain(){intm,n;printf("Enterm,n:");scanf("%d%dt.,&m,&n);while(ml-n){

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論