版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2014年計(jì)算機(jī)二級C語言考試上機(jī)沖刺試題及答案5一、選擇題(每小題1分,共40小題,共40分)1.冒泡排序在最壞情況下的比較次數(shù)是( )。A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/22.下列敘述中正確的是( )。A.有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)B.只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)C.循環(huán)鏈表是非線性結(jié)構(gòu)D.雙向鏈表是非線性結(jié)構(gòu)3.某二叉樹共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有l(wèi)個(gè),則該二叉樹的深度為(假設(shè)根結(jié)點(diǎn)在第1層)( )。A.3B.4C.6D.74.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是( )。A.軟件集成測試計(jì)劃B.軟件詳細(xì)設(shè)計(jì)說明書C.用戶
2、手冊D.軟件需求規(guī)格說明書5.結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括( )。A.順序結(jié)構(gòu)B.GOT0跳轉(zhuǎn)C.選擇(分支)結(jié)構(gòu)D.重復(fù)(循環(huán))結(jié)構(gòu)6.下面描述中錯(cuò)誤的是( )。A.系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì)B.軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過程C.數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一D.PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具7.負(fù)責(zé)數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是( )。A.數(shù)據(jù)定義語言B.數(shù)據(jù)管理語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言8.一個(gè)教師可講授多門課程,一門課程可由多個(gè)教師講授。則實(shí)體教師和課程間的聯(lián)系是( )。A.1:1聯(lián)系B.1:m聯(lián)系C.m:1聯(lián)系D.m:n聯(lián)系9.有三個(gè)關(guān)系
3、R、S和T如下:由關(guān)系R和S得到關(guān)系T的操作是( )。A.自然連接B.交C.除D.并10.定義無符號整數(shù)類為UInt,下面可以作為類UInt實(shí)例化值的是( )。 D.整數(shù)集合1,2,3,4,511.計(jì)算機(jī)高級語言程序的運(yùn)行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的事( )。A.C語言程序僅可以編譯執(zhí)行B.C語言程序僅可以解釋執(zhí)行C.C語言程序既可以編譯執(zhí)行又可以解釋執(zhí)行D.以上說法都不對12.以下敘述中錯(cuò)誤的是( )。A.C語言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的B.用C語言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行C.通過編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行D.在沒有安裝C語言集成開發(fā)環(huán)境
4、的機(jī)器上不能運(yùn)行C源程序生成的.exe文件13.以下選項(xiàng)中不能用做C程序合法常量的是( )。A.1,234B.123C.123D.“x7G”14.以下選項(xiàng)中可用做C程序合法實(shí)數(shù)的是( )。A.leO B.3.0e0.2 C.E9 15.若有定義語句:“int a=3,b=2,c=1;”,以下選項(xiàng)中錯(cuò)誤的賦值表達(dá)式是( )。A.a=(b=4)=3;B.a=b=c+1:C.a=(b=4)+C;D.a=1+(b=c一4);16.有以下程序段:char name20】;int num;scanf(name=%S num=%d,name,&num);當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lili m
5、um=1001后,name的值為( )。A.LiliB.name=LiliC.Lili num=D.name=Lili num=100117.if語句基本形式是:if(表達(dá)式)語句,以下關(guān)于“表達(dá)式”值的敘述中正確的是( )。A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值18.有以下程序:#includemain()int X=011;printf(%dn,+x);程序運(yùn)行后的輸出結(jié)果是( )。A.12B.11C.10D.919.有以下程序:#include,main()int S;scanf(%d,&s);while(sO)switch(s)case l:printf
6、(%d,s+5);case 2:printf(%d,s+4);break;case 3:printf(%d,s+3);default:(%d,s+1);break;scanf(%d,&s);運(yùn)行時(shí),若輸入1 2 3 4 5 0,由輸出結(jié)果是( )。A.6566456B.66656C.66666D.666665620.有以下程序段:int i,n;for(i=0;i=0&si=9)n+;printf(%dn,n);程序運(yùn)行后的輸出結(jié)果是( )。A.0 B.3C.7 D.822.若i和k都是int類型變量,有以下for語句:for(i=0,k=-1;k=1;k+)printf(*n);下面關(guān)于語句
7、執(zhí)行情況的敘述中正確的是( )。A.循環(huán)體執(zhí)行兩次B.循環(huán)體執(zhí)行一次C.循環(huán)體一次也不執(zhí)行D.構(gòu)成無限循環(huán)23.有以下程序:#includemain()char b,C;int i;b=a;c=A;for(i=0;i=a&*c=2)*c=*c=(a-A);c+;main()char s81;gets(s);fun(;)puts(s);當(dāng)執(zhí)行程序時(shí)從鍵盤輸入Hello Beijing,則程序的輸出結(jié)果是( )。A.hello beijingB.Hello BeijingC.HELLO BEIJINGD.hELLO Beijing30.以下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。#
8、include#define N l0void fun(int xN)int i=O;while(i在程序中下劃線處應(yīng)填人的是( )。A.x+iB.&xi+1C.x+(i+)D.&x+i31.有以下程序#includemain()char a3O,b30;scanf(%S,a);gets(b);printf(%sn%sn,a,b);程序運(yùn)行時(shí)若輸入:how are you? I am fine則輸出結(jié)果是( )。A.how are you? I am fineB.how are you?I am fineC.how are you?I am fineD.how are you?32.設(shè)有如下函
9、數(shù)定義:int fun(int k)if(k1)return 0;else if(k= =l)return l;else return fun(k-1)+1:若執(zhí)行調(diào)用語句:“n=fun(3);”,則函數(shù)fun總共被訶用的次數(shù)是( )。A.2B.3C.4D.533.有以下程序:#includeint fun(int X,int y)if(X!=y)return(x+y)/2);else return(x);main()int a=4,b=5,c=6;printf(%d/n,fun(2*a,fun(b,c);程序運(yùn)行后的輸入結(jié)果是( )。A.3B.6C.8D.1234.有以下程序:#includ
10、eint fun()static int x=1;X*=2:return x;main() int i,S=1;for(i=1;ix);printf(%dn,+(p-y);程序運(yùn)行后的輸出結(jié)果是( )。A.1,2B.4,1C.3,4D.2,338.有以下程序:#includestruct Sint a,b;)data2=10,100,20,200);main()struet S p=datal;printf(%dn,+(p.a);程序運(yùn)行后的輸出結(jié)果是( )。A.10B.11C.20D.2139.有以下程序:#includemain()unsigned char a=8,C;C=a3:prin
11、tf(%dn,c);程序運(yùn)行后的輸出結(jié)果是( )。A.32 B.16 C.1 D.040.設(shè)fp已定義,執(zhí)行語句“fp=fopen(file,w);”后,以下針對文本文件file操作敘述的選項(xiàng)中正確的是( )。A.寫操作結(jié)束后可以從頭開始讀B.只能寫不能讀C.可以在原有內(nèi)容后追加寫D.可以隨意讀和寫二、基本操作題(共18分)請補(bǔ)充函數(shù)proc(),函數(shù)proc()的功能是求7的階乘。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的橫線上填入所編寫的若干表達(dá)式或語句。試題程序:#includelong proc(int n)if( 【1】 )ret
12、urn(n*proc( 【2】 );else if(【3】)return l;void main()int k=7:printf(%d!=%ldn,k,proc(k);三、程序改錯(cuò)題(共24分)下列給定的程序中,函數(shù)proc()的功能是:用選擇法對數(shù)組中的m個(gè)元素按從小到大的順序進(jìn)行排序。例如,排序前的數(shù)據(jù)為:11 32-5 2 14則排序后的數(shù)據(jù)為:-5 2 11 14 32請修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include#define M 20void proc(int a,int n)int i,j,
13、t,P;/*found*for(j=0;j p=j;for(i=j;i if(ai p=i;t=ap;a p=aEj3;/*found*ap=t;void main()int arrM=11,32,-5,2,14,i,m=5;printf(排序前的數(shù)據(jù):);for(i=0;i printf(%d,arri);printf(n);proc(arr,m);printf(排序后的順序:);for(i=0;i printf(%d,arri);printf(n);四、程序設(shè)計(jì)題(共18分)請編寫函數(shù)proc(),該函數(shù)的功能是:將放在字符串?dāng)?shù)組中的M個(gè)字符串(每串的長度不超過N),按順序合并組成一個(gè)新的
14、字符串。例如,若字符串?dāng)?shù)組中的M個(gè)字符串為:ABCDBCDEFGCDEFGHI則合并后的字符串內(nèi)容應(yīng)該是ABCDBCDEFGCDEFGHl。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:#include#include#define M 3#define N 20void proc(char arrMN,char*b)void main()char strMN=ABCD,BCDEFG,CDEFGHl),i;char arr100=#;printf(”The strin9:kn”);for(i=0;i pu
15、ts(stri);printf(n);proc(str,arr);printf(The A string:n);printf(%S,arr);printf(nn);參考答案一、選擇題1.C。【解析】對n個(gè)結(jié)點(diǎn)的線性表采用冒泡排序,在最壞情況下,需要經(jīng)過n/2次的從前往后的掃描和n/2次的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2 a2.B?!窘馕觥坑幸粋€(gè)根節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)a3.D。【解析】有一個(gè)葉子節(jié)點(diǎn)而節(jié)點(diǎn)的總個(gè)數(shù)為7,根據(jù)題意,這個(gè)二叉樹的深度為7。4.D?!窘馕觥寇浖枨蠓治鲭A段所生成的說明書為需求規(guī)格說明書。5.B?!窘馕觥拷Y(jié)構(gòu)化程序包含的結(jié)構(gòu)為順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、
16、分支結(jié)構(gòu)。6.A?!窘馕觥寇浖到y(tǒng)的總體結(jié)構(gòu)圖是軟件架構(gòu)設(shè)計(jì)的依據(jù),它并不能支持軟件的詳細(xì)設(shè)計(jì)。7.C。【解析】負(fù)責(zé)數(shù)據(jù)庫中查詢操作的語言是數(shù)據(jù)操作語言。8.D?!窘馕觥坑捎谝粋€(gè)老師能教多門課程,而一門課程也能有多個(gè)老師教,所以是多對多的關(guān)系,也就是m:n的關(guān)系。9.C?!窘馕觥坑蓤D所知,其中,C中只有一個(gè)屬性,是除操作。10.B。【解析】其中A選項(xiàng)是有符號的,C選項(xiàng)是小數(shù),D選項(xiàng)是結(jié)合并不是類的實(shí)例化對象,只有B完全符合。11.A?!窘馕觥拷忉寛?zhí)行是計(jì)算機(jī)語言的一種執(zhí)行方式。由解釋器現(xiàn)場解釋執(zhí)行,不生成目標(biāo)程序。如BASIC便是解釋執(zhí)行。一般解釋執(zhí)行效率較低,低于編譯執(zhí)行。而C程序是經(jīng)過編譯
17、生成目標(biāo)文件然后執(zhí)行的,所以C程序是編譯執(zhí)行。12.D?!窘馕觥縄EXE文件是可執(zhí)行文件,Windows系統(tǒng)都能直接運(yùn)行EXE文件,而不需要安裝C語言集成開發(fā)環(huán)境。13.A?!窘馕觥緼選項(xiàng)中逗號是一個(gè)操作符。14.A?!窘馕觥緾語言中實(shí)數(shù)的指數(shù)計(jì)數(shù)表示格式為字母e或者E之前必須有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。所以選項(xiàng)A正確。15.A。【解析】由等式的規(guī)則可知,A選項(xiàng)錯(cuò)誤。先對括號的b進(jìn)行等式運(yùn)算,得出b=4,然后計(jì)算得出a=4=3,所以會導(dǎo)致錯(cuò)誤。答案選擇A。16.A?!窘馕觥靠疾楹唵蔚腃程序。由題可知,程序中輸入name的值為Lili,所以輸出的必定是Lili,答案選擇A。17.D。【
18、解析】考查if循環(huán)語句。if(表達(dá)式),其中表達(dá)式是一個(gè)條件,條件中可以是任意的合法的數(shù)值。18.C?!窘馕觥靠疾楹唵蔚腸程序,題目中x=011而輸出函數(shù)中是+x,說明是先加l,所以為l0,答案選擇C。19.A?!窘馕觥扛鶕?jù)題意,當(dāng)s=1時(shí),輸出65;當(dāng)s=2時(shí),輸出6;當(dāng)S=3時(shí),則輸出64;當(dāng)S=4時(shí),輸出5;當(dāng)s=5時(shí),輸出6;當(dāng)s=0時(shí),程序直接退出。所以最后答案為6566456,A選項(xiàng)正確。20.A?!窘馕觥砍绦蛑械膇f循環(huán)是固定地執(zhí)行8次,屬于計(jì)數(shù)器,程序是從中隨機(jī)抽取一個(gè)數(shù),然后對5進(jìn)行求余再輸出,共抽取8個(gè)數(shù)。所以答案為A。21.B?!窘馕觥靠疾楹唵蔚腃程序數(shù)組和循環(huán)。for循
19、環(huán)是指i=0,如果s/3!=0,則i自動加1。if循環(huán)指的是si中的元素大于等于0且小于等于9,則n加l,所以答案為B。22.D?!窘馕觥看祟}考查的是基本的循環(huán),答案為D。23.B?!窘馕觥看祟}考查的是putchar()函數(shù),此函數(shù)是字符輸出函數(shù),并且輸出的是單個(gè)字符。所以答案為B。24.C?!窘馕觥坑深}中給出數(shù)組要給下標(biāo)為6的數(shù)組賦值,其中x6實(shí)際上是第6個(gè)數(shù),下標(biāo)為5,因?yàn)閿?shù)組是從0開始計(jì)算,所以正確的表示方法為C。25.D?!窘馕鰂un()函數(shù)的意思是當(dāng)*s%2= =0的時(shí)候就輸出并且s自加l次,然后判斷。所以可知只有第2和第4個(gè)位置上的才符合要求,所以答案為D。26.C?!窘馕觥恐饕?/p>
20、考查while和getchar函數(shù),getchar函數(shù)是輸入字符函數(shù),while是循環(huán)語句,所以當(dāng)輸入的字符為換行符時(shí)將執(zhí)行。27.D?!窘馕觥恳?yàn)閤!=0,所以下列的循環(huán)不執(zhí)行,只執(zhí)行y+,最后結(jié)果為0。28.C?!窘馕觥看鸢窩的意思是*P指向數(shù)組的第一個(gè)值。29.C。【解析】此程序是進(jìn)行將小寫字母變成大寫操作,所以答案為C。30.A?!窘馕觥砍绦蛑饕菫閿?shù)組賦值。答案為A。31.B。【解析】此題主要考查scanf函數(shù)和gets函數(shù)的區(qū)別。答案為B。32.B?!窘馕觥看祟}考查簡單的循環(huán),當(dāng)執(zhí)行n=fun(3),則函數(shù)fun執(zhí)行3次。33.B?!窘馕觥看祟}考查的是函數(shù)fun(),fun(b,c)=5,然后fun(2*a,5)=fun(8,5)=6。34.D。【解析】函數(shù)fun()是2的次方的運(yùn)算,而s*=fun(),所以答案為64。35.B?!窘馕觥看顺绦蚩疾閹?shù)的宏定義,S(k+j)展開后即4*(k+j)*k+j+1,所以結(jié)果為l43,答案為B。36.C?!窘馕觥拷Y(jié)構(gòu)體不能通過結(jié)構(gòu)體名字整體賦值,通過結(jié)構(gòu)體名.成員名的方式賦值。所以C選項(xiàng)錯(cuò)誤。37
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 愚人節(jié)創(chuàng)意活動策劃(7篇)
- 工程技術(shù)年終工作總結(jié)
- 托幼機(jī)構(gòu)膳食營養(yǎng)培訓(xùn)
- 國防安全知識講座
- 開業(yè)領(lǐng)導(dǎo)致辭稿15篇
- 面向開放場景的增量目標(biāo)檢測方法研究
- 氣化飛灰與煤矸石的預(yù)熱混燃試驗(yàn)研究
- 《艾青詩選》 上課課件
- 建筑與市政工程巡查報(bào)告的編制與反饋機(jī)制
- 餐飲飯店行業(yè)行政后勤工作總結(jié)
- 定額〔2025〕1號文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價(jià)格水平調(diào)整的通知
- 2024年城市軌道交通設(shè)備維保及安全檢查合同3篇
- 電力溝施工組織設(shè)計(jì)-電纜溝
- 【教案】+同一直線上二力的合成(教學(xué)設(shè)計(jì))(人教版2024)八年級物理下冊
- 湖北省武漢市青山區(qū)2023-2024學(xué)年七年級上學(xué)期期末質(zhì)量檢測數(shù)學(xué)試卷(含解析)
- 《高處作業(yè)安全》課件
- 單位往個(gè)人轉(zhuǎn)賬的合同(2篇)
- 春節(jié)后收心安全培訓(xùn)
- 兒童10歲生日-百日宴-滿月酒生日會成長相冊展示(共二篇)
- 2023年高考全國甲卷數(shù)學(xué)(理)試卷【含答案】
- 《繪本閱讀與指導(dǎo)》課程教學(xué)大綱
評論
0/150
提交評論