國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷12(共583題)_第1頁(yè)
國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷12(共583題)_第2頁(yè)
國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷12(共583題)_第3頁(yè)
國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷12(共583題)_第4頁(yè)
國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷12(共583題)_第5頁(yè)
已閱讀5頁(yè),還剩140頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷12(共9套)(共583題)國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷第1套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、下列關(guān)于棧的敘述正確的是()A、棧是非線性結(jié)構(gòu)B、棧是一種樹狀結(jié)構(gòu)C、棧具有先進(jìn)先出的特征D、棧具有后進(jìn)先出的特征標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:暫無(wú)解析2、若某二叉樹的前序遍歷訪問順序是abdgcefh,中序遍歷訪問順序是dgbaechf,則其后序遍歷的結(jié)點(diǎn)訪問順序是()A、bdgcefhaB、gdbecfhaC、bdgaechfD、gdbehfca標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:暫無(wú)解析3、根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分成()A、動(dòng)態(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)標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:暫無(wú)解析4、下面對(duì)對(duì)象概念描述錯(cuò)誤的是()A、任何對(duì)象都必須有繼承性B、對(duì)象是屬性和方法的封裝體C、對(duì)象間的通訊靠消息傳遞D、操作是對(duì)象的動(dòng)態(tài)屬性標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:暫無(wú)解析5、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成()A、定義、開發(fā)、運(yùn)行維護(hù)B、設(shè)計(jì)階段、編程階段、測(cè)試階段C、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試D、需求分析、功能定義、系統(tǒng)設(shè)計(jì)標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:暫無(wú)解析6、下列工具中為需求分析常用工具的是()A、PADB、PFDC、N—SD、DFD標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:暫無(wú)解析7、開發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是()A、大系統(tǒng)的復(fù)雜性B、人員知識(shí)不足C、客觀世界千變?nèi)f化D、時(shí)間緊、任務(wù)重標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:暫無(wú)解析8、下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述中正確的是()A、數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余B、數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余C、數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致D、數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:暫無(wú)解析9、單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為()A、外模式B、概念模式C、內(nèi)模式D、存儲(chǔ)模式標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:暫無(wú)解析10、關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括()A、排序,索引、統(tǒng)計(jì)B、選擇、投影、連接C、關(guān)聯(lián)、更新、排序D、顯示、打印、制表標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:暫無(wú)解析二、選擇題(1分)(本題共10題,每題1.0分,共10分。)11、已有定義語(yǔ)句:intx=3,y=0,z=0;,則值為0的表達(dá)式是()A、x&&yB、x||zC、x||z+2&&y-zD、!((x<y)&&!z||y)標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:暫無(wú)解析12、能正確表示代數(shù)式的C語(yǔ)言表達(dá)式是()A、3*xn/(2*x-1)B、3*x**n/(2*x-1)C、3*pow(x,n)*(1/(2*x-1))D、3*pow(n,x)/(2*x-1)標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:暫無(wú)解析13、若int類型數(shù)據(jù)占兩個(gè)字節(jié),則下列語(yǔ)句intk=-1;printf("%d,%u\n",k,k);的輸出為()A、-1,-1B、-132,767C、-132,768D、-165,535標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:暫無(wú)解析14、下列常數(shù)中,不合法的C常量是()A、-0x3b1B、123e+2.3C、’}’D、6e+7標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:暫無(wú)解析15、如果inti=3,則k=(++i)+(++i)+(i++)執(zhí)行過后k的值為______,i的值為______。()A、15,6B、12,5C、18,6D、15,5標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:暫無(wú)解析16、以下有四組用戶標(biāo)識(shí)符,其中合法的一組是()A、For-subCaseB、4dDOSizeC、f2_G3IFabcD、WORDvoiddefine標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:暫無(wú)解析17、以下非法的賦值語(yǔ)句是()A、n=(i=2,++i)B、j++C、++(i+1)D、x=j(luò)>0標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:暫無(wú)解析18、有下列程序main(){doubled;floatf;longl;inti;i=f=1=d=20/3;printf("%d%1d%f%f\n",i,1,f,D);}程序運(yùn)行后的輸出結(jié)果是(小數(shù)點(diǎn)后只寫1位)()A、666.06.0B、666.76.7C、666.06.7D、666.76.0標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:暫無(wú)解析19、已知大寫字母A的ASCII碼值是65,小寫字母a的ASCII碼是97,則用八進(jìn)制表示的字符常量’\101’是()A、字符AB、字符aC、字符eD、非法的常量標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:暫無(wú)解析20、若變量已正確說(shuō)明為float類型,要通過語(yǔ)句scanf("%f%f%f",&a,&b,&c),給a賦予10.0,b賦予22.0,b賦予33.0,不正確的輸入形式是()A、10<回車>22<回車>33<回車>B、10.0,22.0,33.0<回車>C、10.0<回車>22.O33.00<回車>D、10.22<回車>33<回車>標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:暫無(wú)解析三、選擇題(2分)(本題共30題,每題1.0分,共30分。)21、以下程序執(zhí)行后sum的值是______。main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}A、15B、14C、不確定D、0標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:變量sum在使用時(shí)未賦初值,所以無(wú)法確定sum最終的值。22、有以下程序:main(){intx[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d\n",s[2]);}程序運(yùn)行后的輸出結(jié)果是______。A、隨機(jī)值B、0C、5D、6標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:本題定義了數(shù)組x[8]和指針變量s,由C語(yǔ)言規(guī)定,指針加1的含義是使指針指向數(shù)組的下一個(gè)元素,而不是指針值簡(jiǎn)單的加1,因此通過s=x+3;使s指向數(shù)組元素x[3]。由于指向數(shù)據(jù)的指針變量可以帶下標(biāo)表示,如s[i]與*(s+i)等價(jià)。因此題目要求輸出s[2]的值,即*(s+2)的值,也就是x[5]的值,為0。23、有以下程序段:intx=3;do{printf("%d",x-=2);}while(!(--x));其輸出結(jié)果是______。A、1B、30C、1-2D、死循環(huán)標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:本題中循環(huán)執(zhí)行了兩次,第一次,執(zhí)行完printf語(yǔ)句后,x=1,而-x是先自減后執(zhí)行語(yǔ)句,所以(!(-x))的值為非零,所以又執(zhí)行了一次。第二次x的值為-2,--x的值為-3,求非后,值為0,跳出循環(huán)。24、若變量c為char類型,能正確判斷出c為小寫字母的表達(dá)式是______。A、’a’<=c<=’z’B、(c>=’a’)||(c<=’z’)C、(’a’<=c)and(’z’>=c)D、(c>=’a’)&&(c<=’z’)標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:(c>=’a’)和(c<=’z’)的關(guān)系應(yīng)該是“與”的關(guān)系。25、下列不合法的main函數(shù)命令行參數(shù)的表示形式是______。A、main(inta,char*c[]);B、main(ac,av)intarc;char**av;C、main(c,v)intc;char*v[];D、main(argc,argv)intargc;charargv[];標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:main函數(shù)的參數(shù)通常有兩個(gè),前者為整型,后者為字符型指針數(shù)組。參數(shù)的名字可以是任意合法的標(biāo)識(shí)符。而且,形如**av與*av[]等價(jià),所以選項(xiàng)A、B、C均正確,選項(xiàng)D是錯(cuò)誤的。26、以下所列的各函數(shù)首部中,正確的是______。A、voidplay(vara:Integer,varb:Integer)B、voidplay(inta,b)C、voidplay(inta,intb)D、Subplay(aasinteger,basinteger)標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:除選項(xiàng)C項(xiàng)外,其他各項(xiàng)都沒有按照C語(yǔ)言中的函數(shù)定義規(guī)則定義函數(shù)。27、在C語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是______。A、整型常量B、整型表達(dá)式C、整型常量或整型表達(dá)式D、任何類型的表達(dá)式標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:C語(yǔ)言規(guī)定只能逐個(gè)引用數(shù)組元素而不能一次引用整個(gè)數(shù)組,數(shù)據(jù)元素的表示形式為數(shù)組名[下標(biāo)],下標(biāo)可以是整型常量或整型表達(dá)式。28、以下程序的輸出結(jié)果是______。fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf("%d",a);}A、0B、29C、31D、無(wú)定值標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:本題中,a的值并沒有改變,因?yàn)閭鬟f到函數(shù)中的是變量值。29、下列程序段的輸出結(jié)果是______。voidfun(int*x,int*y){printf("%d%d",*x,*y);*x=3;*y=4;}main(){intx=1,y=2;fun(&y,&x);printf("%d%d",x,y);}A、2143B、1212C、1234D、2112標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:本題中函數(shù)傳遞的是變量的地址,如果形參在函數(shù)中發(fā)生改變,相對(duì)應(yīng)的實(shí)參也就有了改變。30、對(duì)于下面的程序#include<stdio.h>#include<string.h>char*scmp(char*s1,char*s2){if(strcmp(s1,s2)<0)return(s1);elsereturn(s2);}main(){inti:charstring[20],sb[3][20];for(i=0;i<3;i++)gets(str[i]);strcpy(string,scmp(str[0],str[1]));strcpy(string,scmp(string,str[21));printf("%s\n",string);}若運(yùn)行時(shí)依次輸入abcd、abba和abc三個(gè)字符串,則輸出結(jié)果為______。A、abcdB、abbaC、abcD、abca標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:本題自定義函數(shù)scrnp()的作用是比較字符串s1和s2的大小,如果s1<s2,函數(shù)返回s1的值,否則返回s2的值。若運(yùn)行時(shí)依次輸入abcd、abba和abc三個(gè)字符串,執(zhí)打strcpy(string,scmp(str[0],str[1]));后,string的值為abba,再執(zhí)行strcpy(string,scmp(string,str[2]));,由于scmp(string,str[2])返回string的值abba,再拷貝到字符串?dāng)?shù)組string中,所以本題輸出abba。31、下列程序的輸出結(jié)果是______。main(){chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}A、非法B、a[4]的地址C、5D、3標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:本題中char*p=a+5;即相當(dāng)于p=&a[5],而--p,是先要減1,則printf語(yǔ)句要輸出的值就是a[4]。32、對(duì)下面的程序進(jìn)行編譯與連接生成可執(zhí)行文件c.exe,并在DOS命令提示符下輸入:cIsaid"IloveChina"!程序代碼如下:main(intargc,char*argv[]){printf("%d",argC);}其輸出結(jié)果為______。A、4B、5C、6D、7標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:帶參數(shù)的main()函數(shù)常用形式為:main(intargc,char*argv[])其中,參數(shù)的個(gè)數(shù)由C程序運(yùn)行時(shí)自動(dòng)計(jì)算出來(lái)。字符型指針數(shù)組argv的第一個(gè)元素存放命令名,其后各個(gè)元素依次存放命令行中各個(gè)參數(shù)的首地址:整型變量argc用來(lái)記錄命令行中的參數(shù)個(gè)數(shù),文件名也作為一個(gè)參數(shù),對(duì)于命令行中雙引號(hào)內(nèi)的字符串,即使空格分開,也只算是一個(gè)參數(shù),同時(shí)雙引號(hào)本身不算參數(shù)的內(nèi)容,因此本題argc的值等于5。33、下列程序的運(yùn)行結(jié)果是______。voidfun(int*a,int*b){int*k;k=a;a=b;b=k;}main(){inta=3,b=6,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,b);}A、63B、36C、編譯出錯(cuò)D、0標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:本題中主函數(shù)里的x、y,fun函數(shù)里的a、b、k,這些都是指針,fun函數(shù)中只是將a、b這兩個(gè)指針交換了位置,而并沒有改變主函數(shù)中變量a、b的值。34、若有定義int*p[3];,則以下敘述中正確的是______。A、定義了一個(gè)基類型為int的指針變量p,該變量有三個(gè)指針B、定義了一個(gè)指針數(shù)組p,該數(shù)組含有三個(gè)元素,每個(gè)元素都是基類型為int的指針C、定義了一個(gè)名為*p的整型數(shù)組,該數(shù)組含有三個(gè)int類型元素D、定義了一個(gè)可指向二維數(shù)組的指針變量p,所指一維數(shù)組應(yīng)具有三個(gè)int類型元素標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:由于運(yùn)算符[]優(yōu)先級(jí)比*高,int*p[3];相當(dāng)于int*(p[3]);,表示數(shù)組p的三個(gè)元素都是指針變量,且每個(gè)元素都是基類型為int的指針。35、有以下程序:voidswap1(int*a,int*b){int*c=a;s=b,b=c;}voidswap2(int*a.int*b){intc=*a;*a=*b,*b=c;}main(){inta=10,b=15;swap1(&a,&b);printf("%d,%d,",a,b);a=10,b=15;swap2(&a,&b);printf("%d,%d",a,b);}其輸出結(jié)果為______。A、15,10,10,15B、15,10,15,10C、10,15,10,15D、10,15,15,10標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。在內(nèi)函數(shù)調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。本題中swap1()函數(shù)中,雖然改變了形參指針的值,但實(shí)參指針的值并沒有改變,所以執(zhí)行第一個(gè)printf后應(yīng)輸出10,15,swap2()函數(shù)實(shí)現(xiàn)了交換兩個(gè)變量a和b的值,因此執(zhí)行第二個(gè)printf后輸出交換后的值15,10,所以本題答案為D。36、當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是______。A、數(shù)組的長(zhǎng)度B、數(shù)組的首地址C、數(shù)組每一個(gè)元素的地址D、數(shù)組每個(gè)元素中的值標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是數(shù)組的首地址,函數(shù)中的形參可定義成以下三種形式;①形參定義成數(shù)組;②形參定義成可變長(zhǎng)數(shù)組;③形參定義為指針變量。37、下面的程序輸出結(jié)果是______。#definer16#ifr==16voidp(inta){printf("%x",a);}#elsevoidp(inta){printf("%d",a);}#endifmain(){p(32);}A、32B、20C、編譯時(shí)錯(cuò)誤D、運(yùn)行時(shí)錯(cuò)誤標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:“#definer16”的作用是指定用標(biāo)識(shí)符r來(lái)代替16,因此程序編譯時(shí)只編譯#if部分,故程序運(yùn)行時(shí),打印輸出十六進(jìn)制的32,即20。38、設(shè)有以下聲明語(yǔ)句structex{intx;floaty;charz;}example;則下面的敘述中不正確的是______。A、struct是結(jié)構(gòu)體類型的關(guān)鍵字B、example是結(jié)構(gòu)體類型名C、x,y,z都是結(jié)構(gòu)體成員名D、structex是結(jié)構(gòu)體類型標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:example是結(jié)構(gòu)體變量名。39、以下只有在使用時(shí)才為該類型變量分配內(nèi)存的存儲(chǔ)類說(shuō)明是______。A、auto和staticB、auto和registerC、register和staticD、extern和register標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:extern、register、static、auto分別是定義外部變量、寄存器變量、靜態(tài)變量、自動(dòng)變量,其中,自動(dòng)變量和寄存器變量屬于動(dòng)態(tài)存儲(chǔ),調(diào)用時(shí)臨時(shí)分配單元而靜態(tài)變量和外部變量屬于靜態(tài)存儲(chǔ),在整個(gè)程序運(yùn)行時(shí)都存在。40、下面程序運(yùn)行后的輸出結(jié)果是______。fut(int,*s,intP[2][3]){**s=p[1][1];}main(){inta[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));fut(&p,a);printf("%d\n",*p);}A、1B、7C、9D、11標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:本題a[2][3]定義為一個(gè)具有兩面行三列的元素的數(shù)組,malloc()函數(shù)的作用是開辟了一個(gè)長(zhǎng)度為sizeof(int)的內(nèi)存區(qū),p為指向整型數(shù)據(jù)的指針變量,程序調(diào)用fut()函數(shù),將第一行第一列對(duì)應(yīng)的元素值賦給**s,由于數(shù)組中第一行第一列對(duì)應(yīng)的元素為9,所以本題輸出值9。41、以下程序的輸出結(jié)果是______。main(){inti,k,a[10],p[3]k=5;for(i=0;i<10;i++)a[i]=ifor(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf("%d\n",k);}A、20B、21C、22D、23標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:按照程序的流程走一遍,可以得到p[0]=0,p[1]=2,p[3]=6:執(zhí)行三次k+=p[i]*2,相當(dāng)于k=5+0*2+2*2+6*2=21。42、當(dāng)執(zhí)行下面的程序時(shí),其輸出結(jié)果為______。unionst{inta;charb;}main(){unionsts;char*p=(char*)&s;s.a=0x3132;s.b=0x33;printf("%c",*p);}A、1B、2C、3D、不確定標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:共用體類型結(jié)構(gòu)的特點(diǎn)是使幾個(gè)不同的變量共占同一段內(nèi)存,但在每一瞬時(shí)只能存放其中一種,而不是同時(shí)存放幾種,共用體變量中起作用的成員是最后一次存放的成員,在存入一個(gè)新的成員后原有的成員就失去作用。因此本題起作用的是成員b的值,所以程序打印輸出3。43、當(dāng)執(zhí)行下面的程序時(shí),如果輸入ABC,則輸出結(jié)果是______。#include"stdio.h"#include"string.h"main(){charss[10]="12345";gets(ss);strcat(ss,"6789");printf("%s\n",ss);}A、ABC6789B、ABC67C、12345ABC6D、ABC456789標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:sdtrcat(str1,str2)合并字符串函數(shù)的作用是把str2所指字符串的內(nèi)容連接到str1字符串的后面,自動(dòng)刪去str1原來(lái)串中的’\0’。為了進(jìn)行這項(xiàng)操作,要求str1所指的字符串后面有足夠的空間來(lái)容納str2所指字符串中的內(nèi)容。函數(shù)值為str1所指第一個(gè)字符的地址。44、main(intargc,char*argv[]){while(--argc>0)printf("%s",argv[argc]);printf("\n");}假定以上程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在此可執(zhí)行文件所在目錄的DOS提示符下鍵入PROGABCDEFGHIJKL,則輸出結(jié)果為______。A、ABCDEFGB、IJHLC、ABCDEFGHIJKLD、IJKLABCDEFGH標(biāo)準(zhǔn)答案:4知識(shí)點(diǎn)解析:本題主函數(shù)帶有兩個(gè)參數(shù),一個(gè)int型變量argc,另一個(gè)是char型的一維一級(jí)指針數(shù)組argv。當(dāng)主函數(shù)被執(zhí)行時(shí),系統(tǒng)自動(dòng)將根據(jù)命令行的情況,分別給主函數(shù)的兩個(gè)參數(shù)賦值。Argc中存放命令行中命令字和參數(shù)的總和的個(gè)數(shù),argv用來(lái)存放命令行中命令字和所有參數(shù)的字符串的,并規(guī)定avgv[0]存放命令字字符串,argv[1]用來(lái)存放第一個(gè)參數(shù)的字符串,argv[2]用來(lái)存放第2個(gè)參數(shù)的字符串,依此類推。題中argc的值是2,執(zhí)行完--argc后為1,輸出argv[1],此數(shù)組存在第一個(gè)參數(shù)的字符串ABCDEFGHIJKL。45、設(shè)char型變量x中的值為10100111,則表達(dá)式(2+x)(-3)的值為______。A、10101001B、10101000C、11111101D、1010101標(biāo)準(zhǔn)答案:8知識(shí)點(diǎn)解析:異或運(yùn)算符(^)的運(yùn)算規(guī)則是:參加運(yùn)算的兩個(gè)相應(yīng)位同號(hào),則結(jié)果為0(假);異號(hào)則為1(真)。取反運(yùn)算符(~)的運(yùn)算規(guī)則是:對(duì)一個(gè)二進(jìn)制數(shù)按位取反,即將0變?yōu)?,1變?yōu)?。本題(~3)是對(duì)3(二進(jìn)制形式為00000011)按位取反即11111100。表達(dá)式(2+x)(-3)的值就等價(jià)于(00000010+10100111)^1111100,結(jié)果為01010101。46、以下程序的輸出結(jié)果是______。longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);relums;}main(){printf("%ld\nt",fun(3));}A、1B、2C、3D、4標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:這是一個(gè)遞歸函數(shù)。遞歸的結(jié)束條件是,n=1或者n=2。按照程用頃序,即可得出本題結(jié)果為1。47、以下程序試圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符串#號(hào)時(shí)結(jié)束輸入和輸出操作,但程序有錯(cuò)#include<stdio.h>main(){FILE*fout;charch;fout=fopen(’abc.txt’,’w’);ch=fgetc(stdin);while(ch!=’#’){fputc(ch,four);ch=fgetc(stdin);}fclose(fout);}出錯(cuò)的原因是______。A、函數(shù)fopen調(diào)用形式錯(cuò)誤B、輸入文件沒有關(guān)閉C、函數(shù)fgetc調(diào)用形式錯(cuò)誤D、文件指針stdin沒有定義標(biāo)準(zhǔn)答案:1知識(shí)點(diǎn)解析:本題考查的是文件的打開函數(shù)fopen(),其調(diào)用方式通常為FLIE*fp;fp=fopen(文件名,使用文件方式);,如:fp=fopen("abc.txt","w");表示要打開名字為abc.txt的文件,使用文件方式寫入。fopen函數(shù)帶回指向abc.txt文件的指針并賦給fp,即fp指向文件abc.txt。48、以下程序的輸出結(jié)果是______。#defineSQR(X)X*Xmain(){inta=16,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}A、16B、2C、9D、1標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:C語(yǔ)言在預(yù)編譯時(shí)遇到帶實(shí)參的宏名,則按命令行中指定的字符串從左到右進(jìn)行置換。在做這題時(shí),也不妨運(yùn)用置換法。得到a/=k+m*k+m/k+m*k+m=16/7=2。注:a為整型,所以在做除法時(shí),自動(dòng)取整。49、假定建立了以下鏈表結(jié)構(gòu),指針p、q分別指向如圖所示的結(jié)點(diǎn),則以下可以將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語(yǔ)句組是______。A、free(q);p->next=q->next;B、(*p).next=(*q).next;free(q);C、q=(*q).next;(*p).next=q;free(q);D、q=q->next;p->next=q;p=p->next;free(p);標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:選項(xiàng)A的錯(cuò)誤在于,先已經(jīng)把q結(jié)點(diǎn)給釋放,無(wú)法再進(jìn)行余下語(yǔ)句了:選項(xiàng)C和D的錯(cuò)誤在于因?yàn)橛辛藂=(*q).next做了賦值,則free(q)釋放了原來(lái)q后面的一個(gè)結(jié)點(diǎn)。50、以下程序的輸出結(jié)果是______。main(){intx=05;charz=’a’;printf("%d\n",(x&1)&&(z<’z’));}A、0B、1C、2D、3標(biāo)準(zhǔn)答案:2知識(shí)點(diǎn)解析:“&”是位運(yùn)算符表示按位與運(yùn)算,“&&”是邏輯運(yùn)算符當(dāng)其兩邊的表達(dá)式都為真時(shí)返回真值。關(guān)系表達(dá)式(x&1)&&(z<’z’),(x&1)為真,(z<’z’)也為真,兩者相與,自然也為真,以整型輸出,則輸出1。四、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5分。)51、在運(yùn)算過程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是【】。標(biāo)準(zhǔn)答案:循環(huán)鏈表知識(shí)點(diǎn)解析:在鏈表的運(yùn)算過程中,采用鏈接方式即循環(huán)鏈表的結(jié)構(gòu)把空表的與非空表的運(yùn)算統(tǒng)一起來(lái)。循環(huán)鏈表具有兩個(gè)特點(diǎn):①在循環(huán)鏈表中增加了一個(gè)表頭結(jié)點(diǎn),其數(shù)據(jù)域?yàn)槿我饣蚋鶕?jù)需要來(lái)設(shè)置,指針域指向線性表的第一個(gè)元素的結(jié)點(diǎn)。循環(huán)鏈表的頭指針指向表頭結(jié)點(diǎn)。②循環(huán)鏈表中最后一個(gè)結(jié)點(diǎn)的指針不是空,而是指向表頭結(jié)點(diǎn)。52、軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。標(biāo)準(zhǔn)答案:軟件開發(fā)知識(shí)點(diǎn)解析:基于軟件工程的目標(biāo),軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程管理。軟件開發(fā)技術(shù)包括;軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境,其主體內(nèi)容是軟件開發(fā)方法學(xué)。軟件工程管理包括;軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué)、軟件心理學(xué)等內(nèi)容。53、與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是【】方法。標(biāo)準(zhǔn)答案:結(jié)構(gòu)化設(shè)計(jì)知識(shí)點(diǎn)解析:與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是結(jié)構(gòu)化設(shè)計(jì)方法。結(jié)構(gòu)化設(shè)計(jì)就是采用最佳的可能方法設(shè)計(jì)系統(tǒng)的各個(gè)組成部分以及各個(gè)成分之間的內(nèi)部聯(lián)系的技術(shù)。也就是說(shuō),結(jié)構(gòu)化設(shè)計(jì)是這樣一個(gè)過程,它決定用哪些方法把哪些部分聯(lián)系起來(lái),才能解決好某個(gè)具體且有清楚定義的問題。54、關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件,包括實(shí)體完整性、【】和自定義完整性。標(biāo)準(zhǔn)答案:參照完整性知識(shí)點(diǎn)解析:關(guān)系模型允許定義三類數(shù)據(jù)約束,它們是實(shí)體完整性、參照完整性以及用戶定義的完整性約束,其中前兩種完整性約束由關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)自動(dòng)支持。實(shí)體完整性約束要求關(guān)系的主鍵中屬性值不能為空,這是數(shù)據(jù)庫(kù)完整性的最基本要求,因?yàn)橹麈I是惟一決定元組的,如為空則其準(zhǔn)一性就成為不可能的了。參照完整性約束是關(guān)系之間相關(guān)聯(lián)的基本約束,它不允許關(guān)系引用不存在的元組:即在關(guān)系中的外鍵要么是所關(guān)聯(lián)關(guān)系中實(shí)際存在的元組,要么是空值。自定義完整性是針對(duì)具體數(shù)據(jù)環(huán)境與應(yīng)用環(huán)境由用戶具體設(shè)置的約束,它反映了具體應(yīng)用中數(shù)據(jù)的語(yǔ)義要求。55、數(shù)據(jù)模型按不同的應(yīng)用層次分為三種類型,它們是【】數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。標(biāo)準(zhǔn)答案:概念知識(shí)點(diǎn)解析:數(shù)據(jù)模型按不同的應(yīng)用層次分為三種類型,它們是概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。概念數(shù)據(jù)模型簡(jiǎn)稱概念模型,是一種面向客觀世界、面向用戶的模型;它與具體的數(shù)據(jù)庫(kù)管理系統(tǒng)無(wú)關(guān)。五、填空題(本題共6題,每題1.0分,共6分。)56、假定變量x為int類型,請(qǐng)以最簡(jiǎn)單的形式寫出與邏輯表達(dá)式!x等價(jià)的C語(yǔ)言關(guān)系表達(dá)式【】。標(biāo)準(zhǔn)答案:x==0知識(shí)點(diǎn)解析:暫無(wú)解析57、下列程序段的輸出結(jié)果是【】。intn=’c’;switch(n++){default:printf("error");break;case’a’:case’A’:case’b’:case’B’:printf("good");break;case’c’:case’C’:printf("pass");case’d’:case’D’:printf("warn");}標(biāo)準(zhǔn)答案:passwarn知識(shí)點(diǎn)解析:暫無(wú)解析58、若輸入tear、test、arj,則下列程序的運(yùn)行結(jié)果為【】。main(){char*strl[20],*str2[20],*str3[20];charswap();scanf("%s",str1);scanf("%s",str2);scanf("%s",str3);if(strcmp(str1,str2)>0)swap(str1,str2);if(strcmp(str1,str3)>0)swap(str1,str3);if(strcmp(str2,str3)>0)swap(str2,str3);printf("%s%s%s\n",str1,str2,str3);}charswap(p1,p2)char*p1,*p2;{char*p[20];strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);}標(biāo)準(zhǔn)答案:arjteartest知識(shí)點(diǎn)解析:暫無(wú)解析59、下面程序的輸出結(jié)果是【】。charb[]="ABCD";main(){char*chp;for(chp=b;*chp;chp+=2)printf("%s",chp);printf("\n");}標(biāo)準(zhǔn)答案:ABCDCD知識(shí)點(diǎn)解析:暫無(wú)解析60、若有以下定義和語(yǔ)句,sizeof(a)的值是【】,sizeof(a.share)的值是【】。structdate{intday;intmonth;intyear;union{intshare1;floatshare2;}share;}a;標(biāo)準(zhǔn)答案:104知識(shí)點(diǎn)解析:暫無(wú)解析61、下列程序的功能是將2個(gè)數(shù)從小到大輸出。main(){floata,b,【】;scanf(【】,&a,&b);if(a>b){t=a;【】;b=t;}printf("%5.2f,%5.2f\n",a,b);}標(biāo)準(zhǔn)答案:t"%f%f"a=b知識(shí)點(diǎn)解析:暫無(wú)解析國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷第2套一、公共基礎(chǔ)選擇題(本題共20題,每題1.0分,共20分。)1、下面敘述正確的是A、算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)B、算法的空間復(fù)雜度是指算法程序中指令(或語(yǔ)句)的條數(shù)C、算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止D、以上三種描述都不對(duì)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查了算法的基本概念。算法的執(zhí)行效率不僅與問題的規(guī)模有關(guān),還與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有關(guān);算法的空間復(fù)雜度是指執(zhí)行算法所需要的內(nèi)存空間;算法的有窮性是指算法必須能在有限的時(shí)間內(nèi)執(zhí)行完,即算法必須能在執(zhí)行有限個(gè)步驟之后終止。2、下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是A、線性鏈表B、棧C、循環(huán)鏈表D、順序表標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題主要考查對(duì)于棧的理解。棧是限定在一端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照"先進(jìn)后出"或"后進(jìn)先出"的原則組織數(shù)據(jù)的。隊(duì)列組織數(shù)據(jù)的原則是"先進(jìn)先出"或"后進(jìn)后出"。3、在下列關(guān)于二叉樹的敘述中,正確的一項(xiàng)是A、在二叉樹中,任何一個(gè)結(jié)點(diǎn)的度都是2B、二叉樹的度為2C、在二叉樹中至少有一個(gè)結(jié)點(diǎn)的度是2D、一棵二叉樹的度可以小于2標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查了二叉樹的基本概念。在二叉樹中,葉子節(jié)點(diǎn)的度是1;當(dāng)該二叉樹為空樹時(shí),根節(jié)點(diǎn)的度為零;為非空樹時(shí),根節(jié)點(diǎn)的度為2。4、結(jié)構(gòu)化程序設(shè)計(jì)方法的3種基本控制結(jié)構(gòu)中不包括A、循環(huán)結(jié)構(gòu)B、遞歸結(jié)構(gòu)C、順序結(jié)構(gòu)D、選擇結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查了程序的基本結(jié)構(gòu)。程序由一些基本結(jié)構(gòu)組成。任何一個(gè)大型的程序都由3種基本結(jié)構(gòu)組成,由這些基本結(jié)構(gòu)順序的構(gòu)成了一個(gè)結(jié)構(gòu)化的程序。這3種基本結(jié)構(gòu)為:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。5、下列敘述中正確的是A、在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間具有密切的聯(lián)系B、在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象都是公用的C、在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間相對(duì)獨(dú)立,相互依賴性小D、上述三種說(shuō)法都不對(duì)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查了面向?qū)ο蟮幕靖拍睢T诿嫦驅(qū)ο蟪绦蛟O(shè)計(jì)中所使用的對(duì)象,其數(shù)據(jù)和操作是作為平等伙伴出現(xiàn)的。因此,對(duì)象具有很強(qiáng)的自含性,此外,對(duì)象所固有的封裝性,使得對(duì)象的內(nèi)部實(shí)現(xiàn)與外界隔離,具有較強(qiáng)的獨(dú)立性。6、軟件工程的出現(xiàn)是由于A、程序設(shè)計(jì)方法學(xué)的影響B(tài)、軟件產(chǎn)業(yè)化的需要C、軟件危機(jī)的出現(xiàn)D、計(jì)算機(jī)的發(fā)展標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:軟件工程的基本概念。軟件工程概念的出現(xiàn)源自于軟件危機(jī)。為了消除軟件危機(jī),通過認(rèn)真研究解決軟件危機(jī)的方法,認(rèn)識(shí)到軟件工程是使計(jì)算機(jī)軟件走向工程科學(xué)的途徑,逐步形成了軟件工程的概念。7、下列對(duì)于軟件測(cè)試的描述中正確的是A、軟件測(cè)試的目的是證明程序是否正確B、軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確C、軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤D、軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查了軟件測(cè)試的概念。軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程,且為了達(dá)到好的測(cè)試效果,應(yīng)該由獨(dú)立的第三方來(lái)構(gòu)造測(cè)試,程序員應(yīng)盡量避免檢查自己的程序。8、在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,可實(shí)現(xiàn)數(shù)據(jù)共享的是A、人工管理階段B、文件系統(tǒng)階段C、數(shù)據(jù)庫(kù)系統(tǒng)階段D、系統(tǒng)管理階段標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查了考生對(duì)數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)的記憶。數(shù)據(jù)庫(kù)技術(shù)的主要目的是有效地管理和存取數(shù)據(jù)資源,包括提供數(shù)據(jù)的共享性,使多個(gè)用戶能夠同時(shí)訪問數(shù)據(jù)庫(kù)中的數(shù)據(jù);減少數(shù)據(jù)的冗余度,以提交數(shù)據(jù)的一致性和完整性;提供數(shù)據(jù)與應(yīng)用程序的獨(dú)立性,從而減少應(yīng)用程序的開發(fā)和維護(hù)代價(jià)。數(shù)據(jù)庫(kù)的人工管理階段和文件系統(tǒng)階段,數(shù)據(jù)都不能實(shí)現(xiàn)共享,出現(xiàn)數(shù)據(jù)冗余現(xiàn)象。選項(xiàng)D)的說(shuō)法是錯(cuò)誤的。9、有三個(gè)關(guān)系R、S和T如下:由關(guān)系R和S通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為A、并B、自然連接C、笛卡爾積D、交標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查了關(guān)系之間的運(yùn)算。在關(guān)系運(yùn)算中,交的定義如下:設(shè)R1和R2為參加運(yùn)算的兩個(gè)關(guān)系,它們具有相同的度n,且相對(duì)應(yīng)的屬性值取自同一個(gè)域,則R1∩R2為交運(yùn)算,結(jié)果仍為度等于n的關(guān)系,其中,交運(yùn)算的結(jié)果既屬于R1又屬于R2。10、數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和A、編碼設(shè)計(jì)B、測(cè)試階段C、運(yùn)行階段D、物理設(shè)計(jì)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查了數(shù)據(jù)庫(kù)設(shè)計(jì)概述。數(shù)據(jù)庫(kù)設(shè)計(jì)目前一般采用生命周期法,即將整個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開發(fā)分解成目標(biāo)獨(dú)立的若干階段。它們是需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段和物理設(shè)計(jì)階段。11、下面敘述正確的是A、算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)B、算法的空間復(fù)雜度是指算法程序中指令(或語(yǔ)句)的條數(shù)C、算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止D、以上三種描述都不對(duì)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查了算法的基本概念。算法的執(zhí)行效率不僅與問題的規(guī)模有關(guān),還與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有關(guān);算法的空間復(fù)雜度是指執(zhí)行算法所需要的內(nèi)存空間;算法的有窮性是指算法必須能在有限的時(shí)間內(nèi)執(zhí)行完,即算法必須能在執(zhí)行有限個(gè)步驟之后終止。12、下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是A、線性鏈表B、棧C、循環(huán)鏈表D、順序表標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題主要考查對(duì)于棧的理解。棧是限定在一端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照"先進(jìn)后出"或"后進(jìn)先出"的原則組織數(shù)據(jù)的。隊(duì)列組織數(shù)據(jù)的原則是"先進(jìn)先出"或"后進(jìn)后出"。13、在下列關(guān)于二叉樹的敘述中,正確的一項(xiàng)是A、在二叉樹中,任何一個(gè)結(jié)點(diǎn)的度都是2B、二叉樹的度為2C、在二叉樹中至少有一個(gè)結(jié)點(diǎn)的度是2D、一棵二叉樹的度可以小于2標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查了二叉樹的基本概念。在二叉樹中,葉子節(jié)點(diǎn)的度是1;當(dāng)該二叉樹為空樹時(shí),根節(jié)點(diǎn)的度為零;為非空樹時(shí),根節(jié)點(diǎn)的度為2。14、結(jié)構(gòu)化程序設(shè)計(jì)方法的3種基本控制結(jié)構(gòu)中不包括A、循環(huán)結(jié)構(gòu)B、遞歸結(jié)構(gòu)C、順序結(jié)構(gòu)D、選擇結(jié)構(gòu)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查了程序的基本結(jié)構(gòu)。程序由一些基本結(jié)構(gòu)組成。任何一個(gè)大型的程序都由3種基本結(jié)構(gòu)組成,由這些基本結(jié)構(gòu)順序的構(gòu)成了一個(gè)結(jié)構(gòu)化的程序。這3種基本結(jié)構(gòu)為:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。15、下列敘述中正確的是A、在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間具有密切的聯(lián)系B、在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象都是公用的C、在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間相對(duì)獨(dú)立,相互依賴性小D、上述三種說(shuō)法都不對(duì)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查了面向?qū)ο蟮幕靖拍?。在面向?qū)ο蟪绦蛟O(shè)計(jì)中所使用的對(duì)象,其數(shù)據(jù)和操作是作為平等伙伴出現(xiàn)的。因此,對(duì)象具有很強(qiáng)的自含性,此外,對(duì)象所固有的封裝性,使得對(duì)象的內(nèi)部實(shí)現(xiàn)與外界隔離,具有較強(qiáng)的獨(dú)立性。16、軟件工程的出現(xiàn)是由于A、程序設(shè)計(jì)方法學(xué)的影響B(tài)、軟件產(chǎn)業(yè)化的需要C、軟件危機(jī)的出現(xiàn)D、計(jì)算機(jī)的發(fā)展標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:軟件工程的基本概念。軟件工程概念的出現(xiàn)源自于軟件危機(jī)。為了消除軟件危機(jī),通過認(rèn)真研究解決軟件危機(jī)的方法,認(rèn)識(shí)到軟件工程是使計(jì)算機(jī)軟件走向工程科學(xué)的途徑,逐步形成了軟件工程的概念。17、下列對(duì)于軟件測(cè)試的描述中正確的是A、軟件測(cè)試的目的是證明程序是否正確B、軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確C、軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤D、軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查了軟件測(cè)試的概念。軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程,且為了達(dá)到好的測(cè)試效果,應(yīng)該由獨(dú)立的第三方來(lái)構(gòu)造測(cè)試,程序員應(yīng)盡量避免檢查自己的程序。18、在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,可實(shí)現(xiàn)數(shù)據(jù)共享的是A、人工管理階段B、文件系統(tǒng)階段C、數(shù)據(jù)庫(kù)系統(tǒng)階段D、系統(tǒng)管理階段標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查了考生對(duì)數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)的記憶。數(shù)據(jù)庫(kù)技術(shù)的主要目的是有效地管理和存取數(shù)據(jù)資源,包括提供數(shù)據(jù)的共享性,使多個(gè)用戶能夠同時(shí)訪問數(shù)據(jù)庫(kù)中的數(shù)據(jù);減少數(shù)據(jù)的冗余度,以提交數(shù)據(jù)的一致性和完整性;提供數(shù)據(jù)與應(yīng)用程序的獨(dú)立性,從而減少應(yīng)用程序的開發(fā)和維護(hù)代價(jià)。數(shù)據(jù)庫(kù)的人工管理階段和文件系統(tǒng)階段,數(shù)據(jù)都不能實(shí)現(xiàn)共享,出現(xiàn)數(shù)據(jù)冗余現(xiàn)象。選項(xiàng)D)的說(shuō)法是錯(cuò)誤的。19、有三個(gè)關(guān)系R、S和T如下:由關(guān)系R和S通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為A、并B、自然連接C、笛卡爾積D、交標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查了關(guān)系之間的運(yùn)算。在關(guān)系運(yùn)算中,交的定義如下:設(shè)R1和R2為參加運(yùn)算的兩個(gè)關(guān)系,它們具有相同的度n,且相對(duì)應(yīng)的屬性值取自同一個(gè)域,則R1∩R2為交運(yùn)算,結(jié)果仍為度等于n的關(guān)系,其中,交運(yùn)算的結(jié)果既屬于R1又屬于R2。20、數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和A、編碼設(shè)計(jì)B、測(cè)試階段C、運(yùn)行階段D、物理設(shè)計(jì)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查了數(shù)據(jù)庫(kù)設(shè)計(jì)概述。數(shù)據(jù)庫(kù)設(shè)計(jì)目前一般采用生命周期法,即將整個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開發(fā)分解成目標(biāo)獨(dú)立的若干階段。它們是需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段和物理設(shè)計(jì)階段。二、選擇題(1分)(本題共20題,每題1.0分,共20分。)21、以下敘述中正確的是A、用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作B、用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要有輸入C、用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出D、用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:算法具有的5個(gè)特性是:有窮性;確定性;可行性;有0個(gè)或多個(gè)輸入;有一個(gè)或多個(gè)輸出。所以說(shuō),用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出。22、下列可用于C語(yǔ)言用戶標(biāo)識(shí)符的一組是A、void,define,WORDB、a3_3,_123,CarC、For,-abc,IFCaseD、2a,DO,sizeof標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:C語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線3種字符組成,且第一個(gè)字符必須為字母或下劃線,排除選項(xiàng)C)和D);C語(yǔ)言中還規(guī)定標(biāo)識(shí)符不能為C語(yǔ)言的關(guān)鍵字,而選項(xiàng)A)中void為關(guān)鍵字,故排除選項(xiàng)A)。23、以下選項(xiàng)中可作為C語(yǔ)言合法常量的是A、-80B、-080C、-8e1.0D、-80.0e標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選項(xiàng)B)項(xiàng)中,以0開頭表示是一個(gè)八進(jìn)制數(shù),而八進(jìn)制數(shù)的取值范圍是0~7,所以-080是不合法的;選項(xiàng)C)和D)中,e后面的指數(shù)必須是整數(shù),所以也不合法。24、若有語(yǔ)句:char*line[5];,以下敘述中正確的是A、定義line是一個(gè)數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類型為char為指針變量B、定義line是一個(gè)指針變量,該變量可以指向一個(gè)長(zhǎng)度為5的字符型數(shù)組C、定義line是一個(gè)指針數(shù)組,語(yǔ)句中的*號(hào)稱為間址運(yùn)算符D、定義line是一個(gè)指向字符型函數(shù)的指針標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:C語(yǔ)言中[]比*優(yōu)先級(jí)高,因此line先與[5]結(jié)合,形成line[5]形式,這是數(shù)組形式,它有5個(gè)元素,然后再與line前面的"*"結(jié)合,表示此數(shù)組是一個(gè)指針數(shù)組,每個(gè)數(shù)組元素都是一個(gè)基類型為char的指針變量。25、以下定義語(yǔ)句中正確的是A、inta=b=0;B、charA=65+1,b=′b′;C、floata=1,*b=&a,*c=&b;D、doublea=00;b=1.1;標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查變量的定義方法。如果要一次進(jìn)行多個(gè)變量的定義,則在它們之間要用逗號(hào)隔開,因此選項(xiàng)A)和D)錯(cuò)誤。在選項(xiàng)C)中,變量c是一個(gè)浮點(diǎn)型指針,它只能指向一個(gè)浮點(diǎn)型數(shù)據(jù),不能指向指針變量b,故選項(xiàng)C)錯(cuò)誤。26、有以下程序段charch;intk;ch=′a′;k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是A、因變量類型與格式描述符的類型不匹配輸出無(wú)定值B、輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值C、a,97,12k=12D、a,97,k=12標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號(hào)的十進(jìn)制整型數(shù)輸出,所以第一個(gè)輸出語(yǔ)句輸出的結(jié)果為a,97;第二個(gè)輸出語(yǔ)句輸出的結(jié)果為k=12。27、有以下程序main(){inti,s=1;for(i=1;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf("%d\n",s);}程序的輸出結(jié)果是A、409B、277C、1D、91標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題是計(jì)算50之內(nèi)的自然數(shù)相加之和,題中if語(yǔ)句括號(hào)中的條件表達(dá)式!(i%5)&&!(i%3)表明只有能同時(shí)被5和3整除的數(shù)才符合相加的條件,1~49之間滿足這個(gè)條件的只有,15、30和45,因?yàn)閟的初始值為1,所以s=1+15+30+45=91。28、當(dāng)變量c的值不為2、4、6時(shí),值也為"真"的表達(dá)式是A、(c==2)||(c==4)||(c==6)B、(c>=2&&c<=6)||(c!=3)||(c!=5)C、(c>=2&&c<=6)&&!(c%2)D、(c>=2&&c<=6)&&(c%2!=1)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:滿足表達(dá)式(c>=2&&c<=6)的整型變量c的值是2,3,4,5,6。當(dāng)變量c的值不為2,4,6時(shí),其值只能為3或5,所以表達(dá)式c!=3和c!=5中至少有一個(gè)為真,即不論c為何值,選項(xiàng)B中的表達(dá)式都為"真"。29、若變量已正確定義,有以下程序段inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其輸出結(jié)果是A、程序段有語(yǔ)法錯(cuò)B、3,5,3C、3,5,5D、3,5,7標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:兩個(gè)if語(yǔ)句的判斷條件都不滿足,程序只執(zhí)行了c=a這條語(yǔ)句,所以變量c的值等于3,變量b的值沒能變化,程序輸出的結(jié)果為3,5,3。所以正確答案為B)。30、有以下程序#includemain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf("a=%d,b=%d\n",a,b);}程序的運(yùn)行結(jié)果是A、a=1,b=0B、a=2,b=2C、a=1,b=1D、a=2,b=1標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查switch語(yǔ)句,首先,x=1符合條件case1,執(zhí)行switch(y)語(yǔ)句,y=0符合case0語(yǔ)句,執(zhí)行a++并跳出switch(y)語(yǔ)句,此時(shí)a=1。因?yàn)閏ase1語(yǔ)句后面沒有break語(yǔ)句,所以向后執(zhí)行case2語(yǔ)句,執(zhí)行a++,b++,然后跳出switch(x),得a=2,b=1。31、以下敘述中正確的是A、用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作B、用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要有輸入C、用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出D、用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:算法具有的5個(gè)特性是:有窮性;確定性;可行性;有0個(gè)或多個(gè)輸入;有一個(gè)或多個(gè)輸出。所以說(shuō),用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出。32、下列可用于C語(yǔ)言用戶標(biāo)識(shí)符的一組是A、void,define,WORDB、a3_3,_123,CarC、For,-abc,IFCaseD、2a,DO,sizeof標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:C語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線3種字符組成,且第一個(gè)字符必須為字母或下劃線,排除選項(xiàng)C)和D);C語(yǔ)言中還規(guī)定標(biāo)識(shí)符不能為C語(yǔ)言的關(guān)鍵字,而選項(xiàng)A)中void為關(guān)鍵字,故排除選項(xiàng)A)。33、以下選項(xiàng)中可作為C語(yǔ)言合法常量的是A、-80B、-080C、-8e1.0D、-80.0e標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選項(xiàng)B)項(xiàng)中,以0開頭表示是一個(gè)八進(jìn)制數(shù),而八進(jìn)制數(shù)的取值范圍是0~7,所以-080是不合法的;選項(xiàng)C)和D)中,e后面的指數(shù)必須是整數(shù),所以也不合法。34、若有語(yǔ)句:char*line[5];,以下敘述中正確的是A、定義line是一個(gè)數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類型為char為指針變量B、定義line是一個(gè)指針變量,該變量可以指向一個(gè)長(zhǎng)度為5的字符型數(shù)組C、定義line是一個(gè)指針數(shù)組,語(yǔ)句中的*號(hào)稱為間址運(yùn)算符D、定義line是一個(gè)指向字符型函數(shù)的指針標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:C語(yǔ)言中[]比*優(yōu)先級(jí)高,因此line先與[5]結(jié)合,形成line[5]形式,這是數(shù)組形式,它有5個(gè)元素,然后再與line前面的"*"結(jié)合,表示此數(shù)組是一個(gè)指針數(shù)組,每個(gè)數(shù)組元素都是一個(gè)基類型為char的指針變量。35、以下定義語(yǔ)句中正確的是A、inta=b=0;B、charA=65+1,b=′b′;C、floata=1,*b=&a,*c=&b;D、doublea=00;b=1.1;標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查變量的定義方法。如果要一次進(jìn)行多個(gè)變量的定義,則在它們之間要用逗號(hào)隔開,因此選項(xiàng)A)和D)錯(cuò)誤。在選項(xiàng)C)中,變量c是一個(gè)浮點(diǎn)型指針,它只能指向一個(gè)浮點(diǎn)型數(shù)據(jù),不能指向指針變量b,故選項(xiàng)C)錯(cuò)誤。36、有以下程序段charch;intk;ch=′a′;k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是A、因變量類型與格式描述符的類型不匹配輸出無(wú)定值B、輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值C、a,97,12k=12D、a,97,k=12標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號(hào)的十進(jìn)制整型數(shù)輸出,所以第一個(gè)輸出語(yǔ)句輸出的結(jié)果為a,97;第二個(gè)輸出語(yǔ)句輸出的結(jié)果為k=12。37、有以下程序main(){inti,s=1;for(i=1;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf("%d\n",s);}程序的輸出結(jié)果是A、409B、277C、1D、91標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題是計(jì)算50之內(nèi)的自然數(shù)相加之和,題中if語(yǔ)句括號(hào)中的條件表達(dá)式!(i%5)&&!(i%3)表明只有能同時(shí)被5和3整除的數(shù)才符合相加的條件,1~49之間滿足這個(gè)條件的只有,15、30和45,因?yàn)閟的初始值為1,所以s=1+15+30+45=91。38、當(dāng)變量c的值不為2、4、6時(shí),值也為"真"的表達(dá)式是A、(c==2)||(c==4)||(c==6)B、(c>=2&&c<=6)||(c!=3)||(c!=5)C、(c>=2&&c<=6)&&!(c%2)D、(c>=2&&c<=6)&&(c%2!=1)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:滿足表達(dá)式(c>=2&&c<=6)的整型變量c的值是2,3,4,5,6。當(dāng)變量c的值不為2,4,6時(shí),其值只能為3或5,所以表達(dá)式c!=3和c!=5中至少有一個(gè)為真,即不論c為何值,選項(xiàng)B中的表達(dá)式都為"真"。39、若變量已正確定義,有以下程序段inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其輸出結(jié)果是A、程序段有語(yǔ)法錯(cuò)B、3,5,3C、3,5,5D、3,5,7標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:兩個(gè)if語(yǔ)句的判斷條件都不滿足,程序只執(zhí)行了c=a這條語(yǔ)句,所以變量c的值等于3,變量b的值沒能變化,程序輸出的結(jié)果為3,5,3。所以正確答案為B)。40、有以下程序#includemain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf("a=%d,b=%d\n",a,b);}程序的運(yùn)行結(jié)果是A、a=1,b=0B、a=2,b=2C、a=1,b=1D、a=2,b=1標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查switch語(yǔ)句,首先,x=1符合條件case1,執(zhí)行switch(y)語(yǔ)句,y=0符合case0語(yǔ)句,執(zhí)行a++并跳出switch(y)語(yǔ)句,此時(shí)a=1。因?yàn)閏ase1語(yǔ)句后面沒有break語(yǔ)句,所以向后執(zhí)行case2語(yǔ)句,執(zhí)行a++,b++,然后跳出switch(x),得a=2,b=1。三、選擇題(2分)(本題共40題,每題1.0分,共40分。)41、如下程序的輸出結(jié)果是#includemain(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}A、69825B、63825C、6385D、693825標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:考查通過指針引用字符串?dāng)?shù)組中的元素。通過行指針p來(lái)實(shí)現(xiàn)數(shù)組元素的引用。用格式說(shuō)明符%s進(jìn)行整串輸入與輸出。42、下面程序的運(yùn)行結(jié)果是#includemain(){inta=28,b;chars[10],*p;p=s;do{b=a%16;if(b<10)*p=b+48;else*p=b+55;p++;a=a/5;}while(a>0);*p=′\0′;puts(s);}A、10B、C2C、C51D、\0標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:考查用字符指針處理字符串的方法。語(yǔ)句"p=s;"是使指針p指向字符數(shù)組s。*p則引用了p所指位置的數(shù)組元素。通過指針來(lái)引用一維數(shù)組元素。43、下列程序執(zhí)行后的輸出結(jié)果是voidfunc1(inti);voidfunc2(inti);charst[]="hello,friend!";voidfunc1(inti){printf("%c",st[i]);if(i<3){i+=2;func2(i);}}voidfunc2(inti){printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main(){inti=0;func1(i);printf("\n");}A、helloB、helC、hloD、m標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:考查函數(shù)的調(diào)用。函數(shù)調(diào)用的一般形式為:函數(shù)名(實(shí)參列表)首先調(diào)用函數(shù)func1(0),輸出st[0]=h。i值變?yōu)?,并調(diào)用函數(shù)func2(2),輸出st[2]=l。i值此時(shí)變?yōu)?,又調(diào)用函數(shù)func1(4),輸出st[4]=0。此時(shí)i值大于等于3,執(zhí)行完畢,因此,輸出結(jié)果為hlo。函數(shù)調(diào)用的一般格式以及函數(shù)的返回值。44、以下程序的輸出結(jié)果是#includevoidprt(int*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++*y,*(z++));}main(){inta=10,b=40,c=20;prt(&a,&b,&c);prt(&a,&b,&c);}A、11,42,3112,22,41B、11,41,2012,42,20C、11,21,4011,21,21D、11,41,2112,42,22標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:考查指針作為參數(shù)的函數(shù)調(diào)用。盡管C語(yǔ)言以傳值方式進(jìn)行函數(shù)調(diào)用,但也可以通過傳遞指針的值(變量的地址)來(lái)達(dá)到修改實(shí)參變量值的目的,這是此題主要說(shuō)明的問題。另外,應(yīng)注意表達(dá)式*(z++)的值是*z,其后的z++在程序中無(wú)實(shí)際作用。函數(shù)調(diào)用時(shí),由于x,y和z分指向a,b和c,因此,*x,*y和*z就是a,b和c。第一次調(diào)用函數(shù)時(shí),*x=a=10,*y=b=40,*z=c=20輸出結(jié)果為11,41,20,至此,已經(jīng)可以肯定選項(xiàng)B)是正確的。在第一次輸出后,a=11,b=41,c=20,第二次輸出為:12,42,20。45、下列二維數(shù)組初始化語(yǔ)句中,正確且與語(yǔ)句floata[][3]={0,3,8,0,9};等價(jià)的是A、floata[2][]={{0,3,8},{0,9}};B、floata[][3]={0,3,8,0,9,0};C、floata[][3]={{0,3},{8,0},{9,0}};D、floata[2][]={{0,3,8},{0,9,0}};標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:考查二維數(shù)組的定義和初始化。在選項(xiàng)B)中,因?yàn)閿?shù)組第一維的數(shù)目不明確,所以理解會(huì)有歧義,可以理解為1行3列,或者2行3列等。46、以下程序輸出的結(jié)果是#include#includemain(){charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k<3;k++)printf("%s\n",&w[k][k]);}A、ABCDFGHKLB、ABCEFGIJMC、EFGJK0D、FGHKL標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:考查二維數(shù)組的定義及其元素引用的方法。當(dāng)k=1時(shí),引用的是二維數(shù)組元素w[1][1],值為字符串"FGH";當(dāng)k=2時(shí),引用的是數(shù)組元素w[2][2],即字符串"KL";當(dāng)k=3時(shí),結(jié)束程序的執(zhí)行。47、下面能正確進(jìn)行字符串賦值操作的是A、chars[5]={"ABCDE"};B、chars[5]={′A′,′B′,′C′,′D′,′E′};C、char*s;s="ABCDE";D、char*s;scanf("%s",s);標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:考查了一維字符數(shù)組的定義和初始化。選項(xiàng)A)和B)定義的數(shù)組空間太小,至少應(yīng)該為6個(gè)字符的長(zhǎng)度才可以。選項(xiàng)D)中的指針s未賦初值,所以指向一個(gè)不確定的地址,因而不能用scanf輸入數(shù)據(jù)到這一指針?biāo)赶虻牡刂分小?8、有以下程序main(){inti,s=0,t[]={l,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是A、45B、20C、25D、36標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:統(tǒng)計(jì)1~9九個(gè)數(shù)中的奇數(shù)和,此題考察指向數(shù)組的指針。C語(yǔ)言規(guī)定數(shù)組名代表數(shù)組的首地址,也就是第一個(gè)元素的地址。因此*(t+i)代表數(shù)組的第i+1個(gè)元素。程序運(yùn)行的結(jié)果是1+2+3+4+5+6+7+8+9=25。49、以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是main(){int*p,*q,a,b;p=&a;printf("inputa:");scanf("%d",*p);}A、*p表示的是指針變量p的地址B、*p表示的是變量a的值,而不是變量a的地址C、*p表示的是指針變量p的值D、*p只能用來(lái)說(shuō)明p是一個(gè)指針變量標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:考查格式輸入語(yǔ)句scanf的使用。本題經(jīng)過定義語(yǔ)句和賦值后,p表示的是變量a的地址,*p表示的是變量a的值。50、閱讀下列程序,則在執(zhí)行后,程序的運(yùn)行結(jié)果為#include"stdio.h"#include"string.h"main(){chara[30]="nicetomeetyou!";strcpy(a+strlen(a)/2,"you");printf("%s\n",a);}A、nicetomeetyouyouB、nicetoC、meetyouyouD、nicetoyou標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:考查通過賦值的方式給一維數(shù)組賦初值。字符串復(fù)制函數(shù)strcpy調(diào)用形式為:strcpy(s1,s2),此函數(shù)用來(lái)把s2所指字符串的內(nèi)容復(fù)制到s1所指存儲(chǔ)空間中,函數(shù)返回s1的值,即目的串的首地址;求字符串長(zhǎng)度函數(shù)strlen的調(diào)用形式如下:strlen(s),此函數(shù)計(jì)算出以s為起始地址的字符串長(zhǎng)度,并作為函數(shù)值返回。注意這一長(zhǎng)度不包括串的結(jié)束標(biāo)志。用于字符串處理的函數(shù)。51、若有下面的程序片段:int[12]={0},*p[3],**pp,i;for(i=0;i<3;i)p[i]=&a[i*4];pp=p;則對(duì)數(shù)組元素的錯(cuò)誤引用是A、pp[0][1]B、a[10]C、p[3][1]D、*(*(p+2)+2)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:考查指向數(shù)組的指針。本題綜合考查一維數(shù)組和多維數(shù)組指針變量的表示方法。在C語(yǔ)言中,引用數(shù)組元素的方法有兩種,即下標(biāo)法和指針法。下標(biāo)法如a[i]形式;指針法如*(a+i)或*(p+1)。其中,a是數(shù)組名,p是指向數(shù)組的指針變量,其初值p=a。再如*(*(p+2)+2)是a[2][2]的值,注意語(yǔ)句中指針型數(shù)組的書寫格式,不能寫成"(*數(shù)組名)[長(zhǎng)度]",因?yàn)檫@是定義指向含有"長(zhǎng)度"個(gè)元素的一維數(shù)組的指針變量。例如有定義語(yǔ)句"inta,b,c,c,*p[3]={&a,&b,&c};",它定義了一個(gè)名為p的指針型數(shù)組,其3個(gè)元素p[0],p[1],p[2]分別指向f3個(gè)整型變量a,b,c。52、設(shè)有下面的程序段:chars[]="china";char*p;p=s;則下列敘述正確的是A、s和p完全相同B、數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相同C、s數(shù)組長(zhǎng)度和p所指向的字符串長(zhǎng)度相等D、*p與s[0]相等標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:考查的是字符指針和字符數(shù)組的區(qū)別。選項(xiàng)A)中,s為數(shù)組名,是一個(gè)常量地址,而指針p為一個(gè)字符變量,不能說(shuō)兩者完全相同,所以選項(xiàng)A)錯(cuò)誤。選項(xiàng)B)和C)的說(shuō)法都不嚴(yán)謹(jǐn),只有選項(xiàng)D)的說(shuō)法正確。53、若有函數(shù)max(a,b),為了讓函數(shù)指針變量p指向函數(shù)max,當(dāng)調(diào)用該函數(shù)時(shí),正確的賦值方法是A、(*p)max(a,b)B、*pmax(a,b)C、p=max(a,b)D、*p=max(a,b)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:考查指向函數(shù)的指針變量的使用。在本題中,將函數(shù)的入口地址賦給指針后就可以用該指針調(diào)用函數(shù)了。54、以下程序的運(yùn)行結(jié)果是#defineMAX(A,B)(A)>(B)?(A):(B)#definePRINT(Y)printf("Y=%d\t",Y)main(){inta=1,b=2,c=3,d=4,t;t=MAX(a+b,c+d);PRINT(t);}A、Y=3B、存在語(yǔ)法錯(cuò)誤C、Y=7D、Y=0標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:考查帶參數(shù)的宏替換。宏替換不像函數(shù)調(diào)用要進(jìn)行參數(shù)值的計(jì)算、傳遞等,而只是簡(jiǎn)單按照原格式進(jìn)行字符串的替換。55、以下程序的功能是進(jìn)行位運(yùn)算main(){unsignedchara,b;a=7^3;b=~4&3;printf("%d%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是A、43B、73C、70D、40標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:考查位運(yùn)算的運(yùn)算原理。a=7^3=111^11=100=4(十進(jìn)制),b=~4&3=~100&11=11&11=11=3(十進(jìn)制),所以,答案為選項(xiàng)A)。56、請(qǐng)選出以下程序的輸出結(jié)果#includemain(){inta[]={1,2,3,4},i;intx=0;for(i=0;i<4;i++){sub(a,x);printf("%d",x);}printf("\n");}sub(s,y)int*s,y;{staticintt=3;y=s[t];t--;}A、1234B、4321C、0000D、4444標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:考查通過指針來(lái)引用一維數(shù)組元素的方法。若指針s指向數(shù)組a,則s[t]可以引用數(shù)組a中下標(biāo)為t的元素。57、以下程序的輸出結(jié)果是#includestructst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};main(){p=aa;printf("%d\n",++(p->x));}A、10B、11C、51D、60標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:考查結(jié)構(gòu)體成員數(shù)據(jù)的引用方法。通過指針來(lái)引用結(jié)構(gòu)體成員的方法是(指針變量)->結(jié)構(gòu)體成員名。58、以下scanf函數(shù)調(diào)用語(yǔ)句中對(duì)結(jié)構(gòu)體變量成員的引用不正確的是structpupil{charname[20];intageintsex;}pup[5],*p;p=pup;A、scanf("%s",pup[0].name);B、scanf("%d",&pup[0].age);C、scanf("%dT",&(p->sex));D、scanf("%d",p->age);標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:考查結(jié)構(gòu)體成員變量的引用方法??捎媒Y(jié)構(gòu)體變量名.數(shù)據(jù)成員名或者結(jié)構(gòu)體指針->數(shù)據(jù)成員名兩種方法來(lái)引用。結(jié)構(gòu)體類型的變量、數(shù)組和指針變量的定義。59、fwrite函數(shù)的一般調(diào)用形式是A、fwrite(buffer,count,size,fp);B、fwrite(fp,size,count,buffer);C、fwrite(fp,count,size,buffer);D、fwrite(buffer,size,count,fp);標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:fwrite的形式是fwrite(buffer,size,count,fp),buffer表示準(zhǔn)備輸出的數(shù)據(jù)塊的起始地址,size表示每個(gè)數(shù)據(jù)塊的字節(jié)數(shù),count用來(lái)指定每寫一次或輸出的數(shù)據(jù)塊,fp為文件指針。60、函數(shù)rewind的作用是A、使文件位置指針重新返回文件的開始位置B、將文件位置指針指向文件中所要求的特定位置C、使文件位置指針指向文件的末尾D、使文件位置指針自動(dòng)移至下一個(gè)字符位置標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:函數(shù)rewind的功能是將文件指針重新指向一個(gè)流的開頭。用法如下:intrewind(FILE*stream);并且無(wú)返值。61、如下程序的輸出結(jié)果是#includemain(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論