2015年全國計算機二級考試《C語言》沖刺模擬題(二)答案
1.D。【解析】算法的空間復雜度是指執(zhí)行這個算法所需的存儲空fq。算法所占用的存儲空間包括算法程序所占用的空fq、輸入的初始數(shù)據(jù)所占用的存儲空間、算法執(zhí)行過程中所需要的額外空間。
2.C!窘馕觥拷Y(jié)構化程序設計的原則和方法之一是限制使用GOTO語句,但不是絕對不允許使用。其他三項為結(jié)構化程序設計的原則。
3.A!窘馕觥%既然求余數(shù),運算對象必須是整數(shù)。
4.D。【解析】數(shù)據(jù)的存儲結(jié)構是指數(shù)據(jù)的邏輯結(jié)構在計算機存儲空間中的存放形式。一種數(shù)據(jù)結(jié)構可以根據(jù)需要采用不同的存儲結(jié)構,存儲結(jié)構有順序和鏈式兩種。不同的存儲結(jié)構,其處理的效率不同。
5.D!窘馕觥克^的后序遍歷是指,首先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點,并且在遍歷左、右樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點。因此,后序遍歷二叉樹的過程也是一個遞歸過程。
6.C。【解析】面向?qū)ο蟮脑O計方法的基本原理是使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題。它雖強調(diào)模擬現(xiàn)實世界中的概念但不強調(diào)算法,但是它鼓勵開發(fā)者在軟件開發(fā)的過程中從應用領域的概念角度去思考。
7.D!窘馕觥课募到y(tǒng)所管理的數(shù)據(jù)文件基本上是分散、相互獨立的。相對于數(shù)據(jù)庫系統(tǒng),以此為基礎的數(shù)據(jù)處理存在3個缺點:數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的依賴性強。
8.D!窘馕觥窟x項A,可以用for循環(huán)代替;選項B,不滿足條件時即條件的邏輯值為假(0)時退出,break也可以;選項C,while(條件),條件為真時進行循環(huán),為假(0)時退出。
9.A!窘馕觥寇浖C的表現(xiàn)包括:①對軟件開發(fā)的進度和費用估計不準確;②用戶對已完成的軟件系統(tǒng)不滿意的現(xiàn)象時常發(fā)生;③軟件產(chǎn)品的質(zhì)量往往靠不住;④軟件常常是不可維護的;⑤軟件通常沒有適當?shù)奈臋n;⑥軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升;⑦軟件開發(fā)生產(chǎn)率提高的速度遠遠跟不上計算機應用迅速普及深入的趨勢。
10.C!窘馕觥繉ο蟮姆庋b性是指從外面看只能看到對象的外部特性,而對象的內(nèi)部,其處理能力的實行和內(nèi)部狀態(tài)對外本來就是不可見的、隱蔽的。
11.C。【解析】數(shù)據(jù)庫系統(tǒng)由如下5個部分組成:數(shù)據(jù)庫(DB)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、數(shù)據(jù)庫管理員(人員)、系統(tǒng)平臺之一——硬件平臺(硬件)、系統(tǒng)平臺之二一一軟件平臺(軟件)。其中DB(DataBase)即數(shù)據(jù)庫,是統(tǒng)一管理的相關數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫管理系統(tǒng),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應用完程序提供訪問DB的方法。由以上可知,選項C為正確答案。
12.A!窘馕觥繕俗R符是由字母、數(shù)字或下劃線組成,并且它的第一個字符必須是字母或者下劃線。B選項int不是表達變量類型的標識符,它不能再用作變量名和函數(shù)名。C選項do是C語言的一個關鍵字。D選項標識符不符合只能以字母或下劃線開始的要求。
13.D。【解析】||和&&的優(yōu)先級高于+和-,||和&&的優(yōu)先級相等,且是左結(jié)合的,就是從左邊開始結(jié)合到右邊。按照這個規(guī)則,正確選項為D。
14.C。【解析】本題考查printf函數(shù)的格式。第1個printf函數(shù),格式說明的個數(shù)是2,而輸出項的個數(shù)是3,所以對于多余的輸出項k不予輸出;第2個printf函數(shù),有2個%說明,第1個%后面的字符要原樣輸出。“%x”和“%o”分別表示以十六進制和八進制無符合型輸出整型數(shù)據(jù)(不帶前導0x或0)
15.A!窘馕觥客ㄟ^地址來引用數(shù)組元素的方法有下列5種:①a[i][j];②*(a[i]+j);③*(*(a+i)+j);④*(a[i][j]);⑤(&a[0][0]4-3*i+j)。故A正確。
16.D。【解析】在x=2,y=x4-3/2中,3/2=1,2 4-1=3,因此表達式的值為3,因為x、y為double型變量,故選擇D選項。
17.C。【解析】選項A、B的空間不夠;選項D中字符串存儲要有結(jié)束符ˊ\0ˊ,且要占用一個空間,printf用來輸出字符,不能輸入字符串。
18.D!窘馕觥勘绢}考查自增運算符“++”、邏輯與運算符“&&”和邏輯或運算符“||”。自增運算符“++”出現(xiàn)在變量之前,表示先使變量的值加1,再使用變量的值進行運算;出現(xiàn)在變量之后,表示先使用變量的值進行運算,再使用變量的值加1。當邏輯與運算符“&&”兩邊的運算對象都為真時,邏輯表達式的值才為真;當邏輯或運算符“||”只要一個值為1,值就為1。根據(jù)運算符的優(yōu)先級,題中應先計算內(nèi)層括號中的值。++j是先自加后運算,因此運算時j的值等于3,所以表達式++j=3成立,即表達式的值為1:1與任何數(shù)都為進行或(1 I)運算,結(jié)果都為1,因此k=3的表達式i++是先運算后自加,因此運算時i為1,所以j++=1成立,自加1后i=2。if語句的條件為真即“1”,所以輸出i、j、k的值分別是2,3,3。
19.B!窘馕觥縮canf(''%d,%d'',&a,&b);//a=3,b=4s=a;//s=3if(s=b)//此處先將b(b=4賦給s,則s=4 s=b返回值為4s*=s://s=s*s=16因此輸出結(jié)果為16。正確答案為B。
20.C!窘馕觥恐挥挟3個if條件同時成立,即能夠同時被2、3、7整除時,才輸出i的值,而從0到50能夠同時被2、3、7整除的數(shù)只有42,故選擇c選項。21.C!窘馕觥考摧敵鰔[0][2]x[l][1]x[2][0]分別為3 5 7。
22.A!窘馕觥吭诔绦蛘Z句中,k的初始值為5,進行第1次while循環(huán)后,k自減1為4,非0,執(zhí)行循環(huán)體里的printf語句,輸出k,此時k的值變?yōu)?。程序執(zhí)行第2次循環(huán)時,k自減1變?yōu)?,為假,退出while循環(huán)語句。所以程序的最后結(jié)果為1。
23.C!窘馕觥亢瘮(shù)fun(int x,int y)的功能是返回x+y的值。在主函數(shù)中,變量a、b、c的初始值分別為1、2、3。因此,逗號表達式“a++,b++,a+b”的值等于5,表達式c++的值為3,調(diào)用于函數(shù)的表達式為“fun(5,3);”,其返回值等于8。
24.A!窘馕觥慨攛為1時,執(zhí)行case 1,a自加等于l,因為case l后沒有break,接著執(zhí)行CaSe 2,此時a的值為2,b自加為1,故選擇A選項。
25.B!窘馕觥縎SEEK_SET代表文件的開始,SEEK_END代表文件末尾,SEEK_CUR代表文件當前位置。
26.B!窘馕觥吭诘1次外層for循環(huán)中,首先x++得到x=1。進入到內(nèi)層for循環(huán),只有循環(huán)j的值為奇數(shù)時,變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量x的值自加兩次,當退出內(nèi)層for循環(huán)時,x=3,然后執(zhí)行x++,得到x=4。在進入執(zhí)行第2次外層for循環(huán)中,首先x++得到x=5。進入到內(nèi)層for循環(huán),只有循環(huán)變量j的值為奇數(shù)時,變量X的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量x的值自加1兩次,當退出內(nèi)層for循環(huán)時,x=7,然后執(zhí)行x++,得到x=8,所以打印輸出變量X的值為8。
27.C。
28.C!窘馕觥吭趂or循環(huán)語句中自變量i從0開始,每次自加2,執(zhí)行s+一*(t+i)語句,因為C語言規(guī)定數(shù)組名做表達式相當于數(shù)組的首地址,也就是第一個元素的地址。因此,*(t+i)代表數(shù)組的第i+1個元素,所以程序運行的結(jié)果是1+3+5+7+9=25,即變量S的值等于25。
29.A!窘馕觥勘绢}在函數(shù)int fun(int n)的定義中又出現(xiàn)了對函數(shù)fun的調(diào)用,所以函數(shù)fun是遞歸函數(shù)。因而在主函數(shù)中調(diào)用x=fun(x)時,當輸入10賦給變量x時,遞歸調(diào)用的過程為
fun(10)=l0+fun(9)=10+9+fun(8)=10+9+8+fun(7)
=10+9++8+7+fun(6)=10+9++8+7+6+fun(5)
=10+9++8+7+6+5+fun(4)
=l0+9++8+7+6+5+4+fun(3)
=10+9++8+7+6+5+4+3+fun(2)
=10+9++8+7+6+5+4+3+2+fun(1)
=10+9++8+7+6+5+4+3+2+l+fun(0)
=10+9++8+7+6+5+4+3+2+1=55
30.C!窘馕觥吭诤瘮(shù)int fun(int x[],int n)的定義中,變量sum為一個靜態(tài)局部變量。由于在整個程序運行期間,靜態(tài)局部變量在內(nèi)存中的靜態(tài)存儲中占據(jù)著永久的存儲單元。函數(shù)intfun(int x[],int n)的功能是求出數(shù)組x[]各個元素的和,所以在主函數(shù)中,調(diào)用函數(shù)fun(a,5)后,變量sum=1+2+3+4+5=15,當再次調(diào)用fun(b,4)后,變量sum=15+6+7+8+9=45,所以s=15+45=60。
31.D。【解析】執(zhí)行第一次for循環(huán)時,用表達式p[i][j]!= ˊ\0ˊ來判斷字符串數(shù)組指針P是否到達字符串的結(jié)尾,如果沒有到達,繼續(xù)執(zhí)行while中的語句。if語句表示(P[i][j]- ˊ\0ˊ)除2的余數(shù)不為0時,即字符串所有奇數(shù)執(zhí)行后面的語句。所以退出第1次for的循環(huán)體時,輸出為397,執(zhí)行第2次循環(huán)體。對字符串“2584”進行處理,輸出結(jié)果為5,因而最后輸出結(jié)果為3975。
32.B。【解析】從題目中可知,ˊ\O ˊ、ˊ\t ˊ、'ˊ\\ˊ分別為一個字符,而sizeof是求字節(jié)個數(shù)的函數(shù),其中包括ˊ\0 ˊ占的字節(jié),strlen函數(shù)是求數(shù)組長度的函數(shù),其以ˊ\0ˊ結(jié)束,因此strlen的值為5,sizeof的值為20。
33.C。【解析】數(shù)組的下標是從0開始的,選項A中越界,行下標和列下標都不能越界;選項B中,雖然是個地址,但是也同樣越界了;選項C中表示的是第一個的首地址;選項D表示的是其元素的值,并不是地址。
34.D。【解析】由題目中線性鏈表的定義可知,要將q和r所指的結(jié)點交換前后位置,只要使q指向r的后一個結(jié)點,P指向r結(jié)點,r指向q結(jié)點即可。而在選項D中,r->next=q,這時r指向的節(jié)點為q;p->next=r,這時P指向的節(jié)點為r;q->next=r->next,因為r結(jié)點已經(jīng)指向q,所以執(zhí)行這個語句后q又指向q,所以選項D不正確。
35.D!窘馕觥
36.B!窘馕觥恐羔樦写娣诺氖亲兞康牡刂,指針也可以進行增減運算,這時指針移動的最小單位是一個存儲單元,而不是一個字節(jié)。所以題中“P+6”指的是將指針向后移動了6個存儲單元,即指向uE63,存放的是b[6]的地址。
37.D!窘馕觥坑蒼!的數(shù)字定義可知n!=n*(n-1)*(n 2)*…*1。在選項A中,由于f的初值為0,在for循環(huán)語句中,f依次乘以1,2,3,…,n,最后計算得到f=n!=0,所以選項A不正確。在選項B中,f的初值為1,在for循環(huán)語句中,f依次乘以1,2,3,…,(n-1),最后計算得到f=(n-1)!,所以選項B不正確。在選項C中,f的初值為l,在for循環(huán)語句中,f依次乘以n,n+1,n+2,…,所以選項C不正確。在選項D中,f的初值為1,在for循環(huán)語句中,f依次乘以n,n-1,n-2,…,2,最后計算得到f=n!,所以選項D正確。
38.A!窘馕觥縮trcpy實現(xiàn)的功能是復制,該操作把are復制到a中,a[o][3]= ˊ&ˊ,且strcpy(a[1],″you″)把you復制到a[1]中,故輸出a為“are&you”。
39.A。【解析】本題主要考查按位與運算,x=011050的二進制形式為00010010000101000,01252的二進制形式為0000001010101010,兩者相與得0000001000101000。
40.D!窘馕觥(x*1000+0.5)--x移動3位小數(shù),加0.5,也就是小數(shù)第4位加5,若這位大于等于5,則進1到個位。5.16894*1000-)5168.94+0.5->5169.44接下來:(int)(x*1000+0.5)取整變51 69,5169/(double)1000)-)5.169。所以printf(″%f\n″,5.169)結(jié)果是5.16900。因此正確答案為D。
【全國計算機二級考試《C語言》沖刺模擬題二答案】相關文章:
2015年全國計算機二級考試《C語言》沖刺模擬題(一)答案09-12
2015年全國計算機二級考試《C語言》沖刺模擬題(三)答案07-22
2015年全國計算機二級考試《C語言》沖刺模擬題(二)10-31
2015年全國計算機二級考試《C語言》沖刺模擬題(三)08-01
2015年全國計算機二級考試《C語言》沖刺模擬題(五)06-21
2015年全國計算機二級考試《C語言》沖刺模擬題(七)08-15
2015年全國計算機二級考試《C語言》沖刺模擬題(八)09-25