全國自考(計算機軟件基礎)模擬試卷1(共298題)_第1頁
全國自考(計算機軟件基礎)模擬試卷1(共298題)_第2頁
全國自考(計算機軟件基礎)模擬試卷1(共298題)_第3頁
全國自考(計算機軟件基礎)模擬試卷1(共298題)_第4頁
全國自考(計算機軟件基礎)模擬試卷1(共298題)_第5頁
已閱讀5頁,還剩58頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

全國自考(計算機軟件基礎)模擬試卷1(共9套)(共298題)全國自考(計算機軟件基礎)模擬試卷第1套一、單項選擇題(本題共15題,每題1.0分,共15分。)1、不屬于C語言轉(zhuǎn)義字符的是【】A、\’B、\C、\dddD、\xhh標準答案:B知識點解析:轉(zhuǎn)義字符是由字符“\”開始,后面跟若干個字符組成的控制字符。2、若變量a和i已正確定義,且i已正確賦值,則下列是合法的語句的是【】A、a==1B、++i;C、a=a++=5;D、a=int(i);標準答案:B知識點解析:選項A是一個表達式,因為缺少分號,所以不是語句;選項C包含一個不合法的運算符“++=”,選項D應為a=(int)i;。3、執(zhí)行下列程序段后的輸出結(jié)果是【】inta=3,b===2;printf("%d,%d",b=aA、0,0B、0,1C、1,0D、1,1標準答案:C知識點解析:由于printf函數(shù)中“表達式列表的計算順序是自右向左的”,所以先算“a=a4、執(zhí)行語句for(k=4;k>0;k--){break;--k;}后,變量k的值是【】A、1B、2C、3D、4標準答案:D知識點解析:第1次循環(huán)時,循環(huán)判斷條件“4>0”為真,執(zhí)行循環(huán)體。由于循環(huán)體中第1條語句就是“break;”,強型退出循環(huán)。此時的變量k的值為4。5、下列敘述正確的是【】A、while語句的循環(huán)體至少執(zhí)行一次B、do-while語句的循環(huán)體至少執(zhí)行一次C、do-while語句的循環(huán)體不能是復合語句D、continue語句能夠從循環(huán)體內(nèi)轉(zhuǎn)到循環(huán)體外標準答案:B知識點解析:while語句的循環(huán)體可以一次也不執(zhí)行;do-while語句的循環(huán)體可以是復合語句;continue只結(jié)束本次循環(huán)重新進行下次循環(huán)判結(jié)束整個循環(huán)。6、若有定義語句intm[]={5,4,3,2,1},i=4;,則下面對數(shù)組m的數(shù)組元素的引用中錯誤的是【】A、m[--i]B、m[2*2]C、m[m[0]]D、m[m[i]]標準答案:C知識點解析:根據(jù)定義語句可知數(shù)組m中有5個元素,即m[0]~m[4],在選項C中,m[0]的值為5,m[m[0]]即m[5],因為m數(shù)組中的下標最大為4,不存在m[5]這個個元素,這種情況稱為越界,所以選項C是錯誤的。7、已知C語言函數(shù)fun()的定義形式為voidfun(charch,floatx){…)則正確調(diào)用函數(shù)fun()的語句是【】A、fun("a",3.0);B、fun(’abcd’,19.5);C、t=fun(’z’,3.6);D、fun(65,32);標準答案:D知識點解析:fun()函數(shù)的第1個形參為字符型變量,字符型數(shù)據(jù)可以和整型數(shù)據(jù)通用,整型數(shù)據(jù)對應字符型數(shù)據(jù)的ASCII碼值,所以對應實參可以是字符型數(shù)據(jù)或者字符的ASCII碼值;函數(shù)的第2個形參為單精度型變量,對應實參可以為單精度或者整型數(shù)據(jù);函數(shù)定義沒有返回值,因此選項C錯誤;選項A中的”a”是字符串常量,不能作為第一個實參,所以選項A錯誤;選項B中的’abed’格式不正確。8、設有定義語句intx=3,*p=&x;,則值不為3的表達式是【】A、XB、*pC、p+0D、*&x標準答案:C知識點解析:選項C中的p+0就是p,p是x的地址,地址型表達式的值不是變量的值。9、設有以下定義語句,則下面的敘述中不正確的是【】structex{intx;floaty;charz;}example;A、struct是結(jié)構(gòu)類型的關鍵字B、example是結(jié)構(gòu)類型名C、x、y、z都是結(jié)構(gòu)類型成員名D、structex是結(jié)構(gòu)類型標準答案:B知識點解析:暫無解析10、以下程序段的時間復雜度是【】i=1;k=0;n=100;do{k=k+10*i:i++:}while(i==n);A、O(1)B、O(n)C、O(i)D、0(i*n)標準答案:A知識點解析:do-while循環(huán)執(zhí)行一次后,i=2,n=100,循環(huán)判斷條件就不滿足了,所以只執(zhí)行循環(huán)體一次,故時間復雜度為O(1)。11、在一個長度為n的順序存儲的線性表中,向第i個元素(1≤i≤n+1)位置插入一個新元素時,需要從后向前依次后移【】個元素。A、n—iB、n—i+1C、n—i—1D、i標準答案:B知識點解析:暫無解析12、往順序棧中推入一個元素時,棧頂指針是【】A、加1B、減1C、不變D、清0標準答案:A知識點解析:在順序棧中,棧頂指針是正向增長的,即進棧時將棧頂指針加1,退棧時將棧頂指針減1。13、某二叉樹的先序序列是abdgcefh,中序序列是dgbaechf,則其后序序列是【】A、bdgcefhaB、gdbecfhaC、bdgaechfD、gdbehfca標準答案:D知識點解析:暫無解析14、從未排序序列中挑選元素,并將其依次放入已排序序列(初始時為空)的一端的排序方法是【】A、希爾排序B、直接選擇排序C、直接插入排序D、冒泡排序標準答案:B知識點解析:暫無解析15、下面不屬于軟件設計原則的是【】A、抽象B、模塊化C、自底向上D、信息隱蔽標準答案:C知識點解析:暫無解析二、填空題(本題共10題,每題1.0分,共10分。)16、從用戶使用的角度來看,函數(shù)分為庫函數(shù)和_______函數(shù)。FORMTEXT標準答案:用戶自定義知識點解析:暫無解析17、若有以下函數(shù)調(diào)用語句:func(a+b,(x,y),fun(n+k,d,(a,b)));在此函數(shù)調(diào)用語句中實參的個數(shù)是_______。FORMTEXT標準答案:3知識點解析:暫無解析18、函數(shù)的返回值是通過函數(shù)體中的_______語句獲得。FORMTEXT標準答案:return知識點解析:暫無解析19、如果被調(diào)函數(shù)定義為_______類型,則被調(diào)函數(shù)不帶回任何值。FORMTEXT標準答案:void或空知識點解析:暫無解析20、只有先定義一個_______型變量,才能將另外一個變量的地址存放到該變量中。FORMTEXT標準答案:指針知識點解析:暫無解析21、若指針變量P指向整型變量i,則i變量又可用_______表示。FORMTEXT標準答案:*p知識點解析:暫無解析22、已知:inta[]={1,3,5,7,9),*ip=a;,表達式*(ip+2)的值是_______。FORMTEXT標準答案:5知識點解析:暫無解析23、下面程序的輸出結(jié)果是_______。#includemain(){chara[]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d\n",*--p);}FORMTEXT標準答案:5知識點解析:暫無解析24、有如下定義語句:structstu{intx;floaty;charz;}a[3],*p=a;則數(shù)組a共占_______個字節(jié)。FORMTEXT標準答案:21知識點解析:暫無解析25、有如下定義語句:struct{intx;inty;}s[2]={{1,2},{3,4}},*p=s;則表達式(++p)一>x的結(jié)果是_______。FORMTEXT標準答案:3知識點解析:暫無解析三、程序分析題(本題共4題,每題1.0分,共4分。)26、閱讀下列程序,寫出程序的運行結(jié)果。#includesub(intx,inty,int*z){*z=y—x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);}標準答案:一5,一12,一7知識點解析:暫無解析27、寫出下列程序的運行結(jié)果。#includestructst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};main()(p=aa;printf("%d\n",++p一>x);printf("%d\n",(++p)一>x);}標準答案:5160知識點解析:暫無解析28、以下程序的功能是將兩個3*4階矩陣相加,并顯示出結(jié)果。請?zhí)羁胀瓿沙绦颉?includemain()(inta[3][4]={{3,一2,1,2},{0,1,3,一2},{3,1,0,4)};intb[3][4]={{一2,3,0,一1},{1,0,一2,3},{一2,0,1,一3}};inti,j,c[3][4];for(i=0;i<3;i++)for(j=0;j<4;j++)①;for(i=0;i<3;i+4-){for(j=0;j<4;j++)prinff("%d",c[i][j]);②;}}標準答案:①c[i][j]=a[i][j]+b[i][j]②printf("\n")知識點解析:暫無解析29、以下程序的功能是將字符數(shù)組a中下標值為偶數(shù)的元素從小到大排列,其他元素不變。請?zhí)羁胀瓿沙绦颉?include#includemain(){ehara[]="clanguage",t;int1,j,k;k=str1en(a);for(i=0;i<=k一2;i+=2)for(j=i+2;j<=k;①)if(②){t=a[i];a[i]=a[j];a[j]=t;)puts(a);printf("\n");}標準答案:①j+=2或j=j+2②a[i]>a[j]知識點解析:暫無解析四、程序設計題(本題共2題,每題1.0分,共2分。)30、編寫一個程序,其功能是將輸入的4個整數(shù)按由小到大的順序輸出。標準答案:#includemain(){intt,a,b,c,d;printf("請輸入4個整數(shù):");scanf("%d,%d,%d,%d\n",8La,&b,&c,&d);printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(a>d){t=a;a=d;d=t;}if(b>c){t=b;b=c;c=t;}if(b>d){t=b.b=d;d=t;}if(c>d){t=c;c=d;d=t;}printf(排序結(jié)果如下;\n");printf("%d,oAd,%d,%d\n",a,b,c,d);}知識點解析:暫無解析31、假設二叉樹采用二叉鏈存儲結(jié)構(gòu)存儲,試設計一個算法,計算一棵給定二叉樹的所有葉子節(jié)點個數(shù)。標準答案:intLeafNodes(BTNode*b)intnum1,num2;if(b==NULL)return0;elseif(b一>lchild==NULL&&b一>rchild==NULL)return1;else{numl=LeafNodes(b一>lchild);num2=LeafNodes(b一>rchild);return(num1+num2);}}知識點解析:暫無解析全國自考(計算機軟件基礎)模擬試卷第2套一、單項選擇題(本題共15題,每題1.0分,共15分。)1、如下圖所示的4棵二叉樹中,不是完全二叉樹的是【】A、

B、

C、

D、

標準答案:C知識點解析:完全二叉樹是一個滿二叉樹的最下層從右向左連續(xù)缺少n(n≥0)個節(jié)點的二叉樹。2、如果某二叉樹的先序序列是stuwv,中序序列是uwtvs,那么該二叉樹的后序序列為【】A、uwvtsB、vwutsC、wuvtsD、wutsv標準答案:C知識點解析:暫無解析3、如下圖所示的二叉樹的中序遍歷序列是【】A、abcdgefB、dfebagcC、dbaefcgD、defbagc標準答案:B知識點解析:中序遍歷的次序是中序遍歷左子樹、訪問根節(jié)點、中序遍歷右子樹。4、如果T2是由有序樹T轉(zhuǎn)化而來的二叉樹,那么T的先序序列就是T2的【】A、先序序列B、中序序列C、后序序列D、層次序序列標準答案:A知識點解析:樹的先序遍歷結(jié)果和對應二叉樹的先序遍歷結(jié)果一樣。5、按照二叉樹的定義,具有3個節(jié)點的二叉樹的中序遍歷結(jié)果為abc,則該類二叉樹共有【】A、3種B、4種C、5種D、6種標準答案:C知識點解析:暫無解析6、在一個非空二叉樹的中序遍歷序列中,根節(jié)點的右邊【】A、只有右子樹上的所有節(jié)點B、只有右子樹上的部分節(jié)點C、只有左子樹的部分節(jié)點D、只有左子樹上的所有節(jié)點標準答案:A知識點解析:中序遍歷的次序是先中序遍歷根的左子樹,再訪問根節(jié)點,最后中序遍歷右子樹,因此,根節(jié)點的右邊只有右子樹上的所有節(jié)點。7、具有n個葉子節(jié)點的哈夫曼樹的節(jié)點總數(shù)為【】A、不確定B、2nC、2n+1D、2n一1標準答案:D知識點解析:哈夫曼樹是二叉樹,因此二叉樹的性質(zhì)適用于哈夫曼樹,又因為它沒有度為1的節(jié)點,所以度為2的節(jié)點的個數(shù)為n一1個,節(jié)點總數(shù)為n+(n一1)=2n一1。8、在具有n個頂點、e條邊的無向圖的鄰接表中,所有邊的鏈表中邊節(jié)點的總數(shù)是【】A、e/eB、eC、2eD、2e+n標準答案:C知識點解析:在鄰接表中,邊節(jié)點是頂點的所有鄰接點,1條邊連接2個丁貞點,因此,邊節(jié)點的總數(shù)是2e。9、對節(jié)點個數(shù)為18的順序存儲有序表,則采用折半查找方法查找第15個節(jié)點的成功查找次數(shù)為【】A、3B、4C、5D、6標準答案:B知識點解析:暫無解析10、下列描述不正確的是【】A、順序查找對表中元素的存放位置無任何要求,當n較大時,效率低B、當順序表中關鍵字有序時,可采用折半查找C、折半查找也稱為二分查找D、在鏈式存儲結(jié)構(gòu)上可以進行折半查找標準答案:D知識點解析:折半查找只適用于有序表,且限于順序存儲結(jié)構(gòu),在鏈式存儲結(jié)構(gòu)上是無法進行折半查找的。11、關鍵字比較的次數(shù)與記錄的初始排列次序無關的是【】A、希爾排序B、冒泡排序C、插入排序D、選擇排序標準答案:D知識點解析:暫無解析12、肖待排序的序列中數(shù)據(jù)關鍵字基本有序或元素個數(shù)較少時,則最好的排序方法是【】A、基數(shù)排序B、冒泡排序C、直接選擇排序D、直接插入排序標準答案:D知識點解析:暫無解析13、結(jié)構(gòu)設計屬于軟件開發(fā)中的哪個階段【】A、軟件定義階段B、軟件編碼階段C、軟件設計階段D、軟件維護階段標準答案:C知識點解析:軟件設計階段分為兩個子階段:總體設計和詳細設計??傮w設計過程和結(jié)構(gòu)設計兩個部分組成。14、下列是結(jié)構(gòu)化語言的是【】A、FORTRANB、CC、BASICD、COBOL標準答案:B知識點解析:暫無解析15、在瀑布模型中,將軟件開發(fā)的過程劃分為若干個階段,軟件項目的可行性研究屬于【】A、維護階段B、計劃階段C、運行階段D、開發(fā)階段標準答案:B知識點解析:暫無解析二、填空題(本題共10題,每題1.0分,共10分。)16、表達式3*9%2+9%2*5的值為__________。FORMTEXT標準答案:6知識點解析:暫無解析17、執(zhí)行下列語句后,變量x的值是__________。switch(x=1){case1:x=2;case2:x=3;}FORMTEXT標準答案:3知識點解析:暫無解析18、若定義了一個二維數(shù)組int[3][4];且該數(shù)組的起始地址為1000,則元素a[1][3]的地址為__________。(一個整型變量占2個字節(jié))FORMTEXT標準答案:1014知識點解析:暫無解析19、執(zhí)行下列程序段后,*(p+1)的值是__________。charc[3]=="ab",*p;p==c;FORMTEXT標準答案:b知識點解析:暫無解析20、為了使線性表能更好地做插入與刪除操作,應采用__________存儲結(jié)構(gòu)為好。FORMTEXT標準答案:鏈式知識點解析:暫無解析21、棧滿后再進行進棧運算,則發(fā)生__________。FORMTEXT標準答案:上溢知識點解析:暫無解析22、已知8個數(shù)據(jù)元素為34、76、45、18、26、54、92、65,按照依次插入節(jié)點的方法生成一棵二叉排序樹,則該樹的深度為__________。FORMTEXT標準答案:5知識點解析:暫無解析23、圈的__________是圖運算的基礎。FORMTEXT標準答案:遍歷知識點解析:暫無解析24、假設待排序數(shù)據(jù)元素序列的關鍵字序列為1、2、2’、1’,采用冒泡排序方法按遞增排序得到的結(jié)果為__________。FORMTEXT標準答案:1,1’,2,2’知識點解析:暫無解析25、__________是現(xiàn)實世界中個體或事物的抽象。FORMTEXT標準答案:對象知識點解析:暫無解析三、程序分析題(本題共4題,每題1.0分,共4分。)26、當運行下列程序時,從鍵盤輸入AabD↙,請寫出下面程序的運行結(jié)果。#includemain(){chars[80];inti=0:gets(s):while(s[i]!=’\0’){if(s[i]<=’Z’&&s[i]>=’a’)s[i]=’z’+’a’一s[i];i++:}puts(s):}標準答案:AzyD知識點解析:暫無解析27、寫出下列程序的運行結(jié)果。#include#includetypedefstruct{charname[10];longhum;floatscore;}STU;main(){STUa={"liming",1001,86},b={"anjia",1002,95},c={"lili",1003,100},d,*p=&d;d=a:if(strcmp(a.name,b.name)>0)d=b;if(strcmp(c.name,b.name)>0)d=c;printf("s,%d\n",p—>name,d.num);}標準答案:lili,1003知識點解析:暫無解析28、下列程序的功能是將從鍵盤輸入的一對數(shù),按從小到大的順序輸出,當輸入一對相等的數(shù)時結(jié)束循環(huán)。請?zhí)羁胀瓿沙绦颉?includemain(){inta,b,t;scanf("%d%d",&a,&b);while(①){if(②){t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}}標準答案:①a!=b②a>b知識點解析:暫無解析29、下列函數(shù)的功能是求鏈表長度。請?zhí)羁胀瓿伤惴?。structnode{charch;structnode*link;};str(structnode*p){int①;while(p!=NULL){②;count++;}return(count);}標準答案:①count=0②p=p一>next知識點解析:暫無解析四、程序設計題(本題共2題,每題1.0分,共2分。)30、編寫C程序,其中fun函數(shù)的功能是求n以內(nèi)(不包括n)同時能被3與7整除的所有整數(shù)之和的平方根;主函數(shù)的功能是輸入n的值,調(diào)用fun函數(shù),并輸出結(jié)果。標準答案:#include#includeintfun(intn);main(){intinputNum;scanf("%d",&inputNum);printf("輸入的數(shù)是%d\n計算結(jié)果為:%d\n",inputNum,fun(inputNum));}intfun(intn){intsum=0;for(inti=1;i知識點解析:暫無解析31、請編寫函數(shù),從傳送過來的三個數(shù)中選出最大數(shù)和最小數(shù),并通過形參傳回調(diào)用函數(shù)。標準答案:#includefun(int*a,int*b,int*c){intmax,min;max=*a;min=*a;if(*b>*a)max=*b;if(*b<*a)min=*b:if(*c>max)max=*c:if(*c知識點解析:暫無解析全國自考(計算機軟件基礎)模擬試卷第3套一、單項選擇題(本題共15題,每題1.0分,共15分。)1、下列不是C語言提供的合法關鍵字的是【】A、switchB、beginC、caseD、default標準答案:B知識點解析:暫無解析2、設ch是char型變量,其值為’A’,則下面表達式的值是【】ch=(ch>=’A’&8Lch<=’Z’)?(ch+32):chA、’A’B、’a’C、’Z’D、’Z’標準答案:B知識點解析:由于字符型變量ch的值為’A’,計算表達式(ch>=’A’&&ch<=’Z’)?(ch+32):ch,先計算其中的條件表達式,由于條件ch>=’A’&&h<=’Z’成立,該條件表達式以ch+32=97為結(jié)果。并將該值賦給變量ch,以字符表達這個值為’a’。3、下列C語言程序的輸出結(jié)果是【】#includemain(){inta=13,m=0;switch(a%3){case0:m++;case1:m--;case2:m++;default:m++;}printf("%d\n",m);}A、—1B、0C、1D、2標準答案:C知識點解析:switch語句的特點是找到1個匹配的case語句,就順次執(zhí)行下去。13%3=1,執(zhí)行case1:m--;語句,因沒有退出語句,所以繼續(xù)向下執(zhí)行,當執(zhí)行完default:m++;語句后m的值為1。4、有以下程序:#includemain(){intx=1,y=2,z=3;if(x>y)if(yA、331B、41C、2D、1標準答案:D知識點解析:在主函數(shù)中,第2個if語句只有在滿足x>y這個條件后才被執(zhí)行,因為else語句總是和最近的if語句配套,所以此程序在執(zhí)行時,由于x5、若要求從鍵盤輸入含有空格字符的字符串,應使用函數(shù)【】A、getc()B、gets()C、getchar()D、scanf()標準答案:B知識點解析:scanf函數(shù)中的空格和回車符是輸入數(shù)據(jù)的分隔符,不能被輸入;getc()和getchar()用于字符的輸入;gets()用來從鍵盤輸入字符串,字符串中可以包括空格符。6、下列程序的運行結(jié)果是【】#includeintx=1;intfun(inta){staticintb=1;b+=a+x;returnb;}main(){inti=2;for(i=0;i<2;i++)printf("%d",fun(i)):}A、22B、23C、24D、25標準答案:C知識點解析:由static聲明的變量,其值在函數(shù)結(jié)束后仍保留上一次的值。分析程序:當i=0時,調(diào)用fun(0)函數(shù),執(zhí)行b+=a+x;后b=2。當i=1時,調(diào)用fun(1)函數(shù),此時b保留上一次的值2,此時執(zhí)行b+=a+x;后b=4。7、若有定義語句:intx=0,*p=&x;,則語句printf("%d\n",*p);的輸出結(jié)果是【】A、隨機值B、0C、x的地址D、p的地址標準答案:B知識點解析:P為指向整型變量x的指針變量,*p和x是等價的,所以輸出結(jié)果為0。8、設有下列定義語句,則下列說法中正確的是【】structabc{intx;chary;}structabcs1,s2;A、在編譯時發(fā)生錯誤B、能順利通過編譯,但是連接時出錯C、能順利通過編譯、連接,但不能執(zhí)行D、能順利編譯、連接和執(zhí)行標準答案:A知識點解析:structabc{intx;chary;}是錯誤的,應改為structabc(intx;chary;};9、下面程序的時間復雜度為【】for(i=1;i<=n;i++)for(j=1;j<=i;j++)for(k=1;k<=j;k++)x=x+1:A、O(1)B、O(n)C、O(n2)D、0(n3)標準答案:D知識點解析:暫無解析10、不帶頭節(jié)點的單鏈表head為空的判定條件是【】A、head==NULLB、head—>next==NULLC、head—>next==headD、head!=NULL標準答案:A知識點解析:不帶頭節(jié)點的單鏈表head,它指向第一個數(shù)據(jù)節(jié)點,如果它指向的節(jié)點為空,則表明單鏈表為空。11、若一個隊列的入隊序列是1、4、2、3,則該隊列的出隊序列是【】A、4、3、2、1B、1、2、3、4C、1、4、2、3D、3、2、4、1標準答案:C知識點解析:暫無解析12、判定一個循環(huán)隊列Q(元素個數(shù)最多為m0)為空的條件是【】A、Q一>front=Q一>rearB、Q一>front!=Q一>rearC、Q一>front==(Q一>rear+1)%m0D、Q一>front!=(Q一>rear+1)%m0標準答案:A知識點解析:暫無解析13、深度為4的二叉樹最多有多少個節(jié)點【】A、14B、15C、16D、17標準答案:B知識點解析:深度為k的二叉樹最多有2k一1個節(jié)點。14、設待排序的序列中有n個元素,采用冒泡排序方法進行一趟排序所需交換元素的次數(shù)最多為【】A、nB、0C、n+1D、n一1標準答案:D知識點解析:對n個元素進行冒泡排序,每趨最多比較n一1次,假設每次都需要交換,最多可交換n一1次。15、以下敘述中正確的是【】A、可行性研究屬于軟件開發(fā)階段B、概要設計屬于軟件定義階段C、編碼屬于軟件維護階段D、詳細設計屬于軟件開發(fā)階段標準答案:D知識點解析:暫無解析二、填空題(本題共10題,每題1.0分,共10分。)16、以下程序段的輸出結(jié)果是_________。#includemain(){inta=2,b=3,c=4;a*=16+(b++)一(++c);printf("%d\n",a);}FORMTEXT標準答案:28知識點解析:暫無解析17、已知inta=1,b=2;,表達式!(a+b)—a&&b+2*4的值是_________。FORMTEXT標準答案:1知識點解析:暫無解析18、字符串的結(jié)束標記字符是_________。FORMTEXT標準答案:’\0’知識點解析:暫無解析19、變量的作用域是指變量的有效范圍,在作用域內(nèi)可以引用該變量。按作用域變量可以分為全局變量和_________變量。FORMTEXT標準答案:局部知識點解析:暫無解析20、在定義語句中,指針變量名前必須有“_________”號。FORMTEXT標準答案:*知識點解析:暫無解析21、若經(jīng)常進行的運算為查找運算,以_________存儲為宜。FORMTEXT標準答案:順序知識點解析:暫無解析22、若一棵二叉樹的葉子節(jié)點數(shù)為n,則在該二叉樹中,左、右子樹皆非空的節(jié)點個數(shù)為_________。FORMTEXT標準答案:n一1知識點解析:暫無解析23、當無向圖G的頂點的度數(shù)的最大值大于或等于頂點數(shù)的_________倍時,G至少有一條回路。FORMTEXT標準答案:2知識點解析:暫無解析24、具有24個元素的序列,采用冒泡排序最少需要比較_________次才能完成排序。FORMTEXT標準答案:23知識點解析:暫無解析25、軟件定義階段形成的_________是軟件設計階段的出發(fā)點。FORMTEXT標準答案:數(shù)據(jù)流圖知識點解析:暫無解析三、程序分析題(本題共4題,每題1.0分,共4分。)26、寫出下列程序的運行結(jié)果。#includemain(){inti=1,j=1;for(;j<20;i++)(if(j>10)break;if(j%2!=0){j+=3;continue;}j一=1;}printf("%d,%d\n",i,j);}標準答案:10,12知識點解析:暫無解析27、寫出下列程序的運行結(jié)果。#includevoidfun(){staticinta=0;a+=2:printf("%d",a);}main(){intcc;for(cc=l;cc<4;cc++)fun();printf("\n");}標準答案:246知識點解析:暫無解析28、下列程序的功能是求ss所指字符串中指定字符的個數(shù),并返回此值。例如,若輸入字符串123412132,輸入字符1,則輸出3,請?zhí)羁胀瓿沙绦颉?include#defineM81intfun(char*ss,charc){inti=0;for(;①;ss++)if(*ss==c)i++:return②;}main(){chara[M],ch;printf("Pleaseenterastring:");gets(a);printf("Pleaseenterachar:");ch=getchar();printf("Thenumberofthecharis:%d\n",fun(a,ch));}標準答案:①*ss!=’\0’②i知識點解析:暫無解析29、下列fsum()函數(shù)的功能是求帶頭節(jié)點的單鏈表中各節(jié)點數(shù)據(jù)域中數(shù)值的和,填空完成程序。structnode{floatx;structnode*next;};f10atfsum(structnode*head){floats=0;structnode*q;①;while!=NULL){s=s+q一>x;②}}returns;}標準答案:①q=head一>next②q=q一>next知識點解析:暫無解析四、程序設計題(本題共2題,每題1.0分,共2分。)30、已知長度為n的線性表A采用順序存儲結(jié)構(gòu),并且數(shù)據(jù)元素按值的大小非遞減排列,寫一算法,刪除該線性表中值相同的多余元素(該算法完成后,線性表中數(shù)據(jù)元素嚴格按值遞增排列)。標準答案:voiddelete(La,intitern){inti,m;i=0;while(i知識點解析:暫無解析31、編寫一個算法,將一個順序棧中的元素依次取出,并打印元素值。標準答案:voidpopl(s){intx;while(s.top!=一1){x=s,data[top];printf("%d",x);s一>top--;}}知識點解析:暫無解析全國自考(計算機軟件基礎)模擬試卷第4套一、單項選擇題(本題共15題,每題1.0分,共15分。)1、與所使用的計算機無關的是數(shù)據(jù)的【】結(jié)構(gòu)。A、存儲B、物理C、邏輯D、物理和邏輯標準答案:C知識點解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是從邏輯關系上描述數(shù)據(jù),它與計算機存儲無關,是獨立于計算機的。2、數(shù)據(jù)的邏輯結(jié)構(gòu)又分為【】A、動態(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)標準答案:C知識點解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是數(shù)據(jù)之間的外在聯(lián)系,可以分為兩類:線性結(jié)構(gòu)和非線性結(jié)構(gòu)。3、在以下敘述中,不正確的是【】A、數(shù)據(jù)的邏輯結(jié)構(gòu)是數(shù)據(jù)元素之間的邏輯關系,是依賴于計算機語言的B、存儲結(jié)構(gòu)不僅涉及數(shù)據(jù)元素的機內(nèi)表示,還包括數(shù)據(jù)之間關聯(lián)方式的表示C、順序存儲方式使用的是一段連續(xù)的存儲區(qū)D、算法的時間復雜度與算法中語句的頻度有關標準答案:A知識點解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是數(shù)據(jù)之間的外在聯(lián)系,它與計算機存儲無關,是不依賴于計算機語言的。4、某算法的時間復雜度為O(n2),表明該算法的【】A、問題規(guī)模是n2B、執(zhí)行時間等于n2C、執(zhí)行時間與n2成正比D、問題規(guī)模與n2成正比標準答案:C知識點解析:暫無解析5、下列程序的功能是計算兩個矩陣的乘積,其算法的時間復雜度是【】voidmul_matrix(intn,inta[][5],intb[][5],intc[][5]){inti,j,k,x;for(i=0;iA、O(n)B、O(log3n)C、O(n2)D、O(n3)標準答案:D知識點解析:暫無解析6、下面程序段的時間復雜度為【】for(inti=0;iA、O(m2)B、O(n)C、0(m*n)D、O(m+n)標準答案:C知識點解析:暫無解析7、已知指針p和q分別指向某單鏈表中第一個節(jié)點和最后一個節(jié)點。假設指針s指向另一個單鏈表中某個節(jié)點,則在s所指節(jié)點之后插入p所指向的鏈表應執(zhí)行的操作是【】A、q一>next=s一>next;s一>next=p;B、s一>next=p;q一>next=s一>nextC、p一>next=s一>next;s一>next=q;D、s一>next=q;p一>next=s一>next;標準答案:A知識點解析:插入p所指向的鏈表時,應首先將單鏈表的最后一個節(jié)點q指向節(jié)點s的下一個節(jié)點,最后將s指向單鏈表的第一個節(jié)點p。8、在一個具有n個節(jié)點的有序單鏈表中插入一個新節(jié)點并使其仍然有序的時間復雜度為【】A、O(1)B、O(n)C、O(n2)D、O(log3n)標準答案:B知識點解析:在有序單鏈表中插入一個節(jié)點并使其保持有序,花費時間最多的是查找插入位置。對具有n個節(jié)點的單鏈表來說,查找位置的平均比較次數(shù)是(n+1)/2,故時間復雜度為O(n)。9、在一個單鏈表中,已知q所指節(jié)點是p所指節(jié)點的前趨節(jié)點,若在q和p之間插入s所指向的節(jié)點,則執(zhí)行的操作是【】A、s—>next=p—>next;p—>next=s;B、q—>next=s;s—>next=p;C、p—>next=s;s—>next=q;D、p—>next=s—>next;s—>next=p;標準答案:B知識點解析:暫無解析10、設在一個單鏈表中指針p指向節(jié)點a,若要刪除a之后的一個節(jié)點(若存在),則需執(zhí)行的修改指針的操作為【】A、p一≥next=p一>next一>nextB、p=p一>nextC、p=p一>next一>nextD、next=p標準答案:A知識點解析:暫無解析11、帶頭節(jié)點的單鏈表heald為空的判定條件是【】A、head==NULLB、head—>next==NULLC、head—>next==headD、head!=NULL標準答案:B知識點解析:帶頭節(jié)點的單鏈表head,head指向單鏈表的頭節(jié)點,頭節(jié)點的指針域head一>next指向第一個數(shù)據(jù)節(jié)點,如果head一>next的值為空,則單鏈表為空。12、按照1、2、3、4、5的次序依次入棧時,出棧序列不可能是【】A、1、2、3、4、5B、2、3、4、5、1C、5、4、3、2、1D、5、4、1、2、3標準答案:D知識點解析:棧是按“先進后出”的原則組織數(shù)據(jù)的,所以選項D中若5先出棧,出棧的順序只能是5、4、3、2、1,1是不可能在2、3的前面出棧的。13、在一個鏈隊列中,假設f和r分別為隊頭和隊尾指針,則插入指針s所指節(jié)點的運算是【】A、f—>next=s;f=s;B、r—>next=s;r=s;C、s—>next=r;r=s;D、s一>next=f;f=s;標準答案:B知識點解析:鏈隊列的插入操作在隊尾進行,若隊列未滿,只需要在鏈隊列尾部增加新節(jié)點,并讓隊尾指針指向新節(jié)點即可。14、假定一個順序隊列的隊頭和隊尾指針分別用front和rear表示,則判斷隊列為空的條件是【】A、front+1==rearB、rear+1==frontC、front==0D、front==rear標準答案:D知識點解析:暫無解析15、假定利用數(shù)組a[N]順序存儲一個棧,用top表示棧頂指針,top==一1表示??眨⒁阎獥N礉M,當元素x進棧時所執(zhí)行的操作為【】A、a[--top]==xB、a[top--]==xC、a[++top]==xD、a[top++]==x標準答案:C知識點解析:若棧未滿,則進棧的步驟是:(1)棧頂指針上移1個節(jié)點。(2)將數(shù)據(jù)加入到top所指位置。二、填空題(本題共10題,每題1.0分,共10分。)16、在C語言中,表示換行的轉(zhuǎn)義字符是_________。FORMTEXT標準答案:\n知識點解析:暫無解析17、執(zhí)行for(j=k=0;j<10;k+=j++);語句后,變量k的值是_________。FORMTEXT標準答案:45知識點解析:暫無解析18、已知:charstr[15];str數(shù)組的最后一個元素是_________。FORMTEXT標準答案:str[14]知識點解析:暫無解析19、數(shù)據(jù)的邏輯結(jié)構(gòu)又分為兩類:線性結(jié)構(gòu)和_________。FORMTEXT標準答案:非線性結(jié)構(gòu)知識點解析:暫無解析20、n階三對角陣壓縮存儲至少需要_________個存儲空間。FORMTEXT標準答案:3n一2知識點解析:暫無解析21、在帶有表頭節(jié)點的單鏈表L中,若要刪除第一個節(jié)點,則需執(zhí)行的三條語句是:_________;L一>next=p—>next;free(p);。FORMTEXT標準答案:p=L一>next知識點解析:暫無解析22、對于一棵具有n個節(jié)點的樹,該樹中所有節(jié)點的度數(shù)之和為_________。FORMTEXT標準答案:n—1知識點解析:暫無解析23、拓撲排序是針對_________圖的。FORMTEXT標準答案:有向無環(huán)知識點解析:暫無解析24、_________是按某種順序?qū)?shù)據(jù)元素的無序序列調(diào)整成有序序列的過程。FORMTEXT標準答案:排序知識點解析:暫無解析25、黑盒測試法包括等價劃分、_________以及錯誤推測法等。FORMTEXT標準答案:邊界值分析知識點解析:暫無解析三、程序分析題(本題共4題,每題1.0分,共4分。)26、以下程序是用來統(tǒng)計從鍵盤輸入的一個正整數(shù)的各位數(shù)字中零的個數(shù),并求各位數(shù)字中的最大者。例如:1080的各位數(shù)字中零的個數(shù)是2,各位數(shù)字中的最大者是8。請將程序補充完整。#includemain(){unsignedlongnum,max,t;intcount;count=max=0;scanf("%old",&num);do{t=_________;if(t==0)++count;elseif(max標準答案:num%10知識點解析:暫無解析27、下列程序的功能是輸出100以內(nèi)能被3整除且個位數(shù)為6的所有整數(shù),填空完成程序。#includemain(){inti,j;for(i=0;i<10;i++){j=i*10+6;if(________)continue;printf("%d\n",j);}}標準答案:j%3!=0知識點解析:暫無解析28、下列程序的運行結(jié)果是________。#includemain(){inti=1,j=1;for(;j<20;i++){if(j>10)break;if(j%2!=0){j+=3;continue.;}j一=1;}printf("%d,%d\n",i,j);}標準答案:10,12知識點解析:暫無解析29、以下程序的輸出結(jié)果是________。#includemain(){intarr[10],i,k=0;for(i=0;i<10;i++)arr[i]=i;for(i=0;i<4;i++)k+=arr[i]+i;printf("%d\n",k);}標準答案:12知識點解析:暫無解析四、程序設計題(本題共2題,每題1.0分,共2分。)30、從鍵盤輸入任意一個3位正整數(shù)(即在100~999之間的整數(shù)),求其各位上數(shù)字之和。如輸入123,則結(jié)果應輸出6(即1+2+3=6)。標準答案:#includemain(){intnum;intsum;scanf("%d",&num);sum=num/100+num/10%10+num%10;printf("您輸入的數(shù)據(jù)是:%d,它各位上數(shù)字之和是:%d\n",hum,sum);}知識點解析:暫無解析31、假設二叉樹采用二叉鏈存儲結(jié)構(gòu),設計一個算法把二叉樹b復制到二叉樹t中。標準答案:voidCopy(BTNode*b,BTNode*&t){if(b==NULL)t=NULL;else{t=(BTNode*)malloc(sizeof(BTNode));t—>data=b一>data;Copy(b一>lchild,t一>lchild);Copy(b一>rchild,t一>rehild);}}知識點解析:暫無解析全國自考(計算機軟件基礎)模擬試卷第5套一、單項選擇題(本題共15題,每題1.0分,共15分。)1、有以下程序:#includemain(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運行后的輸出結(jié)果是【】A、2,3,3B、2,3,2C、2,3,1D、2,2,1標準答案:C知識點解析:z=x++是先把x的值賦給z,所以z=1,然后再把x加1賦x,所以x=2,y++后y=2,++y后y又加1,所以y=3。2、若變量x、y已正確定義并賦值,以下符合C語言語法的表達式是【】A、++x,y=x--B、x+1=yC、x=x+10=x+yD、double(x)/10標準答案:A知識點解析:暫無解析3、以下不能正確表示代數(shù)式的C語言表達式是【】A、2*a*b/c/dB、a*b/c/d*2C、a/c/d*b*2D、2*a*b/c*d標準答案:D知識點解析:C語言中*和/的優(yōu)先級相同,且結(jié)合順序是由左向右,由此判斷選項D不能正確表示題目中的代數(shù)式。4、與語句if(a>b)if(b>c)x=1;elsex=2;不等價的是【】A、if(a>b){if(b>c)x=1;elsex=2;}B、if(a<=b);elseif(b>c)x=1;elsex=2;C、if((a>b)&&(b>c))x=1;elsex=2;D、if((a>b)&&(b>c))x=1;elseif((a>b)&&(b<=c))x=2;標準答案:C知識點解析:題干中給出的語句的功能可以歸納為:a>b成立且b>e成立時,x為1;a>b成立且b>c不成立時,x為2;a>b不成立時,x不變。按照這個功能檢查給出的4個備選答案,只有C選項不符合要求。5、執(zhí)行語句for(k=2;++k<4;k++)++k;后,變量k的值是【】A、2B、4C、5D、6標準答案:D知識點解析:第1次循環(huán)時,循環(huán)判斷條件為“++k<4”,即“3<4”,條件成立,先執(zhí)行循環(huán)體的“++k”,再執(zhí)行“k++”,此時的k的值為5。第2次循環(huán)時,循環(huán)判斷條件“6<4”不成立,退出循環(huán),此時k的值為6。6、下列語句正確的是【】A、chars[5];s="abc";B、chars[5]="abcxyz";C、chars[]="12345";D、chars[5]={’1’,’2’,’3’,’4’,’5’,’\0’};標準答案:C知識點解析:C語言中沒有存放字符串常量的變量,s="abc";賦值不正確,所以選項A錯誤;選項B和選項D中所賦值的個數(shù)多于數(shù)組元素的個數(shù),是錯誤的。7、運行下列程序后的輸出結(jié)果是【】#includeintf(intn){if(n==1)return(1);elsereturn(f(n一1)+1);}main(){inti,j=0;for(i=1;i<4;i++)j+=f(i);printf("%d\n",j);}A、1B、2C、3D、6標準答案:D知識點解析:暫無解析8、設已有定義語句:floatx;,則以下對指針變量P進行定義且賦初值的語句中正確的是【】A、float*p=1024;B、int*p=(float)x;C、floatp=&x;D、float*p=&x;標準答案:D知識點解析:指針指向的是變量的地址,不能是常量或變量的值,故選項A、B錯誤;選項C是把x的地址賦給變量p,故選項C錯誤。9、設有如下定義語句,則對data中的a成員的引用正確的是【】structsk{inta;floatb;}data,*p=&data;A、(*p).data.a(chǎn)B、(*p).a(chǎn)C、p—>data.a(chǎn)D、P.data.a(chǎn)標準答案:B知識點解析:結(jié)構(gòu)變量data有兩個成員a和b,結(jié)構(gòu)指針變量p指向結(jié)構(gòu)變量data。引用結(jié)構(gòu)變量data的成員有兩種方法:一是直接由變量data引用其自己的成員a,寫成data.a(chǎn);二是通過指針變量P引用它所指的結(jié)構(gòu)變量的成員,這又有兩種寫法,分別是p一>a和(*p).a(chǎn)。10、在以下的數(shù)量級中,數(shù)量級最高的是【】A、O(n2)B、O(n)C、O(nlog2n)D、O(1)標準答案:A知識點解析:暫無解析11、下列有關線性表的敘述中,正確的是【】A、一個線性表是n個數(shù)據(jù)元素的有限序列B、線性表中任何一個元素有且僅有一個直接前趨C、線性表中任何一個元素有且僅有一個直接后繼D、以上說法都不正確標準答案:A知識點解析:暫無解析12、一個棧的進棧數(shù)據(jù)元素序列為1、2、3、4、5,則不可能為該棧的出棧序列的是【】A、2、3、4、1、5B、1、5、4、3、2C、2、3、1、4、5D、5、4、1、3、2標準答案:D知識點解析:選項D中5為最先出棧的元素,則說明1、2、3、4都已經(jīng)依次入棧,則出棧次序只能是4、3、2、1。1為棧底元素,只能最后出棧,不可能在3、2之前出來。13、在有n個葉子節(jié)點的哈夫曼樹中,其節(jié)點總數(shù)為【】A、不確定B、2nC、2n+1D、2n—1標準答案:D知識點解析:哈夫曼樹足二又樹,因此二又樹的性質(zhì)適用于哈夫曼樹。因為哈夫曼樹中沒有度為1的節(jié)點,所以度為2的節(jié)點的個數(shù)為n一1個,節(jié)點總數(shù)=n+(n一1)=2n—1。14、在順序表{2,5,7,10,14,15,18,23,35,41,52)中采用折半查找法查找14需做【】次關鍵字比較。A、5B、4C、3D、2標準答案:B知識點解析:進行比較的關鍵字依次是:15、7、10、14。15、下列關于軟件測試的目的的敘述中錯誤的是【】A、軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程B、一個好的測試用例是指可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例C、一個成功的測試是發(fā)現(xiàn)了軟件的新功能D、測試要以發(fā)現(xiàn)錯誤為中心,而不是演示正確的功能標準答案:C知識點解析:一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。二、填空題(本題共10題,每題1.0分,共10分。)16、數(shù)據(jù)結(jié)構(gòu)研究的主要內(nèi)容包括數(shù)據(jù)的邏輯結(jié)構(gòu)、_________以及它們之間的相互運算。FORMTEXT標準答案:物理結(jié)構(gòu)(存儲結(jié)構(gòu))知識點解析:暫無解析17、我們把計算機加工的對象(原料)叫_________。FORMTEXT標準答案:數(shù)據(jù)知識點解析:暫無解析18、一個算法的_________是求解問題的算法所耗時間的程度。FORMTEXT標準答案:時間復雜度知識點解析:暫無解析19、下面的程序段的時間復雜度是_________。voidfun(intn){inti=1;while(i<=n)i=i*2:}FORMTEXT標準答案:O(log2n)知識點解析:暫無解析20、在雙向鏈表中,每個節(jié)點包含兩個指針域,一個指向前趨節(jié)點,另一個指向_________節(jié)點。FORMTEXT標準答案:后繼知識點解析:暫無解析21、在線性表的順序存儲結(jié)構(gòu)中,若一個節(jié)點的下標為i,則它的前趨節(jié)點的下標為_________。FORMTEXT標準答案:i一1知識點解析:暫無解析22、線性表的兩種存儲結(jié)構(gòu)分別為_________和鏈式存儲結(jié)構(gòu)。FORMTEXT標準答案:順序存儲結(jié)構(gòu)知識點解析:暫無解析23、在具有m個節(jié)點的循環(huán)隊列中,隊頭指針為front,隊尾指針為rear,判斷循環(huán)隊列滿的條件是_________。FORMTEXT標準答案:front==(rear+1)%m知識點解析:暫無解析24、棧是一種_________的線性表。FORMTEXT標準答案:先進后出(后進先出)知識點解析:暫無解析25、數(shù)組的邏輯結(jié)構(gòu)可看成是_________的推廣。FORMTEXT標準答案:線性表知識點解析:暫無解析三、簡答題(本題共4題,每題1.0分,共4分。)26、用盒圖(N—S圖)表示求s=i2+22+32+42+…+(n2—1)2+n2的算法,n的值由鍵盤輸入,其中循環(huán)控制用while結(jié)構(gòu)實現(xiàn)。標準答案:知識點解析:暫無解析27、已知一棵二叉樹的先序遍歷的結(jié)果是ABECDFGHIJ,中序遍歷的結(jié)果是EBCDAFHIGJ,試寫出這棵二叉樹的形成過程。標準答案:當先序序列為ABECDFGHIJ,中序序列為EBCDAFHIGJ時,逐步形成二叉樹的過程如下圖所示:知識點解析:暫無解析28、下圖表示一個城市的旅游景點圖,頂點表示景點,邊表示連接景點間的公路,邊上的權(quán)表示連接景點間的公路的里程。選擇能夠溝通每個景點且總造價最省的n一1條公路,畫出所有可能的方案。標準答案:知識點解析:暫無解析29、已知序列(46,93,35,22,85,26,70,45),請寫出對該序列采用直接插入排序方法進行升序排序的各趟結(jié)果。標準答案:①6,93,35,22,85,26,70,45②35,46,93,22,85,26,70,45③22,35,46,93,85,26,70,45④22,35,46,85,93,26,70,45⑤22,26,35,46,85,93,70,45⑥22,26,35,46,70,85,93,45⑦22,26,35,45,46,70,85,93知識點解析:暫無解析四、程序分析題(本題共4題,每題1.0分,共4分。)30、函數(shù)fun的功能是使字符串str按逆序存放,填空完成程序。fun(charstr[]){charm;inti,j;for(i=0,j=str1en(str);i<①;i++,j--){m=strEi];str[i]=②;str[j一1]=m;}printf("%s\n",str);}標準答案:①j②str[j-1]知識點解析:暫無解析31、下列程序的功能是:fun函數(shù)計算數(shù)組前n+1項的積,主函數(shù)調(diào)用fun函數(shù),計算并輸出前4項元素的積。請將程序補充完整。#include>stdio.h>intn,b[];intfun(intb[],intn){inti,r=1;for(i=0;①;i++)r=r*b[i]:returnr;}main(){intx,a[]={1,2,3,4,5,6,7,8};②;printf("%d\n",x);}標準答案:①i<=n②x=fun(a,3)知識點解析:暫無解析32、以下fun函數(shù)的功能是:累加數(shù)組中各元素的值。n為數(shù)組中元素的個數(shù),累加的和值放入x所指的存儲單元中。fun(intb[],intn,int*x){intk,r=0;for(k=0;k標準答案:①r+b[k]②*x知識點解析:暫無解析33、下面程序的執(zhí)行結(jié)果是_______。#includestructstru{intx;charch;};main(){structstrua={10,’x’};printf("%d,%c\n",a.x,a.ch);}標準答案:10,x知識點解析:暫無解析五、程序設計題(本題共2題,每題1.0分,共2分。)34、從鍵盤輸入若于個字符,分別統(tǒng)計其中字母、空格、數(shù)字字符和其他字符的個數(shù)。標準答案:#includemain(){charc;intletters=0,space=0,digit=0,others=0;printf("pleaseinputsomecharactets\n");while((c=getchar())!=’n’){if(c>=’a’&&c<=’z’||c>=’A’&&<=’Z’)letters++;elseif(c==’’)space++;elseif(c>=’0’&&c<=’9’)digit++;elseothers++;}printf("allinall=char=%dspace=%ddigit=%dothers=%d\n",letters,space,digit,others);}31.知識點解析:暫無解析35、從鍵盤輸入字符串a(chǎn)和字符串b,實現(xiàn)在字符串a(chǎn)中的最小元素后面插入字符串b。標準答案:#include#includevoidmain(){chara[50],b[20];inti=0,min=0,lena,lenb;printf("pleaseinputstringa:");gets(a);printf("pleaseinputstringb:");gets(b);while(a[i]!一!\0’){if(a[i]min;i--)a[i+lenb]=a[i].for(i=0;i知識點解析:暫無解析全國自考(計算機軟件基礎)模擬試卷第6套一、單項選擇題(本題共15題,每題1.0分,共15分。)1、已知intb=4;,執(zhí)行語句b+=b++;后,b的值是【】A、8B、9C、10D、11標準答案:B知識點解析:b+=b++等價于b=b+(b++),b++表示在使用b的值之后,b的值再加1,所以b=b+(b++)=5+4=9。2、下列數(shù)據(jù)中,不合法的C語言實型數(shù)據(jù)是【】A、0.123B、123E3C、2.1E3.5D、789.0標準答案:C知識點解析:暫無解析3、按照C語言規(guī)定的用戶標識符命令規(guī)則,不能出現(xiàn)在變量名中的是【】A、大寫字母B、連接符C、數(shù)字D、下劃線標準答案:B知識點解析:在C語言中,變量名只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。4、對于輸入語句scanf("%d,%d",&a,&b);,要使變量a、b的值分別為1和2,則正確的輸入是【】A、1,2回車B、12回車C、1回車2回車D、1;2回車標準答案:A知識點解析:按照scanf函數(shù)的語法要求,格式控制字符串中的非格式控制符必須原樣輸入。顯然本題中的非格式控制符是“逗號”,只有選項A中有“逗號”。5、有以下程序段:inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%d\n",a,b,c);程序的輸出結(jié)果是【】A、a=10b=50c=10B、a=10b=50c=30C、a=10b=30c=10D、a=50b=30c=50標準答案:A知識點解析:在if(表達式)后面如果有多條語句,需要用花括號括起來,若沒有括起來,則第一個分號后的語句便不是if語句。此題中的條件為a>b,即10>50,顯然條件不成立,所以程序?qū)⑻^if語句,執(zhí)行if語句的后續(xù)語句,將變量a的值10賦給變量c,接著執(zhí)行后面的輸出語句,所以最后的答案為選項A。6、已知charsr[20];inti;,從鍵盤向數(shù)組sr輸入一個字符串的正確語句是【】A、gets(sr);B、gets(sr[20]);C、for(i=0;i<20;i++)scanf(sr);D、for(i=0;i<20;i++)gets(&sr)標準答案:A知識點解析:gets(sr)的功能是從鍵盤輸入一個字符串到字符數(shù)組sr,sr為字符數(shù)組名。7、運行下列程序后的輸出結(jié)果是【】#includcinta=3,b=4;voidfun(intx1,intx2){printf("%d,%d\n",x1+x2,b);}main(){inta=5,b=6;fun(a,b);}A、7,4B、11,4C、7,6D、11,6標準答案:B知識點解析:C語言規(guī)定當全局變量和局部變量重名時,局部變量優(yōu)先。第2條語句中的a、b是全局變量,其值分別為3、4;主函數(shù)中的a、b是局部變量,其值為5、6。調(diào)用函數(shù)后,形參x1和x2的值為5、6,輸出時的變量b是全局變量,值為4。8、設有兩條語句inta,*p=&a;和*p=a;,則下列說法中正確的是【】A、兩條語句中的“*p”的含義完全相同B、第2條語句中的“*p=a”是將a的值賦予變量PC、兩條語句中的“*p=&a”和“*p=a”的功能完全相同D、第1條語句中的“*p=&a”是定義指針變量p并對其進行初始化標準答案:D知識點解析:題目中的第1條語句定義整型變量a和指向a的指針變量p;第2條語句中的“*p”就是變量a,即將a的值賦予*p。因此,選項A、B、C均是錯誤的。9、以下結(jié)構(gòu)類型和結(jié)構(gòu)變量定義語句中正確的是【】A、typedefstruct{intn;charc;}REC;RECt1,t2;B、structREC;{intn;charc;};RECt1,t2;C、typedefstructREC;{intn=0;charc=’A’;}t1,t2;D、struct{intn;charc;}REC標準答案:A知識點解析:選項A中用typedlef定義結(jié)構(gòu)類型RFC,用新類型名RFC定義變量,是正確的。選項B中structREC后不應該加分號,并且只有struct和REC在一起才能定義變量。選項C中typeclefstructREC后不應該加分號,并且結(jié)構(gòu)類型的成員不應該初始化。選項D中REC后面應該加分號。10、數(shù)據(jù)結(jié)構(gòu)課程主要討論算法的【】A、空間性和時間性B、正確性和簡明性C、可讀性和文檔性D、數(shù)據(jù)復雜性和程序復雜性標準答案:A知識點解析:數(shù)據(jù)結(jié)構(gòu)課程主要討論算法的時間性和空間性,稱作時間復雜度和空間復雜度,以此作為評價算法的兩大性能指標。11、下列有關線性表的敘述中,正確的是【】A、同一個線性表中的數(shù)據(jù)節(jié)點具有相同的屬性B、線性表中任何一個元素有且僅有一個直接前趨C、線性表中任何一個元素有且僅有一個直接后繼D、線性表是一種復雜的、不常用的數(shù)據(jù)結(jié)構(gòu)標準答案:A知識點解析:暫無解析12、當棧中的元素為n個,做進棧運算時發(fā)生上溢,則說明該棧的最大容量是【】A、n/2B、nC、n+1D、n—1標準答案:B知識點解析:棧是限定在表的一端進行插入和刪除的線性表;當棧滿時再做進棧運算必定產(chǎn)生空間溢出,簡稱“上溢”,所以如果棧中的元素為n個,做進棧運算時發(fā)生上溢,說明棧已滿,則該棧的最大容量為n。13、將一棵有100個節(jié)點的完全二叉樹從根這一層開始,每一層從左到右依次對節(jié)點進行編號,根節(jié)點的編號是1,則編號為49的節(jié)點的左孩子的編號為【】A、98B、99C、50D、48標準答案:A知識點解析:暫無解析14、如果在排序過程中不改變關鍵字相同的元素的相對位置,則認為該排序方法是【】A、不穩(wěn)定的B、穩(wěn)定的C、基于交換的D、基于選擇的標準答案:B知識點解析:如果待排序的元素中存在有多個關鍵字相同的元素,經(jīng)過排序后這些具有相同關鍵字的元素之間的相對次序保持不變,則稱這種排序方法是穩(wěn)定的;反之,若具有相同關鍵字的元素之間的相對次序發(fā)生了變化,則稱這種排序方法是不穩(wěn)定的。15、需求分析常用的工具是【】A、PADB、PFDC、N—SD、DFD標準答案:D知識點解析:暫無解析二、填空題(本題共10題,每題1.0分,共10分。)16、樹形結(jié)構(gòu)中節(jié)點a有3個兄弟,b是a的雙親,則b的度為________。FORMTEXT標準答案:4知識點解析:暫無解析17、已知完全二叉樹的第8層有8個節(jié)點,則其葉子節(jié)點的個數(shù)為________。FORMTEXT標準答案:68知識點解析:暫無解析18、已知二叉樹的先序序列為ABDCEFG,中序序列為DBCAFEG,則后序序列為________。FORMTEXT標準答案:DCBFGEA知識點解析:暫無解析19、先序序列為xyz且后序序列為zyx的二叉樹共有________棵。FORMTEXT標準答案:4知識點解析:暫無解析20、在有向圖中,以頂點V為終點的邊的數(shù)目稱為V的________。FORMTEXT標準答案:入度知識點解析:暫無解析21、一個圖的________是這個圖最小的連通子圖。FORMTEXT標準答案:生成樹知識點解析:暫無解析22、在無向圖G的鄰接矩陣A中,若A[i][j]等于1,則A[j][i]等于________。FORMTEXT標準答案:1知識點解析:暫無解析23、有一個長度為20的有序表采用折半查找方法進行查找,共有________個元素的查找長度為3。FORMTEXT標準答案:4知識點解析:暫無解析24、軟件生存周期可分為________、軟件開發(fā)和軟件維護三個階段。FORMTEXT標準答案:軟件定義知識點解析:暫無解析25、________就是抽出事務的本質(zhì)特性而暫時不考慮它們的物理特性。FORMTEXT標準答案:抽象知識點解析:暫無解析三、簡答題(本題共4題,每題1.0分,共4分。)26、分別畫出用while型循環(huán)求sum=1+3+5+…+999的程序流程圖和N—S圖。標準答案:知識點解析:暫無解析27、假設通信的電文僅由8個字母組成,字母在電文中出現(xiàn)的頻率分別為:0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10請構(gòu)造哈夫曼樹(權(quán)值小的為左子樹,權(quán)值大的為右子樹),并根據(jù)哈夫曼編碼樹為這8個字母設計哈夫曼編碼。標準答案:哈夫曼樹如下:哈夫曼編碼為:I1=00000I2=00001I3=0001I4=0010I5=0011I6=01I7=10I8=11知識點解析:暫無解析28、寫出下列AOV網(wǎng)的所有拓撲序列。標準答案:①②③④⑤⑦⑥①②③④⑦⑤⑥①②④③⑦⑤⑥①②④③⑤⑦⑥①②④⑤③⑦⑥知識點解析:暫無解析29、已知一數(shù)值序列為{33,61,12,75,8,54,41},請分別寫出按升序進行排序時,直接選擇排序、直接插入排序第一趟結(jié)束后的數(shù)值序列。標準答案:直接選擇排序:8,61,12,75,33,54,41直接插入排序:33,61,12,75.8,54,41知識點解析:暫無解析四、程序分析題(本題共4題,每題1.0分,共4分。)30、下列算法用于判斷帶頭節(jié)點的循環(huán)雙鏈表A是否對稱相等,請在算法中的橫線處填上正確的語句。intdlink_symmetry(dlklists){j=1;p=s一>next;q=s—>prior;while(p!=q&&①)if(p一>data==q—>data){②;q=q一>prior;}elsej=0;return(j);}標準答案:①j②p=p一>next知識點解析:暫無解析31、下面算法的功能是_________。LinkListListListDemo(ListList&L)//L是不帶頭節(jié)點的單鏈表{Inode*q,*p;if(L&&L—>next){q=L;L=L一>next;p=L:while(p—>next)p=p一>next;p一>next=q;p一>next=NULL;}returnL:標準答案:刪除單鏈表的第1個節(jié)點知識點解析:暫無解析32、下列算法的時間復雜度是_________。s=0:for(i=0;i標準答案:O(n2)知識點解析:暫無解析33、下列函數(shù)的功能是求鏈表長度,填空完成程序。structnode{charch;structnode*link;};str(structnode*p){int①;while(p!=NULL){②;count++:}return(count);}標準答案:①count=0②p=p一>next知識點解析:暫無解析五、程序設計題(本題共2題,每題1.0分,共2分。)34、求an=a+aa+aaa+…的值,其中a是一個數(shù)字。例如:2+22+222+2222+22222(此時n=5),n的值由鍵盤輸入。標準答案:#ineludemain(){inta,n,i=1,sn=0,tn=0;printf("a,n=:");scanf("%d,%d",&a,&n);while(i<=n){tn=tn+a;sn=sn+tn:a=a*10:++i:}printf("a+aa+aaa+…=%d\n

溫馨提示

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

評論

0/150

提交評論