2025年全國計算機二級等級考試全真模擬試卷及答案(共四套卷)_第1頁
2025年全國計算機二級等級考試全真模擬試卷及答案(共四套卷)_第2頁
2025年全國計算機二級等級考試全真模擬試卷及答案(共四套卷)_第3頁
2025年全國計算機二級等級考試全真模擬試卷及答案(共四套卷)_第4頁
2025年全國計算機二級等級考試全真模擬試卷及答案(共四套卷)_第5頁
已閱讀5頁,還剩132頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

2025年全國計算機二級等級考試全真模擬試卷及答案(共四套)2025年全國計算機二級等級考試全真模擬試卷及答案(一)1.下列敘述中正確的是A)結點中具有兩個指針域的鏈表一定是二叉鏈表B)結點中具有兩個指針域的鏈表可以是線性結構,也可以是非線性結構C)二叉樹只能采用鏈式存儲結構D)循環鏈表是非線性結構參考答案:B(2025.9)2.某二叉樹的前序序列為ABCD,中序序列為DCBA,則后序序列為A)BADCB)DCBAC)CDABD)ABCD參考答案:B(2025.9)3.下面不能作為軟件設計工具的是A)PAD圖B)程序流程圖C)數據流程圖(DFD圖)D)總體結構圖參考答案:C(2025.9)4.邏輯模型是面向數據庫系統的模型,下面屬于邏輯模型的是A)關系模型B)謂詞模型C)物理模型D)實體-聯系模型參考答案:A(2025.9)5.運動會中一個運動項目可以有多名運動員參加,一個運動員可以參加多個項目。則實體項目和運動員之間的聯系是A)多對多B)一對多C)多對一D)一對一參考答案:A(2025.9)6.堆排序最壞情況下的時間復雜度為A)B)C)D)參考答案:B(2025.9)7.某二叉樹中有15個度為1的結點,16個度為2的結點,則該二叉樹中總的結點數為A)32B)46C)48D)49參考答案:C2025.9)8.下面對軟件特點描述錯誤的是A)軟件沒有明顯的制作過程B)軟件是一種邏輯實體,不是物理實體,具有抽象性C)軟件的開發、運行對計算機系統具有依賴性D)軟件在使用中存在磨損、老化問題參考答案:D(2025.9)A)0B)1C)2D)3參考答案:C(2025.9)10.設有表示公司和員工及雇傭的三張表,員工可在多家公司兼職,其中公司C(公司號,公司名,地址,注冊資本,法人代表,員工數),員工S(員工號,姓名,性別,年齡,學歷),雇傭E(公司號,員工號,工資,工作起始時間)。其中表C的鍵為公司號,表S的鍵為員工號,則表E的鍵(碼)為A)公司號,員工號B)員工號,工資C)員工號D)公司號,員工號,工資參考答案:A(2025.9)11.算法應當具有的特性不包括A)可行性B)有窮性C)確定性D)美觀性參考答案:D(2025.9)12.若想給已定義為int型的變量a、b、c、d賦整數1,以下選項中錯誤的語句是A)d=c,c=b,b=a,a=1;B)d=c=b=a=1;C)d=(b=c=(a=1));D)d=1,c=d,b=c,a=b;參考答案:A(2025.9)13.以下選項中,合法的C語言常量是A)21.84B)'CPP'C)"\1.0D)2MB參考答案:A(2025.914.下面敘述正確的是A)C語言程序的語句經過編譯和鏈接轉換成二進制機器指令后才能執行B)任何算法需要包含三種基本結構中的兩種以上C)復雜算法是不能用三種基本結構來表達的D)只要是簡單算法,它的操作步驟都不會超過20步參考答案:A(2025.9)15.若已有定義語句:inta,b,c;,且變量已正確賦初值,則以下選項中正確的賦值表達式是A)a=(b=c)+8;B)(a=b)=c=9;C)a=(b==c)='A';D)a+b=c+1;參考答案:A(2025.9)16.以下表達式的值與x無關、其值恒為真的是A)0<x<5B)x>10&&x<5C)x>10&&x<5D)x<10&&x>5參考答案:A(2025.9)17.以下非法的字符常量是A)'\\n'B)'\101'C)'\x21'D)'\0'參考答案:A(2025.9)18.若有定義:inta=0,b=0,c=0,d=0;,以下關于C語言表達式:(++a||++b)?++c:++d執行順序的敘述正確的是A)先執行++a,表達式++a的值為1;再執行++b,表達式++b的值為1,由此可確定(++a||++b)值為1,因此執行++cB)先執行++a,表達式++a的值為1,由此可確定(++a||++b)值為1,因此執行++cC)先執行++b,表達式++b的值為1;再執行++a,表達式++a的值為1,由此可確定(++a||++b)值為1,因此執行++cD)先執行++b,表達式++b的值為1,由此可確定(++a||++b)值為1,因此執行++c參考答案:B(2025.9)19.有如下程序#include<stdio.h>main(){inti,data;scanf("%d",&data);for(i=0;i<10;i++){if(i>data)break;printf("%d,",i);}}程序運行時,從鍵盤輸入:3<回車>后,程序輸出結果為A)3,4,5,B)1,2,3,C)2,3,4,D)0,1,2,3參考答案:D20.有以下程序#include<stdio.h>main(){inti=4;for(printf("%d",i);i<2;i++)printf("%d",i);printf("\n");}程序運行后的輸出結果是A)12B)4C)1D)0參考答案:A21.有以下程序#include<stdio.h>main(){if('\0'==0)putchar('1');if('0'==0)putchar('2');if('a'>'b')putchar('3');}程序運行后的輸出結果是A)1B)123C)23D)3參考答案:A22.有如下程序段intk;for(k=2;k==0;)printf("%d",k--);則for循環體執行的次數是A)0次B)1次C)2次D)無限次參考答案:A23.有以下程序#include<stdio.h>intk=5;voidf(int*s){s=&k;*s=7;}main(){intm=3;f(&m);printf("%d,%d\n",m,k)}程序運行后的輸出結果是A)3,5B)7,7C)5,7D)3,7參考答案:D24.有以下程序#include<stdio.h>voidfun(inta[],intn){inti;for(i=0;i<n;i++){if(i%3==0)a[i]-=n;elsea[i]+=n;}}main(){intc[5]={6,7,8,9,10},i;fun(c,5);for(i=0;i<5;i++)printf("%d,",c[i]);printf("\n");}程序運行后的輸出結果是A)1,12,13,4,15,B)10,9,8,7,6,C)1,7,13,9,15,D)10,12,8,4,6參考答案:A25.有以下程序#include<stdio.h>intsub(doublea,doubleb){return(int)(a-b-1.3);}main(){printf("%d\n",sub(3.2,4.1));}程序運行后的輸出結果是A)-2B)1.7C)-3D)2.0參考答案:A26.有以下程序#include<stdio.h>main(){inti,*ptr;intarray[4]={1,1,3,4};for(ptr=array,i=0;i<3;i++)printf("%d,",*ptr++);printf("\n");}程序運行后的輸出結果是A)1,2,4,B)1,3,4,C)1,1,3,D)1,4,3,參考答案:C27.有以下程序#include<stdio.h>main(){intx[]={8,2,6,12,5,15},f1,f2;int*p=x;f1=f2=x[0];for(;p<=x+5;p++){if(f1<*p)f1=*p;if(f2>*p)f2=*p;}printf("%d,%d\n",f1,f2);}程序的運行結果是A)15,2B)15,15C)2,15D)8,8參考答案:A28.有以下程序#include<stdio.h>main(){intx[3][4]={1,3,5,7,9,11,2,4,6,8,10,12};int(*p)[4]=x,k=1,m,n=0;for(m=0;m<2;m++)n+=*(*(p+m)+k);printf("%d\n",n);}程序的運行結果是A)10B)20C)14D)16參考答案:C29.有以下程序#include<stdio.h>main(){charb[4][10],c;inti,j;for(i=0;i<4;i++){j=0;while((c=getchar())!=''&&c!='\n')b[i][j++]=c;b[i][j]='\0';}printf("%s%s%s%s\n",b[0],b[1],b[2],b[3]);}程序運行時從第一列開始輸入:Peachflowerispink.<回車>則輸出結果是A)Peachflowerispink.B)Peachflowerispink.C)Peachflowerispink.D)Peachflowerispink.參考答案:A30.有如下程序#include<stdio.h>voidconvert(charch){if(ch<'X')convert(ch+1);printf("%c",ch);}main(){convert('W');printf("\n");}程序運行后的輸出結果是A)YZB)VWC)XYD)XW參考答案:D31.有以下程序#include<stdio.h>#include<string.h>main(){chara[20]="ab",b[20]="cdef";intk=0;strcat(a,b);while(a[k]!='\0'){b[k]=a[k];k++;}puts(b);}程序的運行結果是A)abcdefB)cbcdefC)cdefD)ab參考答案:A32.以下使指針指向一個字符串的選項錯誤的是A)charstr[]="string",*ps;*ps=str;B)charstr[]="string",*ps;*ps=str;C)charstr[]="string",*ps;ps=str;D)char*ps;ps="string";參考答案:A33.有以下程序#include<stdio.h>typedefstructstu{charname[10];chargender;intscore;}STU;voidf(STUa,STU*b){*b=a;printf("%s,%c,%d,",b->name,b->gender,b->score);}main(){STUa={"Zhao",'m',290},b={"Qian",'f',350};f(a,&b);printf("%s,%c,%d\n",,b.gender,b.score);}程序運行后的輸出結果是A)Zhao,m,290,Qian,f,350B)Qian,m,290,Zhao,m,290C)Qian,f,350,Qian,f,350D)Zhao,m,290,Zhao,m,290參考答案:D34.若有定義typedefint*T;Ta[20];則以下與上述定義中a類型完全相同的是A)int*a[20];B)int(*a)[20];C)inta[20];D)int**a[20];參考答案:A35.有如下程序#include<stdio.h>structperson{charname[10];intage;};main(){structpersonroom[2]={{"Wang",19},{"Li",20}};printf("%s:%d\n",(room+1)->name,room->age);}程序運行后的輸出結果是A)Li:19B)Wang:19C)Li:20D)Wang:17參考答案:A36.以下關于編譯預處理的敘述中錯誤的是A)預處理命令行必須位于源程序的開始B)源程序中凡是以#開始的控制行都是預處理命令行C)一行上只能有一條有效的預處理命令D)預處理命令是在程序正式編譯之前被處理的參考答案:A37.以下關于宏的敘述錯誤的是A)宏替換不具有計算功能B)宏替換不具有類型C)宏名必須用大寫字母構成D)宏替換不占用運行時間參考答案:C38.有以下程序#include<stdio.h>structS{intx,y;};main(){structSdata[3]={4,3,2,0,8,1};inti;for(i=0;i<3;i++)printf("%d%d;",data[i].x,data[i].y>>1);printf("\n");}程序運行后的輸出結果是A)41;20;80;B)41;22;64;C)40;21;80;D)43;20;81;參考答案:A39.以下敘述正確的是A)文件指針是指針類型的變量B)文件指針變量的值是文件的當前讀取位置C)文件指針變量的值是文件的當前讀取位置D)調用fscanf函數能向所有類型的文件中寫入任意字符參考答案:A40.有以下程序#include<stdio.h>typedefstructstu{charname[10];chargender;intscore;}STU;voidf(STUa,STU*b){a=*b;printf("%s,%c,%d,",,a.gender,a.score);}main(){STUa={"Zhao",'m',290},b={"Qian",'f',350};f(a,&b);printf("%s,%c,%d\n",,a.gender,a.score);}程序運行后的輸出結果是A)Qian,f,350,Qian,f,350B)Zhao,m,290,Qian,f,350C)Qian,f,350,Zhao,m,290D)Zhao,m,290,Zhao,m,290參考答案:C2025年全國計算機二級等級考試全真模擬試卷及答案(二)1.下列關于算法復雜度敘述正確的是A)最壞情況下的時間復雜度一定高于平均情況的時間復雜度B)時間復雜度與所用的計算工具無關C)對同一個問題,采用不同的算法,則它們的時間復雜度是相同的D)時間復雜度與采用的算法描述語言有關參考答案:B(2025.9)2.設有棧S和隊列Q,初始狀態均為空。首先依次將A,B,C,D,E,F入棧,然后從棧中退出三個元素依次入隊,再將X,Y,Z入棧后,將棧中所有元素退出并依次入隊,最后將隊列中所有元素退出,則退隊元素的順序為A)DEFXYZABCB)DEFXYZABCC)FEDXYZCBAD)DEFZYXABC參考答案:B(2025.9)3.下列敘述中正確的是A)有兩個指針域的鏈表稱為二叉鏈表B)循環鏈表是循環隊列的鏈式存儲結構C)帶鏈的棧有棧頂指針和棧底指針,因此又稱為雙重鏈表D)結點中具有多個指針域的鏈表稱為多重鏈表參考答案:D(2025.9)4.某二叉樹共有845個結點,其中葉子結點有45個,則度為1的結點數為A)400B)754C)756D)不確定參考答案:C(2025.9)5.軟件需求分析階段的主要任務是A)確定軟件開發方法B)確定軟件開發工具C)確定軟件開發計劃D)確定軟件系統的功能參考答案:D(2025.9)6.下面對軟件測試描述錯誤的是A)嚴格執行測試計劃,排除測試的隨意性B)隨機地選取測試數據C)隨機地選取測試數據D)軟件測試是保證軟件質量的重要手段參考答案:B(2025.9)7.結構化程序的三種基本控制結構是A)順序、選擇和重復(循環)B)過程、子程序和分程序C)順序、選擇和調用D)調用、返回和轉移參考答案:A(2025.9)8.數據庫中對概念模式內容進行說明的語言是A)數據定義語言B)數據操縱語言C)數據控制語言D)數據宿主型語言參考答案:A(2025.9)9.某個工廠有若干個倉庫,每個倉庫存放有不同的零件,相同零件可能放在不同的倉庫中。則實體倉庫和零件間的聯系是A)多對多B)一對多C)多對一D)一對一參考答案:A(2025.9)10.A)交B)差C)并D)選擇參考答案:A(2025.9)11.以下敘述正確的是A)計算機只接收由0和1代碼組成的二進制指令或數據B)計算機只接收由0和1代碼組成的十進制指令或數據C)計算機可直接接收并運行C源程序D)計算機可直接接收并運行任意高級語言編寫的源程序參考答案:A(2025.9)12.若有C語言表達式2+3*4+7/3,以下選項中敘述正確的執行順序是A)先執行3*4得12,再執行7/3得2.5,最后執行2+12+2.5得16.5B)先執行3*4得12,再執行2+12得14,再執行7/3得2,最后執行14+2得16C)先執行7/3得2,再執行3*4得12,再執行12+2得14,最后執行2+14得16D)先執行2+3得5,再執行5*4得20,再執行20+7得27,最后執行27/3得9參考答案:B(2025.9)13.若有定義:charc;intd;程序運行時輸入:c=1,d=2<回車>,能把字符1輸入給變量c、整數2輸入給變量d的輸入語句是A)scanf("c=%dd=%d",&c,&d);B)scanf("c=%cd=%d",&c,&d);C)scanf("c=%d,d=%d",&c,&d);D)scanf("c=%c,d=%d",&c,&d);參考答案:D(2025.9)14.以下選項中,與n=i++完全等價的表達式是A)n=i,i=i+1B)n+=i+1C)i=i+1,n=iD)n=++i參考答案:A(2025.9)15.設有定義:intn=1234;doublex=3.1415;則語句printf("%3d,%1.3f\n",n,x);的輸出結果是A)1234,3.142B)123,3.142C)1234,3.141D)123,3.141參考答案:A(2025.9)16.有以下程序#include<stdio.h>main(){inta,b;for(a=0;a<3;a++){scanf("%d",&b);switch(b){default:printf("%d,",++b);case1:printf("%d,",++b);case2:printf("%d,",++b);}}}執行時輸入:123<回車>,則輸出結果是A)2,2,3,4,4,4,B)2,3,4,C)2,3,3,4,5,6,D)2,3,4,3,4,4,參考答案:C(2025.9)17.設變量m為float類型,變量n為int類型,則以下能實現將m中的數值保留小數點后兩位,第三位進行四舍五入運算的表達式是A)m=(m*100+0.5)/100.0B)n=m*100+0.5,m=n/100.0C)n=m/100+0.5,m=n*100.0D)m=m*100+0.5/100.0參考答案:B(2025.9)18.有以下程序#include<stdio.h>main(){inta=1,b=1;for(;a--;)b--;printf("%d,%d\n",a,b);}程序運行后的輸出結果是A)-1,0B)0,0C)-1,-1D)1,1參考答案:A(2025.9)19.若有定義:chars[30]={0};運行時輸入:Thisisastring.<回車>則以下不能正確讀入整個字符串:Thisisastring.到字符數組s中的語句組是A)i=0;while((c=getchar())!='\n')s[i++]=c;B)gets(s);C)for(i=0;(c=getchar())!='\n';i++)s[i]=c;D)scanf("%s",s);參考答案:D(2025.9)20.有如下程序#include<stdio.h>main(){inta=0,b=1;if(a++&&b++)printf("TRUE");elseprintf("FALSE");printf("_OUT:a=%d,b=%d\n",a,b);}程序運行后的輸出結果是printf("FALSE");printf("_OUT:a=%d,b=%d\n",a,b);}程序運行后的輸出結果是A)FALSE_OUT:a=1,b=1B)FALSE_OUT:a=0,b=2C)TRUE_OUT:a=1,b=2D)TRUE_OUT:a=0,b=1參考答案:A(2025.9)21.有如下程序#include<stdio.h>main(){inti,data;scanf("%d",&data);for(i=0;i<5;i++){if(i<data)continue;printf("%d-",i);}}程序運行時,從鍵盤輸入:3<回車>后,程序輸出結果為A)3-4-B)1-2-3-C)0-1-2-D)0-1-2-3-參考答案:A(2025.9)22.有以下程序#include<stdio.h>main(){inta=0,b=1;if(++a==b++)printf("1");elseprintf("0");printf("a=%d,b=%d\n",a,b);}程序運行后的輸出結果是A)1a=0,b=1B)0a=1,b=2C)1a=1,b=2D)0a=0,b=2參考答案:C(2025.9)23.有如下程序段for(i=0;i<10;i++)if(i<=5)break;則循環結束后i的值為A)1B)0C)5D)10參考答案:B(2025.9)24.設有定義:inta=0,b=1;,以下表達式中,會產生"短路"現象,致使變量b的值不變的是A)a++&&b++B)a++||++bC)++a&&b++D)+a||++b參考答案:A(2025.9)25.有如下程序段for(i=0;i<10;i++)if(i>5)break;則循環結束后i的值為A)10B)5C)9D)6參考答案:D(2025.9)26.有以下程序段intx,i;for(i=1;i<=100;i++){scanf("%d",&x);if(x<0)continue;printf("%4d\n",x);}下面針對上述程序段的描述正確的是A)最多可以輸出100個非負整數B)當x<0時結束整個循環C)當x>=0時沒有任何輸出D)printf函數調用語句總是被跳過參考答案:A(2025.9)27.關于地址和指針,以下說法正確的是A)通過強制類型轉換可以將一種類型的指針變量賦值給另一種類型的指針變量B)可以取一個常數的地址賦值給同類型的指針變量C)可以取一個表達式的地址賦值給同類型的指針變量D)可以取一個指針變量的地址賦值給基類型相同的指針變量參考答案:A(2025.9)28.有以下程序#include<stdio.h>#defineN4voidfun(inta[][N]){inti;for(i=0;i<N;i++)a[0][i]+=a[N-1][N-1-i];}main(){intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i;fun(x);for(i=0;i<N;i++)printf("%d,",x[i][i]);printf("\n");}程序運行后的輸出結果是A)4,7,10,13,B)1,6,11,16,C)17,6,11,16,D)5,13,21,29,參考答案:C(2025.9)29.關于C語言函數說明的位置,以下敘述正確的是A)在函數說明之后對該函數進行調用,編譯時不會出現錯誤信息B)函數說明可以出現在源程序的任意位置,在程序的所有位置對該函數的調用,編譯時都不會出現錯誤信息C)函數說明只能出現在源程序的開頭位置,否則編譯時會出現錯誤信息D)函數說明只是為了美觀和編譯時檢查參數類型是否一致,可以寫也可以不寫參考答案:A(2025.9)30.以下敘述正確的是A)不能在數組說明符的一對方括號中使用表達式B)charc1,*c2,**c3,c4[2];是C語言的合法語句C)數組下標的最小值可以是負值D)若有數組定義intarray[5];則語句printf("%d",array[1.23]);是合法的參考答案:B(2025.9)31.有以下程序#include<stdio.h>main(){inta=2,*ptr;ptr=&a;*ptr=8;a=(*ptr)++;printf("%d,%d\n",a,*ptr);}程序運行后的輸出結果是A)9,9B)8,9C)2,4D)0,4參考答案:A(2025.9)32.有以下程序#include<stdio.h>main(){inti,*ptr;intarray[4]={0,1};for(ptr=array,i=0;i<3;i++,ptr++){if(*ptr==0)putchar('#');elseputchar('M'+*ptr);}printf("\n");}程序運行后的輸出結果是A)MO#B)#F#C)MMMD)#N#參考答案:D(2025.9)33.有以下程序段:intm[2][3],(*p)[3];p=m;則以下對m數組元素的引用正確的是A)(p+1)[0]B)*(*(p+2)+1)C)*(p[1]+1)D)p[1]+2參考答案:C(2025.9)34.有以下程序#include<stdio.h>char*a="you";char*b="WelcomeyoutoBeijing!";main(){char*p;p=b;while(*p!=*a)p++;printf("%s\n",p);}程序運行后的輸出結果是A)youtoBeijing!B)toBeijing!C)WelcomeyoutoBeijing!D)Beijing!參考答案:A(2025.9)35.有以下程序#include<stdio.h>voidf(intx[],intn){if(n>1){printf("%d,",x[n-1]);f(x,n-1);printf("%d,",x[n-1]);}elseprintf("%d,",x[0]);}main(){intz[3]={1,2,3};f(z,3);printf("\n");}程序運行后的輸出結果是A)3,1,3,B)3,2,1,2,3,C)1,2,3,1,2,3,D)1,2,3,2,1,(2025.9)36.有以下程序#include<stdio.h>inta=2;intf(intk){staticintn;intm;m=n=0;n++;a++;m++;k++;returnn+m+a+k;}main(){intk;for(k=0;k<2;k++)printf("%d,",f(k));printf("\n");}程序運行后的輸出結果是A)6,8,B)6,9,C)6,6,D)6,7,參考答案:A(2025.9)37.有以下程序#include<stdio.h>intsum(int*array,intlen){if(len==1)returnarray[1];elsereturnarray[1]+sum(array+1,len-1);}main(){intarray[5]={0,9,1,2},res;res=sum(array,3);printf("%d\n",res);}程序運行后的輸出結果是A)27B)11C)8D)12參考答案:D(2025.9)38.有以下程序#include<stdio.h>main(){chars[10]="verygood",*ps=s;ps="too";s[4]='\0';puts(ps);}程序的運行結果是A)tooB)verygoodC)veryD)good參考答案:A(2025.9)39.以下敘述中錯誤的是A)函數中的形參屬于局部變量B)在函數內部定義的變量只能在本函數范圍內使用C)在函數外部定義的變量在所有函數中都有效D)在不同的函數中可以使用相同名字的變量參考答案:C(2025.9)40.有以下程序#include<stdio.h>main(){FILE*fp;inti,a[6]={1,2,3,4,5,6},k;fp=fopen("data.dat","w+");fprintf(fp,"%d\n",a[0]);for(i=1;i<6;i++){rewind(fp);fprintf(fp,"%d\n",a[i]);}rewind(fp);fscanf(fp,"%d",&k);fclose(fp);printf("%d\n",k);}程序運行后的輸出結果是A)6B)21C)123456D)654321參考答案:A2025年全國計算機二級等級考試全真模擬試卷及答案(三)(2025.9)1.下列敘述中正確的是A)每一個結點有兩個指針域的鏈表一定是非線性結構B)所有結點的指針域都為非空的鏈表一定是非線性結構C)循環鏈表是循環隊列的鏈式存儲結構D)線性結構的存儲結點也可以有多個指針參考答案:D(2025.9)2.使用白盒測試方法時,設計測試用例應根據A)程序的內部邏輯B)程序的復雜結構C)程序的功能D)使用說明書參考答案:A(2025.9)3.在醫院,每個醫生只屬于某一個診療科,醫生同一天可為多位患者看病,而一名患者可在多個科室治療。則實體醫生和患者之間的聯系是A)多對多B)多對一C)一對多D)一對一參考答案:A(2025.9)4.設序列長度為n,在最壞情況下,時間復雜度為O(log2n)的算法是A)二分法查找B)順序查找C)分塊查找D)哈希查找參考答案:A(2025.9)5.設數據集合為D={1,3,5,7,9},D上的關系為R,下列數據結構B=(D,R)中為非線性結構的是A)R={(5,1),(7,9),(1,7),(9,3)}B)R={(9,7),(1,3),(7,1),(3,5)}C)R={(1,9),(9,7),(7,5),(5,3)}D)R={(1,3),(3,5),(5,9)}參考答案:D(2025.9)6.深度為7的二叉樹共有127個結點,則下列說法中錯誤的是A)該二叉樹有一個度為1的結點B)該二叉樹是滿二叉樹C)該二叉樹是完全二叉樹D)該二叉樹有64個葉子結點參考答案:A(2025.9)7.某二叉樹的中序序列為BDCA,后序序列為DCBA,則前序序列為A)DCBAB)BDCAC)ABCDD)BADC參考答案:C(2025.9)8.下面能作為軟件需求分析工具的是A)PAD圖B)程序流程圖C)甘特圖D)數據流程圖(DFD圖)參考答案:D(2025.9)9.下面不屬于對象主要特征的是A)唯一性B)多態性C)可復用性D)封裝性參考答案:C(2025.9)10.A)(c,c,11,4)B)(b,b,11,4)C)(a,a,2,4)D)(a,a,2,4)和(e,e,6,1)參考答案:A(2025.9)11.簡單程序設計步驟中不包括A)編碼B)確定算法C)安裝編譯程序D)調試參考答案:C(2025.9)12.若想給已定義為int型的變量a,b,c,d賦值為1,以下選項中錯誤的語句是A)d=1,c=d,b=c,a=b;B)a=b=c=d=1;C)a=1,b=a,c=b,d=c;D)a=b,b=c,c=d,d=1;參考答案:D(2025.9)13.有C語言表達式2*3+4+15%3,關于其執行順序,以下敘述正確的是A)先執行2*3得6,再執行6+4得10,再執行15%3得0,最后執行10+0得10B)先執行2*3得6,再執行15%3得5,最后執行6+4+5得15C)先執行15%3得0,再執行2*3得6,最后執行6+4+0得10D)先執行15%3得3,再執行4+3得7,再執行2*3得6,最后執行6+7得13參考答案:A(2025.9)14.若有定義:inta;floatb;doublec;,程序運行時輸入:1,2,3<回車>,能把1輸入給變量a、2輸入給變量b、3輸入給變量c的輸入語句是A)scanf("%d,%f,%lf",&a,&b,&c);B)scanf("%d%f%lf",&a,&b,&c);C)scanf("%d,%lf,%lf",&a,&b,&c);D)scanf("%d,%f,%f",&a,&b,&c);參考答案:A(2025.9)15.以下選項中,合法的C語言實數是A)E1B).1e0C)0.10ED)2.1e0.2參考答案:B(2025.9)16.關于程序中的注釋,以下敘述正確的是A)注釋的內容必須放在一對/*和*/之間B)注釋必須置于所說明的語句前或語句后C)注釋中間可以嵌套另一個注釋D)注釋內容錯誤會導致編譯出錯參考答案:A(2025.9)17.有以下程序#include<stdio.h>main(){inta,b;for(a=0;a<3;a++){scanf("%d",&b);switch(b){default:printf("%d,",b++);case1:printf("%d,",b++);case2:printf("%d,",b++);}}}程序運行時輸入:123<回車>,則輸出結果是A)1,2,3,2,3,3,B)1,2,3,C)1,2,2,3,4,5,D)1,1,1,2,2,3參考答案:C(2025.9)18.以下非法的定義語句是A)longb=0L;B)unsignedinta=-100u;C)shortc2=0123;D)intd=0x0;參考答案:B(2025.9)19.有以下程序#include<stdio.h>main(){inta=0,b=0;for(;a<5;a++){if(a%2==0)continue;b+=a;break;}printf("%d\n",b);}程序運行后的輸出結果是A)1B)4C)0D)10參考答案:A(2025.9)20.有以下程序#include<stdio.h>main(){charc;c=getchar();do{putchar(c++);}while((c=getchar())!='#');}程序運行時從第一列開始輸入:abcdefg##<回車>,則輸出結果是A)bcdefgh$B)bcdefghC)abcdefg#D)abcdefg參考答案:D(2025.9)21.有如下程序#include<stdio.h>main(){chara='0',b='a';inti;for(i=0;i<4;i++){if(i%3)putchar(a+i);elseputchar(b+i);}}程序運行后的輸出結果是A)a12dB)ab3dC)10abD)11ac參考答案:A(2025.9)22.有以下程序#include<stdio.h>main(){charch='M';while(ch!='K'){putchar(ch);ch--;}}程序運行后的輸出結果是A)MLB)MKC)OPD)mm參考答案:A(2025.9)23.有以下程序#include<stdio.h>intk=5;voidf(int*s){s=&k;*s=k;}main(){intm=3;f(&m);printf("%d,%d\n",m,k);}程序運行后的輸出結果是A)3,3B)5,5C)3,5D)5,3參考答案:C(2025.9)24.有如下程序#include<stdio.h>intsum_mod(inta,intb){returna+b%2;}main(){inti;for(i=0;i<5;i++)printf("%d",sum_mod(i,4));printf("\n");}程序運行后的輸出結果是A)12345B)01234C)45678D)43210參考答案:B(2025.9)26.有如下程序段int*p,a=1;p=&a;*p=10;則變量a的值為A)不能確定B)1C)10D)11參考答案:C(2025.9)27.有以下程序#include<stdio.h>inta=2;intf(intk){staticintn=0;intm=0;n++;a++;m++;k++;returnn+m+a+k;}main(){intk;for(k=0;k<2;k++)printf("%d,",f(k));printf("\n");}程序運行后的輸出結果是A)6,9,B)6,10,C)6,6,D)6,7,參考答案:A(2025.9)28.有以下程序#include<stdio.h>voidf(intx[],intn){if(n>1){printf("%d,",x[0]);f(&x[1],n-1);printf("%d,",x[0]);}elseprintf("%d,",x[0]);}main(){intz[3]={4,5,6};f(z,3);printf("\n");}程序運行后的輸出結果是A)6,5,4,6,5,4,B)4,5,6,5,4,C)4,5,6,4,5,6,D)6,5,4,5,6,參考答案:B(2025.9)29.有如下程序#include<stdio.h>#include<string.h>main(){chara[]="1234",*b="ABC";printf("%d,%d,%d,%d\n",strlen(a),sizeof(a),strlen(b),sizeof(b));}程序運行后的輸出結果是A)4,5,1,3B)4,3,2,1C)4,5,3,3D)4,5,3,4參考答案:D(2025.9)30.有以下程序#include<stdio.h>int*sum(intdata){staticintinit=1;init+=data;return&init;}main(){inti,*p;for(i=1;i<=3;i++)sum(i);p=sum(1);printf("%d\n",*p);}程序運行后的輸出結果是A)8B)9C)10D)7參考答案:A(2025.9)31.以下對C語言函數的敘述中正確的是A)調用函數時,只能把實參的值傳給形參,形參的值不能傳給實參B)函數既能嵌套定義,又能遞歸定義C)函數必須有返回值,否則不能使用D)程序中有調用關系的所有函數必須放在同一個源程序中參考答案:A(2025.9)32.有以下程序#include<stdio.h>#defineS(x)x/x*xmain(){intk=6,j=3;printf("%d,%d\n",S(k+j),S(j+k));}程序運行后的輸出結果是A)27,27B)9,9C)27,29D)29,29參考答案:C(2025.9)33.若有定義typedefint*T;T*a[20];則以下與上述定義中a類型完全相同的是A)int**a[20];B)int(*a)[20];C)int*(*a)[20];D)int*a[20];參考答案:A(2025.9)34.設有以下程序段structperson{floatweight;charsex;charname[10];}rec,*ptr;ptr=&rec;從鍵盤讀入字符串給結構體變量rec的name成員,錯誤的輸入語句是A)scanf("%s",rec->name);B)scanf("%s",);C)scanf("%s",(*ptr).name);D)scanf("%s",ptr->name);參考答案:A(2025.9)35.有如下程序#include<stdio.h>structpair{intfirst,second;};structpairget_min_max(int*array,intlen){inti;structpairres;res.first=array[0];res.second=array[0];for(i=1;i<len;i++){if(array[i]<res.first)res.first=array[i];if(array[i]>res.second)res.second=array[i];}returnres;}main(){intarray[6]={19,21,3,4};structpairmin_max=get_min_max(array,6);printf("min=%d,max=%d\n",min_max.first,min_max.second);}程序運行后的輸出結果是A)min=0,max=6B)min=1,max=20C)min=1,max=19D)min=0,max=21參考答案:D(2025.9)36.有以下程序#include<stdio.h>main(){inti;FILE*fp;for(i=0;i<3;i++){fp=fopen("res.txt","w");fputc('K'+i,fp);fclose(fp);}}程序運行后,在當前目錄下會生成一個res.txt文件,其內容是A)EOFB)MC)KLMD)L參考答案:B(2025.9)37.有如下定義structst{intn;floatt;}a[20];FILE*fp;若文件已正確打開,則以下將文件內容讀入數組a中的語句錯誤的是A)for(i=0;i<20;i++)fread(a[i],sizeof(structst),1L,fp);B)fread(a,sizeof(structst),20L,fp);C)for(i=0;i<20;i+=2)fread(&a[i],2*sizeof(structst),1L,fp);D)for(i=0;i<20;i++,i++)fread(&a[i],sizeof(structst),2L,fp);參考答案:A(2025.9)38.有以下程序段intm=33,n=66;m=m^n;n=n^m;m=m^n;執行上述語句后,m和n的值分別是A)m=66,n=66B)m=33,n=66C)m=66,n=33D)m=33,n=33參考答案:C(2025.9)39.有以下程序#defineOut(n)n%2==0?"%c":"%d"#include<stdio.h>main(){intx;for(x=65;x<69;x++)printf(Out(x),x);}程序的運行結果是A)ABCDB)A66C68C)65666768D)65B67D參考答案:D(2025.9)40.有如下定義structst{intx;floaty;}rec,*px;若要使指針px指向rec的成員x,正確的賦值語句是A)px=(structst*)&rec.x;B)px=(structst*)rec.x;C)px=&rec.x;D)*px=rec.x;參考答案:A2025年全國計算機二級等級考試全真模擬試卷及答案(四)(2025.9)1.面向對象方法中,實現對象的數據和操作結合于統一體中的是A)結合B)封裝C)隱藏D)抽象參考答案:B2.在進行邏輯設計時,將E-R圖中實體之間聯系轉換為關系數據庫的A)關系B)元組C)屬性D)屬性的值域參考答案:A3.線性表的鏈式存儲結構與順序存儲結構相比,鏈式存儲結構的優點有A)節省存儲空間B)插入與刪除運算效率高C)便于查找D)排序時減少元素的比較次數參考答案:B4.深度為7的完全二叉樹中共有125個結點,則該完全二叉樹中的葉子結點數為A)62B)63C)64D)65參考答案:B5.下列敘述中正確的是A)所謂有序表是指在順序存儲空間內連續存放的元素序列B)有序表只能順序存儲在連續的存儲空間內C)有序表可以用鏈接存儲方式存儲在不連續的存儲空間內D)任何存儲方式的有序表均能采用二分法進行查找參考答案:C6.參考答案:C7.計算機軟件包括A)算法和數據B)程序和數據C)程序和文檔D)程序、數據及相關文檔參考答案:D8.下面描述中不屬于軟件需求分析階段任務的是A)撰寫軟件需求規格說明書B)軟件的總體結構設計C)軟件的需求分析D)軟件的需求評審參考答案:B9.當數據庫中數據總體邏輯結構發生變化,而應用程序不受影響,稱為數據的A)邏輯獨立性B)物理獨立性C)應用獨立性D)空間獨立性參考答案:A10.A)并B)投影C)交D)選擇參考答案:A11.以下敘述正確的是A)C編譯程序把文件后綴為.c的源程序文件編譯成文件后綴為.obj的二進制文件B)C編譯程序把文件后綴為.c的源程序文件編譯成文件后綴為.exe的可執行文件C)C編譯程序把文件后綴為.obj的二進制文件編譯成文件后綴為.exe的可執行文件D)鏈接程序把文件后綴為.c的源程序文件鏈接成文件后綴為.exe的可執行文件參考答案:A12.以下敘述正確的是A)循環結構、選擇結構、順序結構都是結構化程序的基本結構B)計算機可以直接執行C語言程序,不需要做任何轉換C)過于復雜的算法不能使用N-S流程圖描述D)只有不超過20步操作步驟的算法才是簡單算法參考答案:A13.有如下程序#include<stdio.h>main(){intx=072;printf("X=%d.\n",x+1);}程序運行后的輸出結果是A)X=115B)X=73C)X=59.D)X=72.參考答案:C14.下面敘述正確的是A)任何復雜任務都可以分解成簡單子任務B)C語言程序的所有函數只能處于同一個源文件中WErC)包含全部三種基本結構的程序才是結構化程序D)C語言程序可以定義多個不同內容的main函數參考答案:A15.以下敘述正確的是A)C程序總是以main()作為程序執行的起始行B)main()函數若不帶參數,其后面的一對圓括號可省略C)函數體內的定義語句和可執行語句允許任意穿插出現D)C語言中的語句之間必須用分號作為分隔符參考答案:A16.有以下程序#include<stdio.h>main(){charc;for(;(c=getchar())!='#';)putchar(++c);}執行時如輸入為:abcdefg##<回車>,則輸出結果是A)abcdefgB)bcdefgh$C)bcdefgh$$D)bcdefgh參考答案:D17.有以下程序#include<stdio.h>main(){inta=1,b=0;for(;a<5;a++){if(a%2==0)break;continue;b+=a;}printf("%d\n",b);}程序運行后的輸出結果是A)0B)1C)10D)4參考答案:A18.有以下程序#include<stdio.h>main(){intx=0x13;if(x=0x12)printf("True");printf("False\n");}程序運行后的輸出結果是A)TrueB)TrueFalseC)FalseD)TrueFalseTrue參考答案:B19.為了避免在嵌套的if-else語句中產生二義性,C語言規定與else子句配對是A)與其在同一行上的if子句B)在其之后最近的不帶else的if子句C)與其縮排位置相同的if子句D)在其之前最近的不帶else的同層if子句參考答案:D20.有以下程序#include<stdio.h>main(){inti,a;for(i=0;i<=10;i++)a=i;printf("%d,%d\n",i,a);}程序的運行結果是A)11,10B)10,10C)10,11D)11,11參考答案:A21.有以下程序#include<stdio.h>voidfun(inta[],intn){inti=0;for(i=0;i<n;i++){if(i%2==0)a[i]+=n;}}main(){intc[5]={5,4,3,2,1},i;fun(c,5);for(i=0;i<5;i++)printf("%d,",c[i]);printf("\n");}程序運行后的輸出結果是A)10,-1,8,-3,6,B)5,4,3,2,1,C)10,2,8,4,6,D)5,-1,3,-3,1,參考答案:A22.有以下程序#include<stdio.h>#defineN4voidfun(inta[][N]){inti;for(i=0;i<N;i++)a[0][i]=a[N-1][N-1-i];}main(){intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i;fun(x);for(i=0;i<N;i++)printf("%d,",x[i][i]);printf("\n");printf("\n");}程序運行后的輸出結果是A)16,6,11,16,B)1,6,11,16,C)4,7,10,13,D)17,17,17,17,參考答案:A23.有如下程序#include<stdio.h>intconvert(int*data){return(*data)++;}main(){intdata=56;convert(&data);printf("%d,",data);data=convert(&data);printf("%d,\n",data);}程序運行后的輸出結果是A)56,57,B)57,58,C)57,57,D)55,57,參考答案:C24.設有如下程序段inta[1]={0};intb[]={9};charc[3]={"A","B"};chard="12";以下敘述正確的是A)a,b的定義合法,c,d的定義不合法B)a,b,c,d的定義都是合法的C)a,b,c的定義是合法的,d的定義不合法D)只有a的定義是合法的參考答案:A25.設有定義:intx=2,*p=&x;floaty=3.0;charz='c';,則立即進行以下運算有安全隱患的是A)p++;B)x++;C)y++;D)z++;參考答案:A26.有以下程序#include<stdio.h>doublefun(doublea){doublex;x=a-(int)a;returnx;}main(){doublea=3.1415;printf("%f\n",fun(a));}程序的運行結果是A)3.000000B)3.141500C)0.141500D)0.000000參考答案:B27.有以下程序#include<stdio.h>#include<string.h>char*a="you";char*b="WelcomeyoutoBeijing!";main(){char*p;p=b;while(*p!=*a)p++;p+=strlen(a)+1;printf("%s\n",p);}程序運行后的輸出結果是A)Beijing!B)youtoBeijing!C)WelcomeyoutoBeijing!D)toBeijing!參考答案:D28.有如下程序#include<stdio.h>#include<string.h>main(){printf("%d\n",strlen("0\t\nA011\1"));}程序運行后的輸出結果是A)8B)9C)7D)10參考答案:A29.有如下程序#include<stdio.h>intsum(intdata){staticintinit=1;returninit+=data;}main(){inti;for(i=1;i<=1;i++)printf("%d,",sum(i));printf("\n");

溫馨提示

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

評論

0/150

提交評論