2016年計算機(jī)二級c語言題庫及答案_第1頁
2016年計算機(jī)二級c語言題庫及答案_第2頁
2016年計算機(jī)二級c語言題庫及答案_第3頁
2016年計算機(jī)二級c語言題庫及答案_第4頁
2016年計算機(jī)二級c語言題庫及答案_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2016年計算機(jī)二級c語言題庫及答案一、選擇題(每小題1分,共40小題,共40分)設(shè)循環(huán)隊列的存儲空間為Q(l:35),初始狀態(tài)為front二rear=35?,F(xiàn)經(jīng)過一系列入隊與退隊運(yùn)算后,front=15,rear=15,則循環(huán)隊列中的元素個數(shù)為()。200或351516B?!窘馕觥縌(1:35)則隊列的存儲空間為35;對空條件:front二rear(初始化時:front二rear),隊滿時:(rear+1)%n=二front,n為隊列長度(所用數(shù)組大小),因此當(dāng)執(zhí)行一系列的出隊與入隊操作,front二rear.則隊列要么為空,要么為滿。下列關(guān)于棧的敘述中,正確的是()。棧底兀素一定是最后入棧的兀素棧操作遵循先進(jìn)后出的原則棧頂兀素一定是最先入棧的兀素以上三種說法都不對B。【解析】棧是先進(jìn)后出,因此,棧底元素是先入棧的元素,棧頂元素是后入棧的兀素。下列鏈表中,其邏輯結(jié)構(gòu)屬于非線性結(jié)構(gòu)的是()0、雙向鏈表帶鏈的棧二叉鏈表循環(huán)鏈表C。【解析】數(shù)據(jù)的邏輯結(jié)構(gòu)是描述數(shù)據(jù)之間的關(guān)系,分兩大類:線性結(jié)構(gòu)和非線性結(jié)構(gòu)。線性結(jié)構(gòu)是n個數(shù)據(jù)元素的有序(次序)集合,指的是數(shù)據(jù)元素之間存在著“一對一”的線性關(guān)系的數(shù)據(jù)結(jié)構(gòu)。常用的線性結(jié)構(gòu)有:線性表,棧,隊列,雙隊列,數(shù)組,串。非線性結(jié)構(gòu)的邏輯特征是一個結(jié)點(diǎn)元素可能對應(yīng)多個直接前驅(qū)和多個后驅(qū)。常見的非線性結(jié)構(gòu)有:樹(二叉樹等),圖(網(wǎng)等),廣義表。在關(guān)系數(shù)據(jù)庫中,用來表示實體間聯(lián)系的是()。網(wǎng)狀結(jié)構(gòu)樹狀結(jié)構(gòu)屬性二維表D?!窘馕觥繂我坏臄?shù)據(jù)結(jié)構(gòu)一一關(guān)系,現(xiàn)實世界的實體以及實體間的各種聯(lián)系均用關(guān)系來表示。數(shù)據(jù)的邏輯結(jié)構(gòu)——二維表,從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。但是關(guān)系模型的這種簡單的數(shù)據(jù)結(jié)構(gòu)能夠表達(dá)豐富的語義,描述出現(xiàn)實世界的實體以及實體間的各種關(guān)系。公司中有多個部門和多名職員,每個職員只能屬于一個部門,一個部門可以有多名職員。則實體部門和職員間的聯(lián)系是()。l:m聯(lián)系m:n聯(lián)系l:l聯(lián)系m:l聯(lián)系A(chǔ)。【解析】部門到職員是一對多的,職員到部門是多對一的,因此,實體部門和職員間的聯(lián)系是l:m聯(lián)系。右兩個關(guān)系R和S如下:則由關(guān)系R得到關(guān)系S的操作是()。A.自然連接B.并C.選擇D.投影C。【解析】選擇:是在數(shù)據(jù)表中給予一定的條件進(jìn)行篩選數(shù)據(jù)。投影:是把表中的某幾個屬性的數(shù)據(jù)選擇出來。連接:有自然連接、外連接,內(nèi)連接等,連接主要用于多表之間的數(shù)據(jù)查詢。并:與數(shù)學(xué)中的并是一樣的。兩張表進(jìn)行并操作,要求它們的屬性個數(shù)相同并且需要相容。7?數(shù)據(jù)字典(DD)所定義的對象都包含于()。軟件結(jié)構(gòu)圖方框圖數(shù)據(jù)流圖(DFD圖)程序流程圖C?!窘馕觥繑?shù)據(jù)字典(DD)是指對數(shù)據(jù)的數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯、外部實體等進(jìn)行定義和描述,其目的是對數(shù)據(jù)流程圖中的各個元素做出詳細(xì)的說明。軟件需求規(guī)格說明書的作用不包括()。A.軟件設(shè)計的依據(jù)B.軟件可行性研究的依據(jù)C.軟件驗收的依據(jù)D.用戶與開發(fā)人員對軟件要做什么的共同理解B?!窘馕觥俊盾浖尚行苑治鰣蟾妗肥擒浖尚行匝芯康囊罁?jù)。下面屬于黑盒測試方法的是()。邊界值分析路徑覆蓋語句覆蓋邏輯覆蓋A。【解析】黑盒測試方法主要有等價類劃分、邊界值分析、因果圖、錯誤推測等。白盒測試的主要方法有邏輯驅(qū)動、路徑測試等,主要用于軟件驗證。下面不屬于軟件設(shè)計階段任務(wù)的是()。制訂軟件確認(rèn)測試計劃數(shù)據(jù)庫設(shè)計軟件總體設(shè)計算法設(shè)計A。【解析】軟件設(shè)計階段的主要任務(wù)包括丙個:一是進(jìn)行軟件系統(tǒng)的可行性分析,確定軟件系統(tǒng)的建設(shè)是否值得,能否建成。二是進(jìn)行軟件的系統(tǒng)分析,了解用戶的需求,定義應(yīng)用功能,詳細(xì)估算開發(fā)成本和開發(fā)周期。以下敘述中正確的是()。在C語言程序中,main函數(shù)必須放在其他函數(shù)的最前面B.每個后綴為C的C語言源程序都可以單獨(dú)進(jìn)行編譯在C語言程序中,只有main函數(shù)才可單獨(dú)進(jìn)行編譯每個后綴為.C的C語言源程序都應(yīng)該包含一個main函數(shù)B?!窘馕觥緾語言是一種成功的系統(tǒng)描述語言,具有良好的移植性,每個后綴為.C的C語言源程序都可以單獨(dú)進(jìn)行編譯。C語言中的標(biāo)識符分為關(guān)鍵字、預(yù)定義標(biāo)識符和用戶標(biāo)識符,以下敘述正確的是()。預(yù)定義標(biāo)識符(如庫函數(shù)中的函數(shù)名)可用做用戶標(biāo)識符,但失去原有含義用戶標(biāo)識符可以由字母和數(shù)字任意順序組成在標(biāo)識符中大寫字母和小寫字母被認(rèn)為是相同的字符關(guān)鍵字可用做用戶標(biāo)識符,但失去原有含義A。【解析】用戶標(biāo)識符不能以數(shù)字開頭,C語言中標(biāo)識符是區(qū)分大小寫的,關(guān)鍵字不能用做用戶標(biāo)識符。以下選項中表示一個合法的常量是(說明:符號口表示空格)()。9口9口90Xab123E0.22.7eB。【解析】當(dāng)用指數(shù)形式表示浮點(diǎn)數(shù)據(jù)時,E的前后都要有數(shù)據(jù),并且E的后面數(shù)要為整數(shù)。C語言主要是借助以下哪個功能來實現(xiàn)程序模塊化?()定義函數(shù)定義常量和外部變量C.三種基本結(jié)構(gòu)語句D.豐富的數(shù)據(jù)類型A?!窘馕觥緾語言是由函數(shù)組成的,函數(shù)是C語言的基本單位。所以可以說C語言主要是借助定義函數(shù)來實現(xiàn)程序模塊化。以下敘述中錯誤的是()。非零的數(shù)值型常量有正值和負(fù)值的區(qū)分B.常量是在程序運(yùn)行過程中值不能被改變的量C.定義符號常量必須用類型名來設(shè)定常量的類型D.用符號名表示的常量叫符號常量C°【解析】在C語言中,可以用一個標(biāo)識符來表示一個常量,稱之為符號常量。符號常量在使用之前必須先定義,其一般形式為:#define標(biāo)識符常量。若有定義和語句:inta,b;scanf("%d,%d",&a,&b);以下選項中的輸人數(shù)據(jù),不能把值3賦給變量a、5賦給變量b的是()。TOC\o"1-5"\h\z3,5,3,5,43,53,5C°【解析】在輸入3和5之間除逗號外不能有其他字符。C語言中char類型數(shù)據(jù)占字節(jié)數(shù)為()。3412C?!窘馕觥緾har類型數(shù)據(jù)占1個字節(jié)。下列關(guān)系表達(dá)式中,結(jié)果為“假”的是()。A.(3+4)>6(3!=4)>23<=4||3(3<4)=1B?!窘馕觥吭谝粋€表達(dá)式中,括號的優(yōu)先級高,先計算3!=4,為真即是1,1>2為假。若以下選項中的變量全部為整型變量,且已正確定義并賦值,則語法正確的switch語句是()。switch(a+9){casecl:y=a-b;casec2:y=a+b;}switcha*b{casel0:x=a+b;default:y=a-b;}switch(a+b){casel:case3:y=a+b;break;case0:case4:y=a-b;}switch(a*a+b*b){default:break;case3:y=a+b;break;case2:y=a-b;break;}D?!窘馕觥窟x項A,當(dāng)cl和c2相等時,不成立;選項B,a*b要用括號括起來;選項C,case與后面的數(shù)字用空格隔開。有以下程序:#includemain()main(){inta=-2,b=0;while(a++&&++b);printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。1,30,20,31,2D?!窘馕觥枯敵龅慕Y(jié)果是:-1,10,21,2設(shè)有定義:intx=o,*P;,立刻執(zhí)行以下語句,正確的語句是()。p=x;*p=x;D=NULL;*p=NULL;C?!窘馕觥咳绻麤]有把P指向一個指定的值,*P是不能被賦值的。定義指針變量不賦初始值時默認(rèn)為null。下列敘述中正確的是()??梢杂藐P(guān)系運(yùn)算符比較字符串的大小B.空字符串不占用內(nèi)存,其內(nèi)存空間大小是0C.兩個連續(xù)的單引號是合法的字符常量D.兩個連續(xù)的雙引號是合法的字符串常量D?!窘馕觥勘容^兩個字符串大小用函數(shù)strcomp(S,t),空字符串有結(jié)束符,所以也要占用字節(jié),兩個雙引號表示的是空字符串。有以下程序:#includemain(){rhara='H';a=(a>='A'&&a<='2')?(a-'A'+'a'):a;printf("%c\n",a);}程序運(yùn)行后的輸出結(jié)果是()。AaHhD?!窘馕觥慷嘣\(yùn)算符問號前面表達(dá)式為真,所以(a-'A'+'a')賦值給a,括號里的運(yùn)算是把大寫字母變成小寫字母,所以答案應(yīng)為選項D。有以下程序:#includeintf(intx);main(){inta,b=0;for(a=0;a<3;a++){b=b+f(a);putchar('A'+b);}}intf(intx){returnx*xl;}程序運(yùn)行后的輸出結(jié)果是()。ABEBDIBCFBCDB。【解析】第一次循環(huán)時,b=l,輸出結(jié)果為B;第二次循環(huán)時,b=3,輸出結(jié)果為D;第二次循環(huán)時,b=8,輸出結(jié)果為I。25?設(shè)有定義:intx[2][3];,則以下關(guān)于二維數(shù)組X的敘述錯誤的是()。x[O]可看做是由3個整型元素組成的一維數(shù)組B.x[0]和x[l]是數(shù)組名,分別代表不同的地址常量C.數(shù)組X包含6個元素可以用語句x[o]=0;為數(shù)組所有元素賦初值0D?!窘馕觥縳[0]是不能賦值的。設(shè)變量P是指針變量,語句P=NULL;是給指針變量賦NULL值,它等價于()。p="";p="0";p=0;p=";C?!窘馕觥吭贑語言中null等價于數(shù)字0。有以下程序:#includemain(){inta[]={10,20,30,40},*p=a,j;for(i=0;i<=3;i++){a[i]=*P;p++;}printf("oAd\n",a[2]);}程序運(yùn)行后的輸出結(jié)果是()。30401020A?!窘馕觥縁or循環(huán)結(jié)束后,數(shù)組a的值并沒有變化,由于數(shù)組是由0開始,所以a[2]的值是30。有以下程序:#include#defineN3voidfun(inta[][N],intb[]){inti,j;for(i=0;ifor(j=i;j}main(){intx[N][N]={1,2,3,4,5,6,7,8,9},y[N],i;fun(x,y);for(i=0;i}程序運(yùn)行后的輸出結(jié)果是(,)。2,4,8,3,6,9,3,5,7,1,3,5,B?!窘馕觥縁un函數(shù)功能是把數(shù)組a的每一行的最大值賦給b,a的第一行的最大值是3,第二行的最大值是6,第三行的最大值是9,所以答案是3,6,9。有以下程序(strcpy為字符串復(fù)制函數(shù),strcat為字符串連接函數(shù)):#include#includemain(){chara[10]="abc",b[10]="012",c[10]="xyz";strcpy(a+1,b+2);puts(strcat(a,c+1));}程序運(yùn)行后的輸出結(jié)果是()。al2xyz12yza2yzbc2yzC。【解析】第一次執(zhí)行字符串的復(fù)制函數(shù)a的值是a2,第二次執(zhí)行的是字符串的連接函數(shù),所以運(yùn)行結(jié)果為a2yz。以下選項中,合法的是()。charstr3[]={'d','e','b','u','g','\0'};charstr4;str4="helloworld";charname[10];name="china";charstrl[5]="pass",str2[6];str2=strl;A?!窘馕觥窟x項B不能把一個字符串賦值給一個字符變量,選項c和D犯了同樣的錯誤是把字符串賦給了數(shù)組名。有以下程序:#includemain(){char*s="[2]34";intk=0,a=0;whil(s[k+1]!='\o'){k++;if(k%2=o){a=a+(s[k]-'0'+1);continue;}a=a+(s[k]-'0');printf("k=%da=%d\n",k,a);}程序運(yùn)行后的輸出結(jié)果是()。k=6a=11k=3a=14k=4a=12k=5a=15C?!窘馕觥枯敵鼋Y(jié)果:k=la=2k=2a=4k=3a=7k=4a=12有以下程序:#includemain()chara[5][10]={"one","tw0","three","four","five"};inti,j;chart:、for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(a[i][O]>a[j][0]){t=a[i][O];a[i][O]=a[j][O];a[j][O]=t;)puts(a[1]);}程序運(yùn)行后的輸出結(jié)果是()。fwo.fix.two.owoA。【解析】For循環(huán)完成的功能是把二維數(shù)組a的第一列的字母按從小到大排序,其他列的字母不變。有以下程序:#includeinta=1,b=2:voidfunl(inta,intb){printf("%d%d",a,b);}voidfun2(){a=3;b=4;}main(){funl(5,6);fun2();printf("%d%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。1256563456123456B?!窘馕觥縁unl是輸出局部變量的值,fun2是把全局變量的值改成3和4,所以輸出的結(jié)果是5634。有以下程序:#includevoidfunc(intn){staticintnum=1);num=num+n;printf("%d",num);}main(){funo(3);func(4);printf("n");}程序運(yùn)行后的輸出結(jié)果是()。48343545A。【解析】第一調(diào)用func函數(shù)時輸出4,第二次調(diào)用func函數(shù)時num的值并不會釋放,仍然是上次修改后的值4,第二次調(diào)用結(jié)果為8,所以輸出結(jié)果是48。有以下程序:#include#includevoidfun(int*pl,int*p2,int*s){s=(int*)malloc(sizeof(int));*s=*pl+*p2;free(s);main(){inta=1,b=40,*q=&a;fun(&a,&b,q);printf("%d\n",*q);}程序運(yùn)行后的輸出結(jié)果是()。420141C?!窘馕觥縁un函數(shù)功能是新開辟內(nèi)存空間存放a和b的地址,q的地址并沒有變化,所以應(yīng)該還是指向地址a。有以下程序:#includestructSTU{charname[9];charsex;intscore[2];};voidf(structSTUa[]){structSTUb={"Zhao",'m',85,90);a[1]=b;}main(){structSTUc[2]={{"Qian",'f',95,92},{"Sun",'m'98,99}};f(c);printf("%s,%c,%d,%d,“,c[o].name,c[o].sex,c[o].score[o],c[o].score[1]);printf("%s,%c,%d,%d\n",c[1].name,c[1].sex,c[1].score[o],c[1].score[1]);}程序運(yùn)行后的輸出結(jié)果是()。Zhao,m,85,90,Sun,m,98,99Zhao,m,85,90,Qian,f,95,92.Qian,f,95,92,Sun,m,98,99.Qian,f,95,92,Zhao,m,85,90D?!窘馕觥縁函數(shù)是為結(jié)構(gòu)體數(shù)組的第二個數(shù)賦值,數(shù)組的第一個數(shù)沒有變化,所以正確答案應(yīng)選D。以下敘述中錯誤的是()??梢杂胻ypedef說明的新類型名來定義變量typedef說明的新類型名必須使用大寫字母,否則會出編譯錯誤用typedef可以為基本數(shù)據(jù)類型說明一個新名稱用typedef說明新類型的作用是用一個新的標(biāo)識符來代表已存在的類型名B?!窘馕觥坑胻ypedef說明的類型不是必須用大寫,而是習(xí)慣上用大寫。以下敘述中錯誤的是()。函數(shù)的返回值類型不能是結(jié)構(gòu)體類型,只能是簡單類型函數(shù)可以返回指向結(jié)構(gòu)體變量的指針可以通過指向結(jié)構(gòu)體變量的指針訪問所指結(jié)構(gòu)體變量的任何成員只要類型相同,結(jié)構(gòu)體變量之間可以整體賦值A(chǔ)?!窘馕觥亢瘮?shù)返回值類型可以是簡單類型和結(jié)構(gòu)體類型。若有定義語句intb=2;,則表達(dá)式(b<<2)/(3llb)的值是()。TOC\o"1-5"\h\z4802B?!窘馕觥?的二進(jìn)制數(shù)為010,移兩位后的二進(jìn)制數(shù)為01000,轉(zhuǎn)成十制數(shù)為8,(3||2)為真即1,8/1=8,所以結(jié)果為8。有以下程序:#includemain(){FILE*fp;inti,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w+");for=(i=o;i<6;,i++)fpintf(fp,"%d\n",a[i]);rewind(fp);for(i=0;i%6;i++)fscanf(fp,"%d",&a[5-i]);fclose(fp);for(i=0;i%6;i++)printf("%d,",a[i]);}程序運(yùn)行后的輸出結(jié)果是()。4,5,6,1,2,3,1,2,3,3,2,1,1,2,3,4,5,6,6,5,4,3,2,1,D?!窘馕觥窟@個是對文件的操作,把數(shù)組的數(shù)寫到文件里,然后再從文件里倒序讀出。所以輸出結(jié)果為6,5,4,3,2,1。二、基本操作題(共18分)str是一個由數(shù)字和字母字符組成的字符串,由變量num傳人字符串長度。請補(bǔ)充函數(shù)proc(),該函數(shù)的功能是:把字符串str中的數(shù)字字符轉(zhuǎn)換成數(shù)字并存放到整型數(shù)組bb中,函數(shù)返回數(shù)組bb的長度。例如,str二"abcl23de45f967",結(jié)果為:l234567。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的橫線上填入所編寫的若干表達(dá)式或語句。試題程序:#include#defineM80intbb[M];intproc(charstr[],intbb[],intnum){inti,n=0;for(i=0;iif(【1】){bb[n]=【2】;n++;}}return【3】;}voidmain(){charstr[M];intnum=0,n,i;printf("Enterastring:\n");gets(str);while(str[num])num++:n=proc(str,bb,num);printf("\nbb=");for(i=0;i}【1】str[i]>='0'&&str[i]<='9'【2】str[i]-'O'【3】n【解析】題目中要求把字符串str中的數(shù)字字符轉(zhuǎn)換成數(shù)字并存放到整型數(shù)組bb中。首先,應(yīng)判斷字符串str中每個字符是否是數(shù)字字符。因此,【1】處填“str[i]>='0'&&str[i]〈二'9'”將每一個數(shù)字字符轉(zhuǎn)化為數(shù)字放在整型數(shù)組bb中,因此,【2】處填“str[i]-'0';由函數(shù)proc()可知,變量n中存放整型數(shù)組bb中的元素個數(shù),最后要返回到主函數(shù)當(dāng)中,因此,【3】處填'n'。三、程序改錯題(共24分)下列給定程序中,函數(shù)proc()的功能是:讀入一個字符串(長度<20),將該字符串中的所有字符按ASCIl碼升序排序后輸出。例如,輸入opdye,則應(yīng)輸出deopy。請修改程序中的錯誤,使它能得到正確結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include%string.h>#include%stdlib.h>#include#include//****found****intproc(charstr[]){charC;unsignedi,j;for(i=0;i{c=str[j]://****fou

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論