![國家二級(C語言)筆試模擬試卷28(共492題)_第1頁](http://file4.renrendoc.com/view14/M0B/32/05/wKhkGWbL2cyAM4dpAAIPttKCuts371.jpg)
![國家二級(C語言)筆試模擬試卷28(共492題)_第2頁](http://file4.renrendoc.com/view14/M0B/32/05/wKhkGWbL2cyAM4dpAAIPttKCuts3712.jpg)
![國家二級(C語言)筆試模擬試卷28(共492題)_第3頁](http://file4.renrendoc.com/view14/M0B/32/05/wKhkGWbL2cyAM4dpAAIPttKCuts3713.jpg)
![國家二級(C語言)筆試模擬試卷28(共492題)_第4頁](http://file4.renrendoc.com/view14/M0B/32/05/wKhkGWbL2cyAM4dpAAIPttKCuts3714.jpg)
![國家二級(C語言)筆試模擬試卷28(共492題)_第5頁](http://file4.renrendoc.com/view14/M0B/32/05/wKhkGWbL2cyAM4dpAAIPttKCuts3715.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
國家二級(C語言)筆試模擬試卷28(共9套)(共492題)國家二級(C語言)筆試模擬試卷第1套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、下列敘述中錯誤的是()。A、一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)B、數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)的處理效率無關(guān)C、數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)D、數(shù)據(jù)的存儲結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:數(shù)據(jù)的存儲結(jié)構(gòu)分為順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu),一個數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)。順序結(jié)構(gòu)中數(shù)據(jù)元素所占的存儲空間是連續(xù)的,而鏈?zhǔn)酱鎯Y(jié)構(gòu)中,數(shù)據(jù)元素所占的存儲空間不一定是連續(xù)的。數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)。2、下列敘述中錯誤的是()。A、線性表是由n個元素組成的一個有限序列B、線性表是一種線性結(jié)構(gòu)C、線性表的所有結(jié)點(diǎn)有且僅有一個前件和后件D、線性表可以是空表標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:線性表是一種線性結(jié)構(gòu),由n(n≥0)個元素組成,所以線性表可以是空表。但是在線性表中,第一個結(jié)點(diǎn)沒有前件,最后一個結(jié)點(diǎn)沒有后件,其他結(jié)點(diǎn)有且只有一個前件和后件,所以選項(xiàng)C)是錯誤的。3、下列關(guān)于棧的描述中錯誤的是()。A、棧是先進(jìn)先出的線性表B、棧只能順序存儲C、棧具有記憶作用D、對棧的插入與刪除操作中,不需要改變棧底指針標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是限定只能在表的一端進(jìn)行插入和刪除操作的線性表,入棧和出棧都是在棧頂進(jìn)行,它們的操作特點(diǎn)是先進(jìn)后出,因此具有記憶作用。??梢圆捎庙樞虼鎯?,也可以采用鏈?zhǔn)酱鎯Α?、對長度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較的次數(shù)為()。A、125B、n/2C、nD、n+1標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:對線性表進(jìn)行順序查找時(shí),從表中的第一個元素開始,將給定的值與表中逐個元素的關(guān)鍵字進(jìn)行比較,直到兩者相符,查找到所要找的元素為止。在最壞情況下,要查找的元素是表的最后一個元素或查找失敗,這兩種情況都需要將這個元素與表中的所有元素進(jìn)行比較,因此比較次數(shù)為n。5、下列敘述中正確的是()。A、在模塊化程序設(shè)計(jì)中,一個模塊應(yīng)該盡量多的包括與其他模塊聯(lián)系的信息B、在自頂向下、逐步細(xì)化的設(shè)計(jì)過程中,首先應(yīng)設(shè)計(jì)解決問題的第一個細(xì)節(jié)C、在模塊化程序設(shè)計(jì)中,一個模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則D、在程序設(shè)計(jì)過程中,不能同時(shí)采用結(jié)構(gòu)化程序設(shè)計(jì)方法與模塊化程序設(shè)計(jì)方法標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:在模塊化程序設(shè)計(jì)中,模塊之間的聯(lián)系可以通過程序的控制結(jié)構(gòu)來實(shí)現(xiàn),在自頂向下、逐步細(xì)化的設(shè)計(jì)過程中,首先要考慮全局目標(biāo),而不是細(xì)節(jié)。在程序設(shè)計(jì)中模塊化和結(jié)構(gòu)化可以同時(shí)使用,一個模塊的內(nèi)部結(jié)構(gòu)也要符合結(jié)構(gòu)化設(shè)計(jì)原則。6、下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。A、多態(tài)性B、繼承C、封裝性D、模塊化標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:面向?qū)ο笤O(shè)計(jì)方法與面向過程設(shè)計(jì)方法有本質(zhì)的不同,其基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題。其特點(diǎn)包括:分類性、多態(tài)性、封裝性、模塊獨(dú)立性、繼承和多態(tài)性等。模塊化是結(jié)構(gòu)化程序設(shè)計(jì)的特點(diǎn)。7、有下列二叉樹,對此二叉樹中序遍歷的結(jié)果為()。A、BDYEACFXZB、DYBEAFCZXC、ABCDEFXYZD、ABDYECFXZ標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:對二叉樹的中序遍歷是指:首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。在遍歷左、右子樹時(shí),注意依舊按照“左子樹一根結(jié)點(diǎn)一右子樹”的順序。本題的遍歷順序是這樣的:①首先訪問左子樹:BDEY:②在左子樹BDEY中,也按中序遍歷,先訪問左子樹DY;在左子樹DY中,也按中序遍歷,先訪問左子樹,左子樹沒有,則訪問根結(jié)點(diǎn)D,然后訪問右子樹Y;③接著訪問根B,再訪問右子樹E;④訪問左子樹BDEY后,接著訪問根結(jié)點(diǎn)八,接著訪問右子樹CFXZ;⑤右子樹CFXZ的訪問順序同理可得:FCZX。8、下列不屬于軟件工程的3個要素的是()。A、32具B、過程C、方法D、環(huán)境標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:軟件工程包括3個要素,即方法、工具和過程。方法是完成軟件工程項(xiàng)目的技術(shù)手段:工具支持軟件的開發(fā)、管理和文檔生成:過程支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理。9、設(shè)計(jì)軟件結(jié)構(gòu)是在軟件生命周期的()。A、軟件定義期B、軟件開發(fā)期C、軟件維護(hù)期D、以上三個都不是標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:設(shè)計(jì)軟件結(jié)構(gòu)是在軟件概要設(shè)計(jì)階段進(jìn)行的,而概要設(shè)計(jì)屬于軟件開發(fā)期。10、下列工具中為需求分析常用工具的是()。A、PADB、PFDC、N-SD、DFD標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:需求分析常用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判定表。PAD(問題分析圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工具,不是需求分析的工具。二、選擇題(2分)(本題共30題,每題1.0分,共30分。)11、下列敘述中正確的是()。A、C程序由函數(shù)組成B、C程序由主函數(shù)構(gòu)成C、C程序由函數(shù)和過程構(gòu)成D、在C程序中無論是整數(shù)還是實(shí)數(shù),都可以正確無誤的表示出來標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題涉及C語言最基本的兩個知識點(diǎn):①C程序是由函數(shù)構(gòu)成的,有且僅有一個主函數(shù),也可以有其他的函數(shù);②整數(shù)在允許的范圍內(nèi)可以準(zhǔn)確無誤的表示出來,但計(jì)算機(jī)的存儲能力有限,不能表示無限精度的實(shí)數(shù)。12、設(shè)有定義下列:inta=1,b=2,c=3,d=4,m=2,n=2;則表達(dá)式(m=a>B)&&(n=c>D)運(yùn)算后,n的值是()。A、4B、3C、2D、0標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:在邏輯與&&運(yùn)算中,如果第一個操作數(shù)為假,則結(jié)果是假,后面的操作數(shù)不參與運(yùn)算,本題中因?yàn)榈谝粋€操作數(shù)(m=a>B為假,所以第二個操作數(shù)(n=c>d)不參加運(yùn)算,因此n的值不變。13、執(zhí)行下列程序段后,變量a,b,c的值分別是()。intx=5,y=4;inta,b,c;a=(--x==y++)?x:++y;b=++X;C=y;A、a=5,b=5,c=5B、a=4,b=5,c=5C、a=5,b=6,c=5D、a=1,b=5,c=6標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查自加(++)、自減(--)運(yùn)算符的使用?!?+i,--i”,在使用i之前,先使i的值加1或者減1,再使用此時(shí)的表達(dá)式的值參與運(yùn)算:“i++,i--”,先使用此時(shí)的i的值參與運(yùn)算,在使用i之后,再使i的值加1或者減1。對于第1個表達(dá)式--x=4,y++=4。兩者相等,--x==y++為真,所以a=x=4,執(zhí)行完此語句后y的值是5。第2個表達(dá)式b=++x,x的值先加1,然后賦給b,即b=x+1=5第一個表達(dá)式c=y=5。14、下列程序的輸出結(jié)果是()。main(){inta=1,b=2;printf("%d,%d\n",--a,++B);}A、1,2B、1,3C、0,2D、0,3標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題主要考查自加(++)、自減(--)運(yùn)算符的使用。“++i,--i”在使用i之前,先使i的值加1或者減1,然后再使用i此時(shí)的值參與運(yùn)算:“i++,i--”是在使用i參與表達(dá)式運(yùn)算之后,再使i的值加1或者減1。本題中--a和料b是先執(zhí)行a減1和b加1操作,再輸出表達(dá)式的值。15、下列變量聲明合法的是()。A、short.a=1.4e-1;B、doubleb=l+3e2.8;C、longdo=0xfdaL;D、float2_aaa=1e-3;標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:解答本題需了解3個知識點(diǎn):①標(biāo)識符是由字母、數(shù)字或下畫線組成,并且它的第一個字符必須是字母或者下畫線;②do是C語言中的一個關(guān)鍵字,不能再用做變量名和函數(shù)名:③C語言規(guī)定指數(shù)形式的實(shí)型常量e或E后面的指數(shù)必須是整數(shù)。16、在函數(shù)scanf的格式控制中,格式說明的類型與輸入項(xiàng)的類型應(yīng)該對應(yīng)匹配。如果類型不匹配,系統(tǒng)將()。A、不予接收B、并不給出出錯信息,但不能得到正確的數(shù)據(jù)C、能接收到正確輸入D、給出出錯信息,不予接收輸入標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:在scanf函數(shù)的格式控制中,格式說明的類型與輸入項(xiàng)的類型必須一一對應(yīng)匹配,如不匹配將導(dǎo)致數(shù)據(jù)輸入出現(xiàn)錯誤,但是系統(tǒng)并不報(bào)錯。17、若有下列定義(設(shè)int類型變量占2個字節(jié)):floatx=123.4567;則下列語句:printf("x=%5.2f",x);輸出的結(jié)果是()。A、x=123.46B、123.4567C、x=123.4567D、123.46標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查printf函數(shù)的格式?!?5.2f”格式符中的“f”表示以帶小數(shù)點(diǎn)的形式輸出單精度或者雙精度數(shù);“5”表示指定數(shù)據(jù)輸出寬度為5;“.2”表示指定輸出數(shù)據(jù)小數(shù)位占2位數(shù),并對截去的第一位小數(shù)做四舍五入處理。18、下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inti;for(i=1;i<=10;i++){if((i*i>=20)&&(i*i<=100))break;}printf("%d\n",i*i);}A、49B、36C、25D、64標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查汀語句。當(dāng)執(zhí)行到第一個滿足(i*i>=20)&&(i*i<=100)這個條件的i出現(xiàn)時(shí),通過break語句跳出循環(huán),執(zhí)行下列的printf語句。19、若執(zhí)行下列的程序時(shí),從鍵盤上輸入1和2,則輸出結(jié)果是()。#include<stdio.h>main(){inta,b,s;scanf("%d%d",&a,&B);S=a;if(a<B)s=b;s=s*s;printtf("%d\n",s);}A、1B、4C、2D、9標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查if語句。scanf函數(shù)通過鍵盤讀入a、b的值,a=1,b=2。第一個if語句,先判斷條件,發(fā)現(xiàn)a<b條件成立,則s=b=2,s=s*s=4。20、有下列程序:main(){intt,a=1,b=5,C=-2;while(a>b>C){t=a;a=b;b=t;c++;}printf("%d,%d,%d",a,b,C);}程序的輸出結(jié)果是()。A、1,5,0B、1,5,-2C、5,1,-1D、5,1,-2標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查while循環(huán)。先判斷while循環(huán)的控制表達(dá)式是否成立,發(fā)現(xiàn)a>b>c不成立,所以不執(zhí)行循環(huán)。直接輸出a、b、c的值。21、運(yùn)行下列程序,若從鍵盤輸入字母“a”,則輸出結(jié)果是()。Charc;c=getchar();if(c>=’a’&&c<=’g’)c=c+4;elseif(c>=’g’&&c<=’z’)c=c-21;elseprintf("inputerror!\n");putchar(C);A、fB、tC、eD、d標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:首先,getchar函數(shù)通過鍵盤讀入字符’a’,即c=’a’(其實(shí)c得到的是字符a的ASCII碼值),然后判斷if語句的控制條件,發(fā)現(xiàn)’a’>=’a’&&’a’<=’g’成立,則執(zhí)行下列的語句,c=c+4,c得到的是字符e的ASCII碼值,退出if語句,通過putchar函數(shù)輸出字符e。22、在C語言中,函數(shù)調(diào)用時(shí)()。A、實(shí)參和形參各占獨(dú)立的存儲單元B、實(shí)參和形參共用存儲單元C、由系統(tǒng)自動確定實(shí)參和形參是否共用存儲單元D、由用戶指定實(shí)參和形參是否共用存儲單元標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。函數(shù)的形參是函數(shù)定義時(shí)由用戶定義的形式上的變量,實(shí)參是函數(shù)調(diào)用時(shí),主調(diào)函數(shù)為被調(diào)函數(shù)提供的原始數(shù)據(jù)。在函數(shù)調(diào)用時(shí),實(shí)參和其所對應(yīng)的形參分別占用不同的存儲單元,彼此之間不影響。23、下列程序的輸出結(jié)果是()。#include<stdio.h>intb=2;intfunc(int*A){b+=*a;retumb;}main(){inta=1,t=2;t+=func(&A);printf("%d\n",t);}A、4B、5C、6D、8標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在執(zhí)行函數(shù)func時(shí),由于全局定義了一個變量b,所以在函數(shù)體中執(zhí)行時(shí)b=2+1=3,最終t=2+3=5。24、若有定義floata=25,b,*p=&b;,則下列對賦值語句*p=a;和p=&a;的正確解釋為()。A、兩個語句都是將變量a的值賦予變量pB、*p=a是使p指向變量a,而p=&a是將變量a的值賦予變量指針pC、*p=a是將變量a的值賦予變量b,而p=&a是使p指向變量aD、兩個語句都是使p指向變量a標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:“p”是指針變量,指向一個地址:“*p”為p指針?biāo)赶虻刂返膬?nèi)容。25、若有定義血b[8],*p=b;則p+6表示()。A、數(shù)組元素b[6]的值B、數(shù)組元素b[6]的地址C、數(shù)組元素b[7]的地址D、數(shù)組元素b[0]的值加上6標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:指針中存放的是變量的地址,指針也可以進(jìn)行增減運(yùn)算,這時(shí)指針移動的最小單位是一個存儲單元,而不是一個字節(jié)。所以題中將p+6指的是將指針向后移動了6個存儲單元,指向b[6],存放的是b[6]的地址。26、已有定義:chara[]="xyz",b[]={’x’,’y’,’z’};,下列敘述中正確的是()。A、數(shù)組a和b的長度相同B、a數(shù)組長度小于b數(shù)組長度C、a數(shù)組長度大于b數(shù)組長度D、上述三種說法都不對標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:字符數(shù)組a[]中用字符串常量“xyz”進(jìn)行初始化,字符數(shù)組a[]的長度為字符的個數(shù),所以其值為3,并不包括字符串結(jié)束標(biāo)記’\0’;字符串?dāng)?shù)組b[]用3個字符’x’、’y’、’z’來初始化,所以其字符串的長度等于3。27、下列程序的輸出結(jié)果是()。voidf(int*x,int*y){intt;t=*x,*x=*y;*y=t;}main(){inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p<q){f(p,q);p++;q--;}for(i=0;i<8;i+)printf("%d,",a[i]);}A、8,2,3,4,5,6,7,1B、5,6,7,8,1,2,3,4C、1,2,3,4,5,6,7,8D、8,7,6,5,4,3,2,1標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:函數(shù)f()的功能是對兩個數(shù)據(jù)互換。在主函數(shù)中指針變量p和q分別指向數(shù)組a[8]的首和尾,在while循環(huán)中實(shí)現(xiàn)從首尾開始數(shù)組元素的互換操作。28、對兩個數(shù)組a和b進(jìn)行下列初始化:charm[]="1234567";charn[]={’1’,’2’,’3’,’4’,’5’,’6’,’7’};則下列敘述正確的是()。A、數(shù)組m與數(shù)組n完全相同B、數(shù)組m與數(shù)組n長度相同C、數(shù)組m比數(shù)組n長1D、數(shù)組m與數(shù)組n中都存放字符串標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查字符數(shù)組和字符串賦值給數(shù)組的一些區(qū)別。.語句“charm[]="1234567";”定義了一個字符型數(shù)組并進(jìn)行了初始化,C語言規(guī)定,在字符串的末尾自動加上串結(jié)束標(biāo)記’\0’,因此數(shù)組m的長度是8;而數(shù)組n是按照字符方式對數(shù)組進(jìn)行初始化,系統(tǒng)不會自動加上串結(jié)束標(biāo)記’\0’,因此數(shù)組n的長度是7。29、下列程序的輸出結(jié)果是()。#include<stdio.h>main(){chara[]={’a’,’b’,’c’,’d’,’e’,’f’,’\0’};inti,j;i=sizeof(A);j=strlen(A);printf("%d,%d",i,j);}A、7,7B、7,6C、6,6D、6,7標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:sizeof()函數(shù)的功能是返回字符串所占的字節(jié)數(shù),strlen()函數(shù)的功能是返回字符串的長度,其中’\0’是一個轉(zhuǎn)義字符,它占存儲空間,但不計(jì)入串的長度。30、設(shè)變量已正確定義,則下列能正確計(jì)算f=n!的程序段是()。A、f=0;for(i=1;i<=n;i++)f*=i;B、f=1;for(i=1;i<n;i++)f*=i;C、f=1;for(i=n;i>1;i++)f*=i;D、f=1;for(i=n;i>=2;i--)f*=i;標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:要正確計(jì)算函數(shù)f=n!,由n!的數(shù)學(xué)定義可知n!=n*(n-1)*(n-2)*……*1。在選項(xiàng)A中,由于f的初值為0,在for循環(huán)語句中,f依次乘以1,2,3,……,n。最后計(jì)算f=n!=0,所以選項(xiàng)A不正確。在選項(xiàng)B中,f的初值為1,在for循環(huán)語句中,f依次乘以1,2,3,……,(n-1)。最后計(jì)算得到f=(n-1)!,所以選項(xiàng)B不正確。在選項(xiàng)C)中,f的初值為1,在for循環(huán)語句中,f依次乘以n,n+1,n+2,……,所以選項(xiàng)C)不正確。在選項(xiàng)D)中,f的初值為1,在for循環(huán)語句中,f依次乘以n,n-1,n-2,……,2。最后計(jì)算f=n!,所以選項(xiàng)D)正確。31、設(shè)有定義:intnl=0,n2,*p=&n2,*q=&n1;,下列賦值語句中與n2=n1;語句等價(jià)的是()。A、*p=*q;B、p=q;C、*p=&n1;D、p=*q;標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:在定義指針變量p和q時(shí),分別把變量n2和n1的地址賦給了指針變量p和q,所以*p和*q中內(nèi)容就分別是變量n2和n1的值,所以語句*p=*q與語句n2=n1等價(jià)。因此選項(xiàng)A正確。32、設(shè)已包含頭文件<string.h>,下列程序段的運(yùn)行結(jié)果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));A、3B、4C、6D、5標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:頭文件<string.h>是字符串處理函數(shù)對應(yīng)的頭文件,要想調(diào)用C語言的庫函數(shù)時(shí),都要在程序中嵌入該函數(shù)對應(yīng)的頭文件,否則無法使用庫函數(shù)。strcpy(s1,s2)把s2中的字符串復(fù)制到s1中,所以結(jié)果就為s2的長度。33、設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為()。A、EOFB、非0值C、0D、NULL標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:ANSIC提供的feof函數(shù)的功能是判斷fp所指的文件的位置是否已達(dá)到文件尾,如果達(dá)到文件尾,則feof函數(shù)的值為1,否則為0,表示文件尚未結(jié)束。34、下列程序執(zhí)行的輸出結(jié)果是()。#inClude<stdio.h>main(){chara[2][4];strcpy(a,"are");strcpy(a[1],"you");a[0][3]=’&’;printf("%s\n",A);}A、are&youB、youC、areD、&標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:strcpy(a,"are")中數(shù)組名a代表數(shù)組首地址的地址常量,該操作把a(bǔ)re復(fù)制到a中,a[0][3]=’&’,且strcpy(a[1],"you")把you復(fù)制到a[1]中,故輸出a為“are&you”。35、一個源文件中的外部變量的作用域?yàn)?)。A、本文件的全部范圍B、本程序的全部范圍C、本函數(shù)的全部范圍D、從定義該變量的位置開始到本文件結(jié)束標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:一個源文件中的外部變量的作用域是從定義該變量的位置開始到本文件結(jié)束。36、下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>#defineADD(x)x+xmain(){intm=1,n=2,k=3;ints=ADD(m+n)*k;printf("s=%d",s);}A、sum=18B、sum=10C、sum=9D、sum=25標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算:S=m+n+m+n*k=1+2+1+2*3=10。37、當(dāng)說明一個結(jié)構(gòu)體變量時(shí)系統(tǒng)分配給它的內(nèi)存是()。A、各成員所需要內(nèi)存量的總和B、結(jié)構(gòu)中第一個成員所需的內(nèi)存量C、成員中占內(nèi)存最大者所需的容量D、結(jié)構(gòu)中最后一個成員所需要的內(nèi)存量標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題主要考查結(jié)構(gòu)體的內(nèi)存使用:對結(jié)構(gòu)體而言,結(jié)構(gòu)中不同的成員分別使用不同的內(nèi)存空間,一個結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個成員所占內(nèi)存空間大小的總和,結(jié)構(gòu)中每個成員相互獨(dú)立。38、下列語句段中,正確的是()。A、struct{intx;floaty;inta[2];unsignedb[3];charname[10];};B、structstu{unsigneda[3];unsignedb[4];}x;int*p=&x.a;C、structsu{inta;floatx[4];}y={1,1.0};floatdata=y.x;D、stmctnd{inta,b;unsignedc[2]=5;};標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題主要考查的知識點(diǎn)是結(jié)構(gòu)類型的概念和定義,結(jié)構(gòu)定義的一般形式是:struct結(jié)構(gòu)類型名稱{數(shù)據(jù)類型成員名1;數(shù)據(jù)類型成員名2;數(shù)據(jù)類型成員名n;};struct為關(guān)鍵字,是結(jié)構(gòu)的標(biāo)識符;{}中包圍的是組成該結(jié)構(gòu)的成員項(xiàng);每個成員的數(shù)據(jù)類型既可以是簡單的數(shù)據(jù)類型,也可以是復(fù)雜的數(shù)據(jù)類型。整個定義作為一個完整的語句,用分號結(jié)束。結(jié)構(gòu)類型名稱是可以省略的,此時(shí)定義的結(jié)構(gòu)稱為無名結(jié)構(gòu)。39、設(shè)x=011050,則x=x&01252的值是()。A、0000001000101000B、1111110100011001C、0000001011100010D、1100000000101000標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題主要考查按位與運(yùn)算,x=011050的二進(jìn)制形式為0001001000101000,01252的二進(jìn)制形式為0000001010101010,兩者相與得0000001000101000。40、已知函數(shù)fread.的調(diào)用形式為fread(buffer,size,count,fp);,其中buffer代表的是()。A、存放讀入數(shù)據(jù)項(xiàng)的存儲區(qū)B、一個指向所讀文件的文件指針C、一個指針,是指向輸入數(shù)據(jù)存放在內(nèi)存中的起始地址D、一個整型變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:數(shù)據(jù)塊讀取函數(shù)調(diào)用形式:fread(buffer,size,count,fp)。fread函數(shù)參數(shù)說明:“buffer”是一個指針,對fread來說,它是讀入數(shù)據(jù)的存放地址。對fwrite來說,是要輸出數(shù)據(jù)的地址。“size”是要讀寫的字節(jié)數(shù):“count”是要進(jìn)行讀寫多少個size字節(jié)的數(shù)據(jù)項(xiàng);“fp”是指文件型指針。三、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5分。)41、在算法的4個特性中,算法必須能在執(zhí)行有限個步驟之后終止指的是算法的______特性。標(biāo)準(zhǔn)答案:有窮性知識點(diǎn)解析:算法的4個基本特性包括:可靠性、確定性、有窮性和擁有足夠的情報(bào),其中,算法的有窮性指的是算法必須在有限的時(shí)間內(nèi)完成,即算法必須在執(zhí)行有限個步驟之后終止。42、按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。標(biāo)準(zhǔn)答案:線性結(jié)構(gòu)知識點(diǎn)解析:數(shù)據(jù)的邏輯結(jié)構(gòu),是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),常見的線性結(jié)構(gòu)有線性表、棧和隊(duì)列等,常見的非線性結(jié)構(gòu)有樹、二叉樹等。43、棧中允許進(jìn)行插入和刪除的一端叫做______。標(biāo)準(zhǔn)答案:棧頂知識點(diǎn)解析:棧是限定在表的一端進(jìn)行插入和刪除操作的線性表。在表中,允許插入和刪除的一端叫做“棧頂”,不允許插入和刪除的一端叫做“棧底”。44、在面向?qū)ο蟪绦蛟O(shè)計(jì)中,從外面看只能看到對象有外部特征,而不知道也無須知道數(shù)據(jù)的具體結(jié)構(gòu)以及實(shí)現(xiàn)操作的算法,這稱為對象的______。標(biāo)準(zhǔn)答案:封裝性知識點(diǎn)解析:對象具有下列5個基本特點(diǎn):①標(biāo)識唯一性;②分類性;③多態(tài)性;④封裝性;⑤模塊獨(dú)立性好。其中,封裝性是指從外面看只能看到對象的外部特征,對象的內(nèi)部特征即處理能力的實(shí)行和內(nèi)部狀態(tài),對外是不可見的,對象的內(nèi)部狀態(tài)只能由其自身改變。45、軟件工程研究的內(nèi)容主要包括:______技術(shù)和軟件工程管理。標(biāo)準(zhǔn)答案:軟件開發(fā)知識點(diǎn)解析:軟件工程包括軟件開發(fā)技術(shù)和軟件工程管理。其中軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工具環(huán)境,其主體內(nèi)容是軟件開發(fā)方法學(xué):軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué)、軟件心理學(xué)等內(nèi)容。四、填空題(本題共10題,每題1.0分,共10分。)46、表示“整數(shù)x的絕對值大于5”時(shí)值為“假”的C語言表達(dá)式是______。標(biāo)準(zhǔn)答案:(x>-5)&&(x<5)知識點(diǎn)解析:本題考查基本邏輯表達(dá),“整數(shù)x的絕對值大于5”時(shí)值為“假”,即整數(shù)x的絕對值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語言表達(dá)式為:(x>-5)&&(x<5)。47、設(shè)y為血型變量,請寫出描述“y是偶數(shù)”的表達(dá)式_____。標(biāo)準(zhǔn)答案:(y%2)==0知識點(diǎn)解析:因符合偶數(shù)的條件是對2取余為0,所以要描述y是偶數(shù)的表達(dá)式是(y%2)==0。48、下列程序的運(yùn)行結(jié)果是_______。main(){intx=1,y=2,z=3;printf("%d,",x<y?y:x);primf("%d,",z<y?x++:y++);primf("%d,%d",x,y);}標(biāo)準(zhǔn)答案:2,2,1,3知識點(diǎn)解析:本題考查++,--運(yùn)算符和條件運(yùn)算符的使用?!氨磉_(dá)式1?表達(dá)式2:表達(dá)式3”的功能是:表達(dá)式1的值若非0,則計(jì)算表達(dá)式2的值,且表達(dá)式2的值為最終結(jié)果;若表達(dá)式1的值為0,則計(jì)算表達(dá)式3的值,且為最終結(jié)果。本題中,x=1,y=2時(shí),x<y成立,輸出y的值2;y=2,z=3時(shí),z<y不成立,執(zhí)行y++,輸出2后y值增1,所以最后一個輸出x的值不變?yōu)?,y的值為增加后的3。49、下列程序段中循環(huán)體的執(zhí)行次數(shù)是______。a=15;b=0do{b+=2;a-=2+b;}while(a>=0);標(biāo)準(zhǔn)答案:3知識點(diǎn)解析:本題考查do…while語句形式:do循環(huán)體while表達(dá)式首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語句,否則退出循環(huán)。第1次循環(huán):b+=2,b=2,a-=2+b,a=11:第2次循環(huán);b=4,a=5;第3次循環(huán):b=6,a=-3,此時(shí)再判斷循環(huán)條件不滿足,退出循環(huán)。50、語句“int(*ptr)();”的含義是______是指向函數(shù)的指針,該函數(shù)返回一個血型數(shù)據(jù)。標(biāo)準(zhǔn)答案:ptr知識點(diǎn)解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類型標(biāo)識符(葉旨針變量名)()。注:“類型標(biāo)識符”為函數(shù)返回值的類型。51、下列程序的輸出結(jié)果是______。#include<stdio.h>intt(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;}main(){inta=1,b=8,c=7,d=9;t(a,b,c,D);primf("%d,%d%d\n",c,D);}標(biāo)準(zhǔn)答案:79知識點(diǎn)解析:因?yàn)樵谡{(diào)用子函數(shù)時(shí)進(jìn)行的是數(shù)值傳遞,調(diào)用子函數(shù)并不能改變實(shí)參的值,所以經(jīng)過調(diào)用子函數(shù),c、d的值并沒有發(fā)生變化還是原來的值。52、\13’在內(nèi)存中占1個字節(jié),"\12"在內(nèi)存中占______個字節(jié)。標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:’\13’:表示八進(jìn)制數(shù)13表示的ASCII字符,是一個字符,占一個字節(jié);而"\12"是個字符串,除了八進(jìn)制數(shù)12表示的ASCII字符占一個字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“’\0’”,所以共有兩個字節(jié)。53、#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為______。標(biāo)準(zhǔn)答案:從定義到本源文件結(jié)束知識點(diǎn)解析:C語言規(guī)定,宏名的有效范圍為從定義宏到本源程序結(jié)束。54、下列程序段的運(yùn)行結(jié)果是______。charstr[]="ABCD",*p=str;printf("%d\n",*(p+3));標(biāo)準(zhǔn)答案:68知識點(diǎn)解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時(shí)是以“%d”格式輸出的,即輸出其相應(yīng)ASCII碼值68。55、下列程序中的數(shù)組a包括10個整數(shù)元素,分別將前項(xiàng)和后項(xiàng)之和存入數(shù)組b,并按每行4個元素輸出數(shù)組bo請?zhí)羁铡?include<stdio.h>main(){inta[10],b[10],i;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++)______;for(i=0;i<9;i++){if(i%4==0)printf("\n");printf("%3d",b[i]);}}標(biāo)準(zhǔn)答案:b[i]=a[i]+a[i+1]知識點(diǎn)解析:將數(shù)組a中元素a[i]與a[i+1]值相加后的值賦予數(shù)組b中元素b[i],即可實(shí)現(xiàn)將一個數(shù)組的前項(xiàng)和后項(xiàng)之和存入另一數(shù)組。國家二級(C語言)筆試模擬試卷第2套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、在計(jì)算機(jī)中,算法是指______。A、查詢方法B、加工方法C、解題方案的準(zhǔn)確而完整的描述D、排序方法標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:計(jì)算機(jī)算法是指解題方案的準(zhǔn)確而完整的描述,它有以下幾個基本特征:可行性、確定性、有窮性和擁有足夠的情報(bào)。2、棧和隊(duì)列的共同點(diǎn)是______。A、都是先進(jìn)后出B、都是先進(jìn)先出C、只允許在端點(diǎn)處插入和刪除元素D、沒有共同點(diǎn)標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:棧和隊(duì)列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧是一種“后進(jìn)先出”的線性表;而隊(duì)列是一種“先進(jìn)先出”的線性表。3、已知二叉樹BT的后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是______。A、cedbaB、acbedC、decabD、deabc標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:二叉樹BT的后序遍歷序列為dabec,故BT的根結(jié)點(diǎn)為C;而BT的中序遍歷序列是debac,即遍歷序列中最后一個結(jié)點(diǎn)為跟結(jié)點(diǎn),說明BT的右子樹為空。由BT的后序遍歷序列和中序遍歷序列可知BT的左子樹(LST)的后序遍歷序列和中序遍歷序列分別為dabe和deba(樹是遞歸定義的):故LST的根結(jié)點(diǎn)是e,在由LST的中序遍歷序列可知其左子樹為d。因此BT的前序遍歷序列為cedba。4、在下列幾種排序方法中,要求內(nèi)存量最大的是______。A、插入排序B、選擇排序C、快速排序D、歸并排序標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:快速排序的基本思想是,通過一趟排序?qū)⒋判蛴涗浄指畛瑟?dú)立的兩部分,其中一部分記錄的關(guān)鍵字均比另一部分記錄的關(guān)鍵字小,再分別對這兩部分記錄繼續(xù)進(jìn)行排序,以達(dá)到整個序列有序;插入排序的基本操作是指將無序序列中的各元素依次插入到已經(jīng)有序的線性表中,從而得到一個新的序列;選擇排序的基本思想是:掃描整個線性表,從中選出最小的元素,將它交換到表的最前面(這是它應(yīng)有的位置),然后對剩下的子表采用同樣的方法,直到表空為止;歸并排序是將兩個或兩個以上的有序表組合成一個新的有序表。5、在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是______。A、程序結(jié)構(gòu)應(yīng)有助于讀者理解B、不限制goto語句的使用C、減少或取消注解行D、程序越短越好標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:濫用goto語句將使程序流程無規(guī)律,可讀性差:添加的注解行有利于對程序的理解,不應(yīng)減少或取消;程序的長短要依照實(shí)際需要而定,并不是越短越好。6、下列不屬于軟件調(diào)試技術(shù)的是______。A、強(qiáng)行排錯法B、集成測試法C、回溯法D、原因排除法標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:調(diào)試的關(guān)鍵在于推斷程序內(nèi)部的錯誤位置及原因。主要的調(diào)試方法有強(qiáng)行排錯法、回溯法和原因排除法。7、下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是______。A、便于用戶、開發(fā)人員進(jìn)行理解和交流B、反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)C、作為確認(rèn)測試和驗(yàn)收的依據(jù)D、便于開發(fā)人員進(jìn)行需求分析標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。它不能方便開發(fā)人員進(jìn)行需求分析。8、在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示______。A、控制程序的執(zhí)行順序B、模塊之間的調(diào)用關(guān)系C、數(shù)據(jù)的流向D、程序的組成成分標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外音陜體流向系統(tǒng)或從系統(tǒng)流向外部實(shí)體。9、SQL語言又稱為______。A、結(jié)構(gòu)化定義語言B、結(jié)構(gòu)化控制語言C、結(jié)構(gòu)化查詢語言D、結(jié)構(gòu)化操縱語言標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:結(jié)構(gòu)化查詢語言(StructuredQueryLanguage,簡稱SQL)是集數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制功能于一體的數(shù)據(jù)庫語言。10、視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)的是______。A、自頂向下B、由外向內(nèi)C、由內(nèi)向外D、自底向上標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,它們分別是自頂向下、自底向上和由內(nèi)向外,它們又為視圖設(shè)計(jì)提供了具體的操作方法,設(shè)計(jì)者可根據(jù)實(shí)際情況靈活掌握,可以單獨(dú)使用也可混合使用。二、選擇題(1分)(本題共10題,每題1.0分,共10分。)11、能將高級語言程序轉(zhuǎn)換成目標(biāo)語言程序的是______。A、調(diào)試程序B、解釋程序C、編譯程序D、編輯程序標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:用高級語言編寫的程序稱為“源程序”,而計(jì)算機(jī)只能識別和執(zhí)行由0和1組成的二進(jìn)制指令,所以高級語言必須先用—種稱為“編譯程序”的軟件,把源程序翻譯成二進(jìn)制形式的“目標(biāo)程序”。12、是構(gòu)成C語言程序的基本單位。A、函數(shù)B、過程C、子程序D、子例程標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:C程序是由函數(shù)構(gòu)成的。一個C源程序至少包含一個main函數(shù),也可以包含一個main函數(shù)和若干個其他函數(shù),因此,函數(shù)是C程序的基本單位。13、可以在C語言中用做用戶標(biāo)識符的是______。A、voiddefineWORDB、as_b3_123IfC、for-abccasD、2cDoSIG標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:C語言規(guī)定,標(biāo)識符只能由字母、數(shù)字和下劃線三種符號組成,而且第一個字符必須是字母或下劃線。另外還需要注意的是關(guān)鍵字不能作標(biāo)識符。選項(xiàng)A中void,C中for都為關(guān)鍵字,D中2c以字母開頭。14、下面語句的輸出結(jié)果是______。printf("%d\n",strlen("\t\"\065\xff\n"));A、14B、8C、5D、輸出項(xiàng)不合法,無正常輸出標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:在C語言中,以“\”開頭的字符均為轉(zhuǎn)義字符,其中“\”后可跟1~3位八進(jìn)制數(shù)或在“\”后跟字母x及1~2位十六進(jìn)制數(shù),以此來代表一個特定的字符。15、下列程序的輸出結(jié)果是______。#defineA100main(){inti=0,sum=0;do{if(i==(i/2)*2)continue;sum+=i;}while(++i<A);printf("%d\n",sum);}A、2500B、2050C、4D、0標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:本題程序的功能是求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。16、下列程序的輸出結(jié)果是______。main(){inti=3;switch(i){case1:casc2:printf(("%d",i);case3:case4:break;defanlt:printf("OK");}}A、0B、3C、OKD、沒有任何輸出標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:在題中,i的值為3,由于“case3:”后面沒有break語句,所以繼續(xù)向下執(zhí)行“case4:”后面的語句,由于“case4:”后面的語句為break強(qiáng)行退出switch語句,所以,本題沒有任何輸出。17、出下列程序執(zhí)行后的輸出結(jié)果是______。mare(){intm[][3]={1,4,7,2,5,8,3,6,9};inti,k=2;for(i]0;i<3;i++){printf(("%d",m[k][i]);}}A、456B、258C、369D、789標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:根據(jù)二維數(shù)組的定義得出:m[0][0]=1,m[0][1]=4,m[0][2]=7,m[1][0]=2,m[1][1]=5,m[1][2]=8,m[2][0]=3,m[2][1]=6,m[2][2]=9,所以本題的輸出是第3行的值m[2][0],m[2][0],m[2][2],即369。18、已知字母A的ASCII碼值是65,字母a的ASCII碼值是97,以下程序______。main(){chara=’A’;intb=20;printf(%d,%0",(a=a+a,a+b,B),a+’a’-’A’,B);}A、表達(dá)式非法,輸出零或不確定值B、因輸出項(xiàng)過多,無輸出或輸出不確定值C、輸出結(jié)果為20,141D、輸出結(jié)果為20,141,20標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:本題中首先輸出逗號表達(dá)式“a=a+a,a+b,b”的值,即20。然后以八進(jìn)制的形式輸出a+’a’-A’的值為97對應(yīng)的八進(jìn)制數(shù)141,由于最后一個表達(dá)式b沒有對應(yīng)輸出格式的輸出項(xiàng)表列就不會輸出。19、下列程序執(zhí)行后輸出的結(jié)果是______。intd=1;fun(intp){intd=5;d+=p++;printf("%d,",D);}main(){inta=3;fun(A);d+=a++;printf("%d\n",D);}A、8,12B、9,13C、8,4D、9,5標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:本題執(zhí)行過程如下首先調(diào)用fun函數(shù),使得實(shí)參a的值3傳遞給形參p,得到局部變量d=8,打印出局部變量d的值8;返回主函數(shù)執(zhí)行“d+=a++”,此處的d為全局變量,所以d=1+3=4(由于本題是值傳遞,所以在函數(shù)fun中對p值的改變并不能引起a的改變),故本題的輸出是8,4。20、已知下面的程序段,正確的判斷是______。#defineA3#defineB(A)((A+1)*A)……inta=3;X=3*(A+B(7));A、程序錯誤,不允許嵌套定義B、X=93C、X=81D、程序錯誤,宏定義不允許有參數(shù)標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:本題的宏定義是合法的,宏定義展開為3*(3+((A+1)*a))=3*(3+((7+1)*3))=81。三、選擇題(2分)(本題共20題,每題1.0分,共20分。)21、有以下程序:#include<stdio.h>main(){charc[6];inti=0;for(;i<6;c[i]=getchar(),i++);for(i=0;i<6;i++)putchar(c[i]);printf("\n");}如果從鍵盤上輸入:ab<回車>c<回車>def<回車>則輸出結(jié)果為______。A、abcdefB、abcdC、abcdD、abcdef標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:1.getchar():此函數(shù)的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個字符。2.putchar():此函數(shù)的作用是向終端輸出一個字符,也可以輸出控制字符。本題在輸入字符時(shí),ab和c后面的回車符分別賦給了c[2]和c[4],所以,正確答案為C。22、在調(diào)用函數(shù)時(shí),如果實(shí)參是簡單變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是______。A、地址傳遞B、單向值傳遞C、由實(shí)參傳遞給形參,再由形參傳遞給實(shí)參D、傳遞方式由用戶指定標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:語言規(guī)定,實(shí)參變量對形參變量的數(shù)據(jù)傳遞是“單向值傳遞”,只由實(shí)參傳給形參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。調(diào)用結(jié)束后,實(shí)參單元仍保留并維持原值。23、以下程序#include<stdio.h>#include<string.h>main(){char*p1="abc",*p2="ABC",str[50]="xyz";strcpy(str+2,strcat(p1,p2));printf("%ss\n",str);}的輸出是______。A、xyzabcABCB、zabcABCC、yzbcABCD、xyabcABC標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:strcat(p1,p2)將字符串a(chǎn)bcABC放到了*p1所指向的存儲單元中;strcpy在本題將abcABC復(fù)制到str+2所指向的存儲單元中,即覆蓋原str數(shù)組中的字符z及其后的所有字符,故str的值為“xyabcABC”。24、下面程序main(){intx=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!ok1)x=1:elseif(ok2)x=10;x=-1;printf("%d\n",x);}的輸出是______。A、-1B、0C、1D、不確定的值標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:第一個判斷值為真,過渡到下一個判斷,第二個判斷為真,過渡到第三個判斷…如此循環(huán),在打印輸出語句的前一行,程序給變量x賦了值,為-1,所以,無論前期如伺變化,最后的x值依然為-1。25、下面程序main(){intx=32;printf("%d\n",x=x<<1);}的輸出是______。A、100B、160C、120D、64標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:<<是C語言中規(guī)定的左移運(yùn)算符,例如,a=a<<2,這個語句即是將a的二進(jìn)制數(shù)左移兩位,左移一位相當(dāng)于該數(shù)乘于2,左移兩位相當(dāng)于該數(shù)乘以2的2次方。所以,x<<1=32*2=64。26、以下程序的輸出結(jié)果是______。#include<stdio.h>#defineFUDGE(y)2.84+y#definePR(a)printf("%d\n",(int)(a))#definePRINT1(a)PR(a);putchar(’\n’)main(){intx=2;PRINT1(FUDGE(5)*x);}A、11B、12C、13D、15標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:在程序中如果有帶實(shí)參的宏,則按#define命令行中指定的字符串從左到右進(jìn)行置換,如果串中包含宏中的形參,則將程序語句中相應(yīng)的實(shí)參代替形參。將實(shí)參帶入已經(jīng)定義的宏中,可以得出答案為“12”。27、以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請選擇正確答案填入。#include<stdio.h>main(){inta[10],i=0;while(i<10)scanf("%d",______);::}A、a+(i++)B、&5[i+1]C、a+iD、&a[++i]標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:a就是數(shù)組a的首地址,而a+x是數(shù)組中第x個元素的地址,所以在四個選項(xiàng)中,選項(xiàng)B和C只能輸入一個數(shù)據(jù),選項(xiàng)D不能給a[0]輸入數(shù)據(jù),只有A可以完成給數(shù)組所有的元素輸入數(shù)據(jù)的任務(wù)。28、以下對枚舉類型名的定義中正確的是______。A、enuma={one,two,three};B、enuma{one=9,two=1,three};C、enuma={"one","two","three"};D、enuma{"one","two","three"};標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:聲明枚舉類型用enum開頭。例如:enumweekday(sun,mon,tue,wed,thu,fri,sat);說明:1、在C編譯中,對枚舉元素按常量處理,同時(shí)可以改變他們的值。2、枚舉值可以用來做判斷比較。3、一個整數(shù)不能直接賦給一個枚舉變量。29、字符(char)型數(shù)據(jù)在微機(jī)內(nèi)存中的存儲形式是______。A、反碼B、補(bǔ)碼C、EBCDIC碼D、ASCII碼標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:將一個字符常量放到一個字符變量中,實(shí)際上并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的ASCII碼值放到存儲單元中。30、不能把字符串"Hello!"賦給數(shù)組b的語句是______。A、charb[10]={’H’,’e’,’l’,’l’,’o’,’!’};B、charb[10]={’h’,’e’,’l’,’l’,’o’,’!’};C、charb[10];strcpy(b,"Hello!");D、charb[10]="Hello!":標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:在C語言中,大寫字母和小寫字母被認(rèn)為是兩個不同的字符,因此,“hello!”和“Hello!”是兩個不同的字符串。31、下面程序的輸出是______。mare(){intx=3y=6,a=0;while(x++!=(y=1)){a+=1;if(y<x)break;}printf("x=%d,y=%d,a=%d\n",x,y,a);}A、x=4,y=4,a=1B、x=5,y=5,a=1C、x=5,y=4,a=3D、x=5,y=4,a=1標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:注意的是x++中x值的引用時(shí),這里應(yīng)當(dāng)是先引用,后自加,具體執(zhí)行過程如下:第一次while循環(huán):條件為真,執(zhí)行a=a+1=1此時(shí),x的值已為4,判斷y<x不成立,繼續(xù)抽行循環(huán);第二次while循環(huán):條件為假,此時(shí)x的值已為5,退出while循環(huán),執(zhí)行printf。32、若有程序fun(inta,intb}{staticintc=0;c+=a+b;returnc;}main(){intx=5,y=3,z=7,r,r=fun(y,x+y),z);r=fun(xy);printf("%d\n",r);}上面程序的輸出結(jié)果是_____。A、23B、15C、19D、18標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:static聲明的外部變量只限于彼本文件引用,而不能被其他文件引用。用static來聲明一個變量的作用有:①對局部變量用static聲明,則為該變量分配的空間在整個程序執(zhí)行期間始終存在;②全部變量用static聲明,則該變量的作用域只限于本文件模塊(即被聲明的文件中)。調(diào)用第一個fun,其兩個實(shí)參的值為(3,5+3)與7即8與7,在函數(shù)fun執(zhí)行結(jié)束返回15。第二次調(diào)用fun時(shí),由于static為靜態(tài)類型,其值保留,執(zhí)行fun(5,3)后,其返回值為23,故選A。33、下面程序的輸出是______。main(){char*s="12134211";intv1=0,v2=0,v3=0,v4=0,k;for(k=0;s[k];k++)switch(s[k]){default,v4++;case’1’:v1++;case’3’:v3++;case’2’:v2++;}printf("vl=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);}A、v1=4,v2=2,v3=1,v4=1B、v1=4,v2=9,v3=3,v4=1C、v1=5,v2=8,v3=6,v4=1D、v1=8,v2=8,v3=8,v4=8標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:當(dāng)switch后面括弧內(nèi)的表達(dá)式的值與某一個case后面的常量的表達(dá)式的值相等時(shí),就執(zhí)行此case后面的語句,若所有的case中的常量表達(dá)式的值都沒有與表達(dá)式的值匹配的,就執(zhí)行default后面的語句。34、fgetc函數(shù)的作用是從指定文件讀入一個字符,該文件的打開方式必須是______。A、只讀B、追加C、讀或讀寫D、以上均正確標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:fgetc函數(shù)是指從指定的文件讀入一個字符,該文件必須是以讀或讀寫方式打開的。fgetc函數(shù)的調(diào)用形式為:ch=fgetc(fp);。35、若有下面的說明和定義,則sizeof(structaa)的值是______。structaa{intr1;doubler2;floatr3;unionuu{charul[5];longu2[2]}ua;}mya;A、30B、29C、24D、22標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占的內(nèi)存長度之和,每個成員分別占有自己的內(nèi)存單元;共用伸變量所占的內(nèi)存長度等于最長的成員的長度。結(jié)構(gòu)件變量aa中,成員r1占2個字節(jié),r2占8個字節(jié),r3占4個字節(jié),共用體ua占8個字節(jié),所以共占用2+8+4+8=22個字節(jié)。36、下面程序的輸出是______。main(){intk=11;printf("k=%d,k=%x\n",k,k,k);}A、k=11,k=12,k=11B、k=-11,k=13,k=13C、k=11,k=013,k=0xbD、k=11,k=13,k=B標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:在C語言格式字符的輸出中,“%d”是以帶符號的十進(jìn)制形式輸出整數(shù);“%o”是以8進(jìn)制無符號形式輸出整數(shù)(不輸出前導(dǎo)符0);“%x”是以16進(jìn)制無符號形式輸出整數(shù)(不輸出前導(dǎo)符0x)。37、下面程序段中C的二進(jìn)制值是______。chara=3,b=6.c:c=ab<<1;A、1011B、1111C、11110D、11100標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:C語言提供六種位運(yùn)算符,按優(yōu)先級由高到低的順序分別為:取反(~)、左移(<<)和右移(>>)、按位與(&)、按位異或(∧)、按位或(|)。所以表達(dá)式c=ab<<1先運(yùn)算b<<1得二進(jìn)制為00001100,再運(yùn)算a∧00001100,最后得二進(jìn)制值00001111。38、以下敘述中正確的是______。A、C語言比其他語言高級B、C語言可以不用編譯就能被計(jì)算機(jī)識別執(zhí)行C、C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式D、C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點(diǎn)標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:計(jì)算機(jī)語言分為低級語言、匯編語言和高級語言,C語言屬于高級語言,但并不是說C語言比其他語言高級,所以選項(xiàng)A錯誤;除了低級語言外,其他各種語言都必須編譯成能被計(jì)算機(jī)識別的二進(jìn)制數(shù)才能執(zhí)行,選項(xiàng)B錯誤;C語言出現(xiàn)在1972年到1973年間,并不是出現(xiàn)最晚的語言,所以選項(xiàng)D也是錯誤的。39、下列可用于C語言用戶標(biāo)識符的一組是______。A、voiddefineWORDB、a3_b3_123CarC、For-abcIFCaseD、2aDOsizeof標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:C語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線3種字符組成,且第一個字符必須為字母或下劃線,所以排除C和D。C語言還規(guī)定標(biāo)識符不能為C語言的關(guān)鍵字,從而選項(xiàng)A(void是關(guān)鍵字)也是錯誤的。40、以下程序運(yùn)行后,輸出結(jié)果是______。main(){char*d[]={"ab","cde"};printf("%x",d[1]);}A、cdeB、字符C的ASCII碼值C、字符c的地址D、出錯標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:指針數(shù)組中的每一個元素都相當(dāng)于一個指針變量。一維指針數(shù)組的定義形式為;類型名*數(shù)組名[數(shù)組長度],在本題main函數(shù)中定義指針數(shù)組d,它有兩個元素,其初值分別是“ab”、“cde”的首地址。d[1]的值為"cde”的首地址。%x是指以十六進(jìn)制數(shù)形式輸出整數(shù)。四、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5分。)41、在數(shù)據(jù)的存儲結(jié)構(gòu)中,不僅需要存儲各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。標(biāo)準(zhǔn)答案:前后件關(guān)系知識點(diǎn)解析:在數(shù)據(jù)存儲結(jié)構(gòu)中,除了要存儲數(shù)據(jù),還要存儲數(shù)據(jù)的前后件關(guān)系,對于順序存儲的數(shù)據(jù)結(jié)構(gòu),前后件之間的關(guān)系,是通過存儲空間的位置來實(shí)現(xiàn)的,而對于鏈?zhǔn)酱鎯碚f,數(shù)據(jù)元素之間的前后件關(guān)系是通過指針來實(shí)現(xiàn)的。42、按照“先進(jìn)先出”的原則組織數(shù)據(jù)的結(jié)構(gòu)是______。標(biāo)準(zhǔn)答案:隊(duì)列知識點(diǎn)解析:隊(duì)列是一種特殊的線性表,只允許在表的一端插入元素,在表的另一端刪除元素,插入元素的一端叫做“隊(duì)尾”,刪除元素的一端叫做“隊(duì)頭”,先插入的元素先被刪除,是按先進(jìn)先出的原則組織數(shù)據(jù)的。43、深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個數(shù)為______。標(biāo)準(zhǔn)答案:16知識點(diǎn)解析:滿二叉樹的葉子結(jié)點(diǎn)都在最后一層,即第4層,且第4層的結(jié)點(diǎn)達(dá)到最大數(shù),即25-1=16。44、在面向?qū)ο蟮姆椒ㄖ?,______描述的是具有相似屬性與操作的一組對象。標(biāo)準(zhǔn)答案:類知識點(diǎn)解析:在面向?qū)ο蟮姆椒ㄖ?,把具有相同屬性和方法的對象稱為類,類是對象的抽象,對象是類的實(shí)例。45、Jackson方法是一種面向______的結(jié)構(gòu)化方法。標(biāo)準(zhǔn)答案:數(shù)據(jù)結(jié)構(gòu)知識點(diǎn)解析:Jackson方法是一種結(jié)構(gòu)化分析方法,它是一種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。五、填空題(本題共10題,每題1.0分,共10分。)46、若x和a均是int型變量,則計(jì)算完x=(a=4,6*2)后的x值為______。標(biāo)準(zhǔn)答案:12知識點(diǎn)解析:x=(表達(dá)式1,表達(dá)式2,…)的形式,結(jié)果為最后一個表達(dá)式的值:x=(a=4,6*2)=2*6=12。47、若a是int型變量,則下列表達(dá)式的值為______。(a=2*3,a*2),a+4標(biāo)準(zhǔn)答案:10知識點(diǎn)解析:此題考查逗號表達(dá)式。逗號表達(dá)式的值是最后一個表達(dá)式的值,所以本題的返回值是a+4。前面已經(jīng)給a賦值6,所以追回值a+4=6+4=10。48、下列程序段是從鍵盤輸入的字符中統(tǒng)計(jì)小寫字母的個數(shù),用換行符結(jié)束循環(huán)。請?zhí)羁?。intn=0,c;c=getchar();while(c!=’\n’){if(______)n++;}標(biāo)準(zhǔn)答案:c>=’a’&&c<=’z’知識點(diǎn)解析:小寫字母在內(nèi)存中以ASCII的形式存入,且從a到z依次遞增,所以可以直接用c>=’a’&&c<=’z’判斷是不是小寫字母;c!=’\n’判斷是用換行符結(jié)束循環(huán)。49、下列程序的運(yùn)行結(jié)果是______。#include<stdio.h>main(){inta,b,c,n;a=2;b=0;c=1;n=1;while(n<=3){c=c*a;b=b+c;++n;}printf("b=%d",B);}標(biāo)準(zhǔn)答案:b=14知識點(diǎn)解析:分析程序可知,n的初始值為1,因此,while(n<=3)循環(huán)3次。第1次:c=c*a=2:b=b+c=2;n=2。第2次:c=c*a=4;b=-b+c=6;n=3。第3次;c=c*a=8:b=b+c=14。當(dāng)n=4時(shí),判斷條件不滿足,退出循環(huán)。50、下列程序的輸出結(jié)果是______。main(){inti=0,a=0;while(i<20){for(;;){if((i%10)==0)break;elsei--;}i+=11;a+=i;}printf("%d\n",A);}標(biāo)準(zhǔn)答案:32知識點(diǎn)解析:while(表達(dá)式)的功能是:首先計(jì)算表達(dá)式的值,若為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢,再計(jì)算表達(dá)式的值,若仍為真,則重復(fù)執(zhí)行循環(huán)體語句,直到表達(dá)式的值為假時(shí),結(jié)束while語句的執(zhí)行,繼續(xù)執(zhí)行while語句后面的語句:i=0時(shí)滿足循環(huán)條件,也滿足if的條件,執(zhí)行語句得i=11,a=11,第2次循環(huán)不滿足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿足i<20,循環(huán)結(jié)束。51、下列程序的運(yùn)行結(jié)果是______。#include<stdio.h>longfunc(intx){longp;if(x==0||x==1)return(1);p=x*func(x-1);return(p);}main(){printf("%d\n",func(4));}標(biāo)準(zhǔn)答案:24知識點(diǎn)解析:本題考查函數(shù)的循環(huán)調(diào)用。p=x*func(x-1),當(dāng)x=4時(shí),不滿足if語句的條件,p=4*func(3),x=3也不滿足條件,則func(3)=3*func(2),func(2)=2*func(1),x=1滿足條件return(1),則輸出結(jié)果為4*3*2*1=24。52、下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個二維數(shù)組b中。請?zhí)羁?。main(){inta[2][3]={{1,2,3),{4,5}},b[3][2],i,j;for(i=0;i<2;i++){for(j=0;j<30++)______;}}標(biāo)準(zhǔn)答案:b[j][i]=a[i][j]知識點(diǎn)解析:本題考查二維數(shù)組的基本知識。它是要將一個二維數(shù)組,的行和列元素互換后存放到另一個二維數(shù)組b中,只要將數(shù)組a的行標(biāo)和列標(biāo)互換,然后賦給數(shù)組b即可。53、下列程序的運(yùn)行結(jié)果是______。#include<stdio.h>main(){intfun();fun();}fun(){staticinta[4]={1,2,3,4);inti:for(i:0;i<4;i++)a[i]+=a[i];for(i=0;i<4;i++)printf("%d,",a[i]);printf("\n");}標(biāo)準(zhǔn)答案:2,4,6,8知識點(diǎn)解析:子函數(shù)fun()的功能是將數(shù)組a中的元素都自加一遍,然后仍然將結(jié)果存在原數(shù)組中,其實(shí)就是將數(shù)組a的每個元素都變?yōu)樵瓉淼?倍,然后輸出。在主程序中首先通過intfun()定義了子函數(shù)fun(),然后再調(diào)用fun()。54、設(shè)有下列程序:#include<stdio.h>#include<string.h>main(){inti;chars[10],t[10];gets(t);for(i=0;i<2;i++){gets(s);if(strcmp(t,s)<0)strcpy(t,s);}printf("%s\n",t);}程序運(yùn)行后,從鍵盤上輸入(<CR>代表回車符):DEF<CR>BADEF<CR>QTHRG<CR>,則程序的輸出結(jié)果是______。標(biāo)準(zhǔn)答案:QTHRG知識點(diǎn)解析:函數(shù)strcmp(t,s)用來比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。函數(shù)strcpy(t,s)的功能是,把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲空間中。本題中,t[10]="CDEF"。第一次循環(huán),s[10]="BADEF",if語句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán),s="QTHRG",if語句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲空間中,然后輸出字符數(shù)組t。55、下列程序的運(yùn)行結(jié)果是______。#defineP(A)printf("%d",A)main(){intj,a[]={1,2,3,4,5,6,7),i=5;for(j=3;j>1;j--){switch(j){case1:case2:P(a[i++]);break;case3:P(a[--i]);}}}標(biāo)準(zhǔn)答案:55知識點(diǎn)解析:分析程序執(zhí)行過程,第一次循環(huán)時(shí),j=3,i=5。因?yàn)閟witch(3),所以執(zhí)行case3,調(diào)用P(a[--i])=P(a[4])=P(5),輸出5;第二次循環(huán)時(shí),j=2,i=4,因?yàn)閟witch(2),所以執(zhí)行case2,調(diào)用P(a[i++])-P(a[4])=P(5),輸出5,之后i自加等于5。國家二級(C語言)筆試模擬試卷第3套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、算法的空間復(fù)雜度是指A、算法程序的長度B、算法程序中的指令條數(shù)C、算法程序所占的存儲空間D、執(zhí)行算法需要的內(nèi)存空間標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度是指執(zhí)行這個算法所需要的內(nèi)存空間。2、對線性表進(jìn)行二分法檢索,其前提條件是()。A、線性表以順序方式存儲,并按關(guān)鍵碼值排好序B、線性表以順序方式存儲,并按關(guān)鍵碼的檢索頻率排好序C、線性表以鏈?zhǔn)椒绞酱鎯?,并按關(guān)鍵碼值排好序D、線性表以鏈?zhǔn)椒绞酱鎯?,并按關(guān)鍵碼的檢索頻率排好序標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:對線性表進(jìn)行二分法檢索,要求線性表是按順序方式存儲的,并按關(guān)鍵碼值的大小排好序,而不是按關(guān)鍵碼的檢索頻率排序。3、關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括()。A、排序、索引、統(tǒng)計(jì)B、選擇、投影、連接C、關(guān)聯(lián)、更新、排序D、顯示、打印、制表標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:關(guān)系數(shù)據(jù)庫管理系統(tǒng)的專門關(guān)系運(yùn)算包括選擇運(yùn)算、投影運(yùn)算和連接運(yùn)算。4、對長度為n的線性表進(jìn)行順序查找,在最壞的情況下需要比較的次數(shù)為()。A、125B、n/2C、nD、n+1標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:對線性表進(jìn)行順序查找時(shí),從表中的第一個元素開始,將給定的值與表中逐個元素的關(guān)鍵字進(jìn)行比較,直到兩者相符,查找到所要找的元素為止.在最壞的情況下,要查找的元素是表的最后一個元素或查找失敗,這兩種情況都需要將這個元素與表中的所有元素進(jìn)行比較,因此比較次數(shù)為n。5、下列程序(注意:ch[0]在低字節(jié),ch[1]在高字節(jié))的輸出結(jié)果是______。#include<stdio.h>unionpw{inti;charch[2];}a;main(){a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);}A、13B、14C、208D、209標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:暫無解析6、下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是A、數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余B、數(shù)據(jù)庫系統(tǒng)避免了一切冗余C、數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致D、數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)具有高共享性和低冗余性,但不能完全避免數(shù)據(jù)冗余;數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值。7、下列有關(guān)數(shù)據(jù)庫的描述,正確的是()A、數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過程B、數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲結(jié)構(gòu)不變C、關(guān)系中的每一列稱為元組,一個元組就是一個字段D、如果一個關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個關(guān)系的關(guān)鍵字,則稱其為本關(guān)系的外關(guān)鍵字標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:暫無解析8、關(guān)系表中的每一行稱為一個()。A、元組B、字段C、屬性D、碼標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:在關(guān)系模型中,把數(shù)據(jù)看成一個二維表,每一個二維表稱為一個關(guān)系。關(guān)系表中的每一行稱為一個元組。9、對長度為n的線性表進(jìn)行順序查找,在最壞的情況下需要比較的次數(shù)為()。A、125B、n/2C、nD、n+1標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:對線性表進(jìn)行順序查找時(shí),從表中的第一個元素開始,將給定的值與表中逐個元素的關(guān)鍵字進(jìn)行比較,直到兩者相符,查找到所要找的元素為止。在最壞的情況下,要查找的元素是表的最后一個元素或查找失敗,這兩種情況都需要將這個元素與表中的所有元素進(jìn)行比較,因此比較次數(shù)為n。10、在Windows環(huán)境下,單擊當(dāng)前窗口中的按鈕“”,其功能是A、將當(dāng)前應(yīng)用程序轉(zhuǎn)為后臺運(yùn)行B、退出Windows后再關(guān)機(jī)C、終止當(dāng)前應(yīng)用程序的運(yùn)行D、退出Windows后重新啟動計(jì)算機(jī)標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:在Windows環(huán)境下,單擊當(dāng)前窗口中的按鈕“x”,其功能是終止當(dāng)前應(yīng)用程序的運(yùn)行,關(guān)閉當(dāng)前窗口。二、選擇題(1分)(本題共11題,每題1.0分,共11分。)11、若x=2,y=3,則x&y的結(jié)果是()。A、0B、2C、3D、5標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題主要考查按位與(&)運(yùn)算的知識點(diǎn)。“&”是對兩個運(yùn)算量相應(yīng)的位進(jìn)行邏輯與,“&”的規(guī)則與邏輯與“&&”相同。x=2的二進(jìn)制為00000010,y=3的二進(jìn)制為00000011,x&y=00000010,轉(zhuǎn)化為十進(jìn)制即為2。12、若有以下定義(設(shè)int類型變量占2個字節(jié))inti=8,j=9;則以下語句:printf(“i=%%d,j=%%%d\n”,i,j);輸出的結(jié)果是()。A、i=8,j=9B、i=%d,j=%8C、i=%d,j=%dD、8,9標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查printf函數(shù)的格式。printf函數(shù)中格式說明符之前插入的任何字符都按原樣輸出。對于printf函數(shù),有兩個%說明,第一個%后面的內(nèi)容要按原樣輸出。13、下列程序的運(yùn)行結(jié)果是()。main(){inta=-5,b=1,c=1;intx=0,y=2,z=0;if(c>0)x=x+y;if(a<=0){if(b>0)if(c<=0)y
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- LY/T 3418-2024林草電子公文處理流程及系統(tǒng)運(yùn)行管理規(guī)范
- 四年級數(shù)學(xué)上聽評課記錄
- 湘教版數(shù)學(xué)七年級下冊3.2《提多項(xiàng)式公因式》聽評課記錄
- 生活保障信托協(xié)議書(2篇)
- 環(huán)保工程承包協(xié)議書
- 新版湘教版秋八年級數(shù)學(xué)上冊第三章實(shí)數(shù)課題實(shí)數(shù)的運(yùn)算和大小比較聽評課記錄
- 人教部編版七年級道德與法治上冊:6.2《師生交往》聽課評課記錄1
- 湘教版數(shù)學(xué)七年級下冊《4.2 平移》聽評課記錄
- 浙教版數(shù)學(xué)七年級下冊《閱讀材料 楊輝三角與兩數(shù)和的乘方》聽評課記錄2
- 新北師大版小學(xué)數(shù)學(xué)一年級上冊《教室》聽評課記錄
- 二零二五年度電梯安裝工程監(jiān)理合同4篇
- 2025年中國儲備棉管理有限公司招聘筆試參考題庫含答案解析
- 2025年華能新能源股份有限公司招聘筆試參考題庫含答案解析
- 《中國心力衰竭診斷和治療指南(2024)》解讀完整版
- 初中教學(xué)常規(guī)培訓(xùn)
- 《建筑平面圖的繪制》課件
- 醫(yī)院審計(jì)科科長述職報(bào)告
- 《檔案管理課件》課件
- 2024年度中國共產(chǎn)主義共青團(tuán)團(tuán)課課件版
- 2025年中考物理終極押題猜想(新疆卷)(全解全析)
- 1《讀懂彼此的心》(說課稿)2023-2024學(xué)年統(tǒng)編版道德與法治五年級下冊
評論
0/150
提交評論