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

下載本文檔

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

文檔簡介

2025年全國計算機二級等級考試全真模擬試卷及答案(共七套)2025年全國計算機二級等級考試全真模擬試卷及答案(第一套)1.設循環(huán)隊列為Q(1:m),其初始狀態(tài)為front=rear=m。經過一系列入隊與退隊運算后,front=15,rear=20?,F(xiàn)要在該循環(huán)隊列中尋找最大值的元素,最壞情況下需要比較的次數為A)4B)6C)m-5D)m-6參考答案:A2.下列敘述中正確的是A)循環(huán)隊列屬于隊列的鏈式存儲結構B)雙向鏈表是二叉樹的鏈式存儲結構C)非線性結構只能采用鏈式存儲結構D)有的非線性結構也可以采用順序存儲結構參考答案:D3.某二叉樹中有n個葉子結點,則該二叉樹中度為2的結點數為A)n+1B)n-1C)2nD)n/2參考答案:B4.下列敘述中錯誤的是A)算法的時間復雜度與算法所處理數據的存儲結構有直接關系B)算法的空間復雜度與算法所處理數據的存儲結構有直接關系C)算法的時間復雜度與空間復雜度有直接關系D)算法的時間復雜度與算法程序執(zhí)行的具體時間是不一致的參考答案:C5.軟件工程的三要素是A)方法、工具和過程B)建模、方法和工具C)建模、方法和過程D)定義、方法和過程參考答案:A6.通常軟件測試實施的步驟是A)集成測試、單元測試、確認測試B)單元測試、集成測試、確認測試C)確認測試、集成測試、單元測試D)單元測試、確認測試、集成測試參考答案:B7.下面可以作為軟件設計工具的是A)系統(tǒng)結構圖B)數據字典(DD)C)數據流程圖(DFD圖)D)甘特圖參考答案:A8.在數據庫設計中,將E-R圖轉換成關系數據模型的過程屬于A)邏輯設計階段B)需求分析階段C)概念設計階段D)物理設計階段參考答案:A9.設有關系表學生S(學號,姓名,性別,年齡,身份證號),每個學生學號唯一。除屬性學號外,也可以作為鍵的是A)姓名B)身份證號C)姓名,性別,年齡D)學號,姓名參考答案:B10.在數據庫系統(tǒng)中,考慮數據庫實現(xiàn)的數據模型是A)概念數據模型B)邏輯數據模型C)物理數據模型D)關系數據模型參考答案:B11.以下選項中敘述正確的是A)結構化程序的三種基本結構是循環(huán)結構、選擇結構、順序結構B)C語言源程序不編譯也能直接運行C)使用N-S流程圖不能描述復雜算法D)計算機能夠直接運行C語言源程序,不必進行任何轉換參考答案:A12.以下選項中敘述正確的是A)使用三種基本結構就可以實現(xiàn)任何復雜算法B)只要程序包含了三種基本結構中的任意一種,就是結構化程序C)程序語法錯誤要在運行時才能發(fā)現(xiàn)D)C語言程序不需要包含main()函數參考答案:A13.以下選項中,合法的C語言常量是A)1.234B)'C++'C)"\2.0D)2Kb參考答案:A14.以下選項中,合法的C語言實數是A).2e0B)3.1e0.4C)E13D)7.12E參考答案:A15.以下選項中,合法的C語言實數是A).2e0B)3.1e0.4C)E13D)7.12E參考答案:A16.有如下程序#include<stdio.h>main(){intx=072;printf("%d\n",x+1);}程序運行后的輸出結果是A)59B)73C)115D)72參考答案:A17.有如下程序#include<stdio.h>main(){inta=0,b=1;if(a++&&b++)printf("T");elseprintf("F");printf("a=%d,b=%d\n",a,b);}程序運行后的輸出結果是A)Fa=1,b=1B)Fa=0,b=2C)Ta=1,b=2D)Ta=0,b=1參考答案:A18.有如下程序#include<stdio.h>main(){inti,data;scanf("%d",&data);for(i=0;i<5;i++){if(i<data)continue;printf("%d,",i);}printf("\n");}程序運行時,從鍵盤輸入:3<回車>后,程序輸出結果為A)3,4,B)1,2,3,4,C)0,1,2,3,4,5,D)0,1,2,參考答案:A19.有如下程序#include<stdio.h>main(){inti,data;scanf("%d",&data);for(i=0;i<5;i++){if(i>data)break;printf("%d,",i);}printf("\n");}程序運行時,從鍵盤輸入:3<回車>后,程序輸出結果為A)0,1,2,3,B)0,1,C)3,4,5,D)3,4,參考答案:A20.有如下程序#include<stdio.h>main(){chara='3',b='A';inti;for(i=0;i<6;i++){if(i%3)putchar(a+i);elseputchar(b+i);}printf("\n");}程序運行后的輸出結果是A)A45D78B)ABC678C)34CD78D)34AB78參考答案:A21.有如下程序#include<stdio.h>main(){inti;for(i=0;i<5;i++)putchar('9'-i);printf("\n");}程序運行后的輸出結果是A)98765B)54321C)'9''8''7''6''5'D)'43210'參考答案:A22.有如下程序#include<stdio.h>main(){intx=0x13;if(x=0x18)printf("T");printf("F");printf("\n");}程序運行后的輸出結果是A)TFB)TC)FD)TFT參考答案:A23.有如下程序#include<stdio.h>intsum(inta,intb){returna+b-2;}main(){inti;for(i=0;i<5;i++)printf("%d",sum(i,3));printf("\n");}程序運行后的輸出結果是A)12345B)01234C)45678D)54321參考答案:A24.有如下程序#include<stdio.h>intchange(int*data){return(*data)++;}main(){intdata=123;change(&data);printf("%d,",data);data=change(&data);printf("%d,",data);printf("\n");}程序運行后的輸出結果是A)124,124,B)123,124,C)124,123,D)123,123,參考答案:A25.有如下程序#include<stdio.h>voidchange(int*array,intlen){for(;len>=0;len--)array[len]+=2;}main(){inti,array[5]={1,2};change(array,4);for(i=0;i<4;i++)printf("%d,",array[i]);printf("\n");}程序運行后的輸出結果是A)3,4,2,2,B)3,4,5,6,C)2,3,4,5,D)1,2,0,0,參考答案:A26.以下選項中敘述正確的是A)charc1,c2,*c3,c4[40];是合法的變量定義語句B)數組說明符的一對方括號中只能使用整型常量,而不能使用表達式C)數組下標的下限可以是負值D)若有數組定義floatarray[4];則語句printf("%f",array[3.12]);是合法的參考答案:A27.若有函數聲明voidfun(floatarray[],int*ptr);以下敘述正確的是A)函數參數array,ptr都是指針變量B)函數參數array不是指針變量,ptr是指針變量C)調用函數時,實參數組的值將一一復制給array數組D)調用函數時,array是按值傳送,ptr是按地址傳送參考答案:A28.設有如下程序段inta[8]={0};intb[]={0};charc[2]={"A","B"};chard="AB";以下敘述正確的是A)只有a,b的定義是合法的B)a,b,c,d的定義都是合法的C)只有a,b,c的定義是合法的D)只有c的定義是合法的參考答案:A29.以下涉及字符串數組、字符指針的程序段,不會產生編譯錯誤的是A)char*str,name[10];str="HelloWorld";B)char*str,name[10];name="HelloWorld";C)charstr1[10]="prog.c",str2[10];str2=str1;D)charhead_line[];head_line="=============";參考答案:A30.有如下程序#include<stdio.h>#include<string.h>main(){printf("%d\n",strlen("0\n011\1"));}程序運行后的輸出結果是A)6B)8C)9D)4參考答案:A31.有如下程序#include<stdio.h>voidconvert(charch){if(ch<'D')convert(ch+1);printf("%c",ch);}main(){convert('A');printf("\n");}程序運行后的輸出結果是A)DCBAB)ABCDC)AD)ABCDDCBA參考答案:A32.有如下程序#include<stdio.h>#include<string.h>main(){chara[]="THIS",*b="OK";printf("%d,%d,%d,%d\n",strlen(a),sizeof(a),strlen(b),sizeof(b));}程序運行后的輸出結果是A)4,5,2,4B)4,4,2,1C)5,5,3,3D)4,5,2,3參考答案:A33.有如下程序#include<stdio.h>voidget_put(){charch;ch=getchar();if(ch!='\n')get_put();putchar(ch);}main(){get_put();printf("\n");}程序運行時,輸入1234<回車>,則輸出結果是A)4321B)1234C)4444D)1111參考答案:A34.有如下程序#include<stdio.h>intsum(intdata){staticintinit=0;returninit+=data;}main(){inti;for(i=1;i<=5;i++)printf("%d,",sum(i));printf("\n");}程序運行后的輸出結果是A)1,3,6,10,15,B)1,2,3,4,5,C)0,0,0,0,0,D)1,1,1,1,1,參考答案:A35.以下選項中的編譯預處理命令行,正確的是A)#definePI3.14B)##defineeps0.001C)#DEFINETRUED)#defineintINT參考答案:A36.設有以下程序段structperson{charname[10];charsex;floatweight;}zhangsan,*ptr;ptr=&zhangsan;若要從鍵盤讀入姓名給結構體變量zhangsan的name成員,輸入項錯誤的是A)scanf("%s",zhangsan->name);B)scanf("%s",);C)scanf("%s",ptr->name);D)scanf("%s",(*ptr).name);參考答案:A37.有如下程序#include<stdio.h>structperson{charname[10];intage;}main(){structpersonroom[4]={{"Zhang",19},{"Li",20},{"Wang",17},{"Zhao",18}};printf("%s:%d\n",(room+2)->name,room->age);}程序運行后的輸出結果是A)Wang:19B)Wang:17C)Li:20D)Li:19參考答案:A38.有如下程序#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[5]={9,1,3,4};structpairmin_max=get_min_max(array,5);printf("min=%d,max=%d\n",min_max.first,min_max.second);}程序運行后的輸出結果是A)min=0,max=9B)min=1,max=9C)min=1,max=4D)min=0,max=4參考答案:A39.有如下程序#include<stdio.h>main(){inta=8,b;b=(a>>2)%2;printf("%d,%d\n",a,b);}程序運行后的輸出結果是A)8,0B)4,0C)4,1D)8,1參考答案:A40.以下選項中敘述正確的是A)文件指針是指針類型的變量B)文件指針可同時指向不同文件C)文件指針的值是文件在計算機磁盤中的路徑信息D)調用fscanf函數可以向文本文件中寫入任意字符參考答案:A2025年全國計算機二級等級考試全真模擬試卷及答案(第二套)1.下列敘述中正確的是A)一個算法的空間復雜度大,則其時間復雜度也必定大B)一個算法的空間復雜度大,則其時間復雜度必定小C)一個算法的時間復雜度大,則其空間復雜度必定小D)算法的時間復雜度與空間復雜度沒有直接關系參考答案:D2.下列敘述中正確的是A)循環(huán)隊列中的元素個數隨隊頭指針與隊尾指針的變化而動態(tài)變化B)循環(huán)隊列中的元素個數隨隊頭指針的變化而動態(tài)變化C)循環(huán)隊列中的元素個數隨隊尾指針的變化而動態(tài)變化D)以上說法都不對參考答案:A3.棵二叉樹中共有80個葉子結點與70個度為1的結點,則該二叉樹中的總結點數為A)219B)229C)230D)231參考答案:B4.對長度為10的線性表進行冒泡排序,最壞情況下需要比較的次數為A)9B)10C)45D)90參考答案:C5.構成計算機軟件的是A)源代碼B)程序和數據C)程序和文檔D)程序、數據及相關文檔參考答案:D6.軟件生命周期可分為定義階段、開發(fā)階段和維護階段,下面不屬于開發(fā)階段任務的是A)測試B)設計C)可行性研究D)實現(xiàn)參考答案:C7.下面不能作為結構化方法軟件需求分析工具的是A)系統(tǒng)結構圖B)數據字典(DD)C)數據流程圖(DFD圖)D)判定表參考答案:A8.在關系模型中,每一個二維表稱為一個A)關系B)屬性C)元組D)主碼(鍵)參考答案:A9.若實體A和B是一對多的聯(lián)系,實體B和C是一對一的聯(lián)系,則實體A和C的聯(lián)系是A)一對一B)一對多C)多對一D)多對多參考答案:B10.A)選擇B)投影C)交D)并參考答案:D11.以下敘述中正確的是A)C語言程序所調用的函數必須放在main函數的前面B)C語言程序總是從最前面的函數開始執(zhí)行C)C語言程序中main函數必須放在程序的開始位置D)C語言程序總是從main函數開始執(zhí)行參考答案:D12.C語言程序中,運算對象必須是整型數的運算符是A)&&B)/C)%D)*參考答案:C13.有以下程序#include<stdio.h>main(){intsum,pad,pAd;sum=pad=5;pAd=++sum,pAd++,++pad;printf("%d\n",pad);}程序的輸出結果是A)5B)6C)7D)8參考答案:B14.有以下程序#include<stdio.h>main(){inta=3;a+=a-=a*a;printf("%d\n",a);}程序的輸出結果是A)0B)9C)3D)-12參考答案:D15.sizeof(double)是A)一個整型表達式B)一個雙精度型表達式C)一個不合法的表達式D)一種函數調用參考答案:A16.有以下程序#include<stdio.h>main(){inta=2,c=5;printf("a=%%d,b=%%d\n",a,c);}程序的輸出結果是A)a=2,b=5B)a=%2,b=%5C)a=%d,b=%dD)a=%%d,b=%%d參考答案:C17.若有定義語句:chara='\82';則變量aA)說明不合法B)包含1個字符C)包含2個字符D)包含3個字符參考答案:A18.有以下程序#include<stdio.h>main(){charc1='A',c2='Y';printf("%d,%d\n",c1,c2);}程序的輸出結果是A)輸出格式不合法,輸出出錯信息B)65,89C)65,90D)A,Y參考答案:B19.若變量已正確定義for(x=0,y=0;(y!=99&&x<4);x++)則以上for循環(huán)A)執(zhí)行3次B)執(zhí)行4次C)執(zhí)行無限次D)執(zhí)行次數不定參考答案:B20.對于while(!E)s;,若要執(zhí)行循環(huán)體s,則E的取值應為:A)E等于1B)E不等于0C)E不等于1D)E等于0參考答案:D21.有以下程序#include<stdio.h>main(){intx;for(x=3;x<6;x++)printf((x%2)?("*%d"):("#%d"),x);printf("\n");}程序的輸出結果是A)*3#4*5B)#3*4#5C)*3*4#5D)*3#4#5參考答案:A22.有以下程序#include<stdio.h>main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b=b+3;continue;}b=b-5;}printf("%d\n",a);}程序的輸出結果是A)10B)9C)8D)7參考答案:B23.有以下程序#include<stdio.h>voidfun(intx,inty,int*c,int*d){*c=x+y;*d=x-y;}main(){inta=4,b=3,c=0,d=0;fun(a,b,&c,&d);printf("%d%d\n",c,d);}程序的輸出結果是A)00B)43C)34D)71參考答案:D24.有以下程序#include<stdio.h>voidfun(int*p,int*q){intt;t=*p;*p=*q;*q=t;*q=*p;}main(){inta=0,b=9;fun(&a,&b);printf("%d%d\n",a,b);}程序的輸出結果是A)90B)00C)99D)09參考答案:C25.有以下程序#include<stdio.h>main(){inta[]={2,4,6,8,10},x,*p,y=1;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf("%d\n",y);}程序的輸出結果是A)13B)19C)11D)15參考答案:B26.有以下程序#include<stdio.h>main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d",x[i][2-i]);printf("\n");}程序的輸出結果是A)150B)357C)147D)369參考答案:B27.設有某函數的說明為int*func(inta[10],intn);則下列敘述中,正確的是A)形參a對應的實參只能是數組名B)說明中的a[10]寫成a[]或*a效果完全一樣C)func的函數體中不能對a進行移動指針(如a++)的操作D)只有指向10個整數內存單元的指針,才能作為實參傳給a參考答案:B28.有以下程序#include<stdio.h>charfun(char*c){if(*c<='Z'&&*c>='A')*c-='A'-'a';return*c;}main(){chars[81],*p=s;gets(s);while(*p){*p=fun(p);putchar(*p);p++;}printf("\n");}若運行時從鍵盤上輸入OPENTHEDOOR<回車>,程序的輸出結果是A)OPENTHEDOORB)oPENtHEdOORC)openthedoorD)OpenTheDoor參考答案:C29.設有定義語句:char*aa[2]={"abcd","ABCD"};則以下敘述正確的是A)aa[0]存放了字符串"abcd"的首地址B)aa數組的兩個元素只能存放含有4個字符的一維數組的首地址C)aa數組的值分別是字符串"abcd"和"ABCD"D)aa是指針變量,它指向含有兩個元素的字符型數組參考答案:A30.有以下程序#include<stdio.h>intfun(char*s){char*p=s;while(*p!=0)p++;return(p-s);}main(){printf("%d\n",fun("goodbey!"));}程序的輸出結果是A)0B)6C)7D)8參考答案:C31.有以下程序#include<stdio.h>intfun(intn){inta;if(n==1)return1;a=n+fun(n-1);return(a);}main(){printf("%d\n",fun(5));}程序的輸出結果是A)9B)14C)10D)15參考答案:D32.有以下程序#include<stdio.h>intd=1;voidfun(intp){intd=5;d+=p++;printf("%d",d);}main(){inta=3;fun(a);d+=a++;printf("%d\n",d);}程序的輸出結果是A)84B)96C)94D)85參考答案:A33.有以下程序#include<stdio.h>intfun(intA){intb=0;staticintc=3;a=(c++,b++);return(a);}main(){inta=2,i,k;for(i=0;i<2;i++)k=fun(a++);printf("%d\n",k);}程序的輸出結果是A)4B)0C)1D)2參考答案:B34.有以下程序#include<stdio.h>main(){charc[2][5]={"6934","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=c[i];for(i=0;i<2;i++)for(j=0;p[i][j]>0&&p[i][j]<='9';j+=2)s=10*s+p[i][j]-'0';printf("%d\n",s);}程序的輸出結果是A)693825B)69825C)63825D)6385參考答案:D35.有以下程序#include<stdio.h>#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}程序的輸出結果是A)0B)1C)9D)10參考答案:B36.有以下程序#include<stdio.h>main(){charx=2,y=2,z;z=(y<<1)&(x>>1);printf("%d\n",z);}程序的輸出結果是A)1B)0C)4D)8參考答案:B37.有以下程序#include<stdio.h>structS{inta;intb;};main(){structSa,*p=&a;a.a=99;printf("%d\n",__________);}程序要求輸出結構體中成員a的數據,以下不能填入橫線處的內容是A)a.aB)*p.aC)p->aD)(*p).a參考答案:B38.有以下程序#include<stdio.h>#include<stdlib.h>voidfun(double*p1,double*p2,double*s){s=(double*)calloc(1,sizeof(double));*s=*p1+*(p2+1);}main(){doublea[2]={1.1,2.2},b[2]={10.0,20.0},*s=a;fun(a,b,s);printf("%5.2f\n",*s);}程序的輸出結果是A)21.10B)11.10C)12.10D)1.10參考答案:D39.A)p=p->next;s->next=p;p->next=s;B)s->next='\0';p=p->next;p->next=s;C)p=p->next;s->next=p->next;p->next=s;D)p=(*p).next;(*s).next=(*p).next;(*p).next=s;參考答案:A40.若fp已定義為指向某文件的指針,且沒有讀到該文件的末尾,則C語言函數feof(fp)的函數返回值是A)EOFB)非0C)-1D)0參考答案:D2025年全國計算機二級等級考試全真模擬試卷及答案(第三套)1.下列敘述中正確的是A)算法的效率只與問題的規(guī)模有關,而與數據的存儲結構無關B)算法的時間復雜度是指執(zhí)行算法所需要的計算工作量C)數據的邏輯結構與存儲結構是一一對應的D)算法的時間復雜度與空間復雜度一定相關參考答案:B2.下列敘述中正確的是A)線性表鏈式存儲結構的存儲空間一般要少于順序存儲結構B)線性表鏈式存儲結構與順序存儲結構的存儲空間都是連續(xù)的C)線性表鏈式存儲結構的存儲空間可以是連續(xù)的,也可以是不連續(xù)的D)以上說法均錯誤參考答案:C3.某二叉樹共有12個結點,其中葉子結點只有1個。則該二叉樹的深度為(根結點在第1層)A)3B)6C)8D)12參考答案:D4.對長度為n的線性表作快速排序,在最壞情況下,比較次數為A)nB)n-1C)n(n-1)D)n(n-1)/2參考答案:D5.結構化程序設計中,下面對goto語句使用描述正確的是A)禁止使用goto語句B)使用goto語句程序效率高C)應避免濫用goto語句D)以上說法均錯誤參考答案:C6.下面不屬于軟件測試實施步驟的是A)集成測試B)回歸測試C)確認測試D)單元測試參考答案:B7.下面不屬于軟件需求分析階段主要工作的是A)需求變更申請B)需求分析C)需求評審D)需求獲取參考答案:A8.一般情況下,當對關系R和S進行自然連接時,要求R和S含有一個或者多個共有的A)記錄B)行C)屬性D)元組參考答案:C9.A)選擇B)差C)交D)并參考答案:B10.有表示公司和職員及工作的三張表,職員可在多家公司兼職。其中公司C(公司號,公司名,地址,注冊資本,法人代表,員工數),職員S(職員號,姓名,性別,年齡,學歷),工作W(公司號,職員號,工資),則表W的鍵(碼)為A)公司號,職員號B)職員號,工資C)職員號D)公司號,職員號,工資參考答案:A11.以下敘述中正確的是A)每個后綴為.C的C語言源程序都可以單獨進行編譯B)每個后綴為.C的C語言源程序都應該包含一個main函數C)在C語言程序中,main函數必須放在其他函數的最前面D)在C語言程序中,只有main函數才可單獨進行編譯參考答案:A12.C語言中的標識符分為關鍵字、預定義標識符和用戶標識符,以下敘述正確的是A)關鍵字可用作用戶標識符,但失去原有含義B)預定義標識符可用作用戶標識符,但失去原有含義C)在標識符中大寫字母和小寫字母被認為是相同的字符D)用戶標識符可以由字母和數字任意順序組成參考答案:B13.以下選項中合法的常量是A)999B)2.7eC)0XabD)123E0.2參考答案:C14.C語言主要是借助以下哪種手段來實現(xiàn)程序模塊化A)定義函數B)定義常量和外部變量C)使用豐富的數據類型D)使用三種基本結構語句參考答案:A15.以下敘述中錯誤的是A)數值型常量有正值和負值的區(qū)分B)常量可以用一個符號名來代表C)定義符號常量必須用類型名來設定常量的類型D)常量是在程序運行過程中值不能被改變的量參考答案:C16.若有定義和語句:inta,b;scanf("%d,%d,",&a,&b);以下選項中的輸入數據,不能把值3賦給變量a、5賦給變量b的是A)3,5,4B)3,5C)3,5,D)3,5參考答案:D17.C語言中char類型數據占字節(jié)數為A)1B)2C)3D)4參考答案:A18.下列關系表達式中,結果為"假"的是A)3<=4B)(3<4)==1C)(3+4)>6D)(3!=4)>2參考答案:D19.若以下選項中的變量a,b,y均已正確定義并賦值,則語法正確的switch語句是A)switch(a*a+b*b){default:break;case3:y=a+b;break;case2:y=a-b;break;}B)switch(a+b){case1:case3:y=a+b;break;case0:case4:y=a-b;}C)switch(a+9){casea:y=a-b;caseb:y=a+b;}D)switcha*b{case10:y=a+b;default:y=a-b;}參考答案:A20.有以下程序#include<stdio.h>main(){inta=-2,b=0;while(a++&&++b);printf("%d,%d\n",a,b);}程序運行后輸出結果是A)0,2B)0,3C)1,3D)1,2參考答案:D21.設有定義:intx=0,*p;緊接著的賦值語句正確的是A)*p=NULL;B)p=NULL;C)p=x;D)*p=x;參考答案:B22.下列敘述中正確的是A)空字符串不占用內存,其內存空間大小是0B)兩個連續(xù)的單引號('')是合法的字符常量C)可以對字符串進行關系運算D)兩個連續(xù)的雙引號("")是合法的字符串常量參考答案:D23.有以下程序#include<stdio.h>main(){chara='H';a=(a>='A'&&a<='Z')?(a+32):a;printf("%c\n",a);}程序運行后的輸出結果是A)HB)hC)AD)a參考答案:B24.有以下程序#include<stdio.h>intf(intx);main(){inta,b=0;for(a=0;a<3;a+=1){b+=f(a);putchar('A'+b);}}intf(intx){returnx*x+1;}程序運行后輸出結果是A)ABEB)BCDC)BDID)BCF參考答案:C25.設有定義:intx[2][3];則以下關于二維數組x的敘述錯誤的是A)元素x[0]可看作是由3個整型元素組成的一維數組B)數組x可以看作是由x[0]和x[1]兩個元素組成的一維數組C)可以用x[0]=0;的形式為數組所有元素賦初值0D)x[0]和x[1]是數組名,分別代表一個地址常量參考答案:C26.設p是指針變量,語句p=NULL;等價于A)p='0';B)p='';C)p="";D)p=0;參考答案:D27.有以下程序#include<stdio.h>main(){inta[]={10,20,30,40},*p=a,i;for(i=0;i<=3;i++){a[i]=*p;p++;}printf("%d\n",a[2]);}程序運行后的輸出結果是A)10B)20C)30D)40參考答案:C28有以下程序#include<stdio.h>#defineN3voidfun(inta[][N],intb[]){inti,j;for(i=0;i<N;i++){b[i]=a[i][0];for(j=1;j<N;j++)if(b[i]<a[i][j])b[i]=a[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<N;i++)printf("%d,",y[i]);printf("\n");}程序運行后的輸出結果是A)3,5,7B)1,3,5,C)2,4,8,D)3,6,9,參考答案:D29.有以下程序(strcpy為字符串復制函數,strcat為字符串連接函數)#include<stdio.h>#include<string.h>main(){chara[10]="abc",b[10]="012",c[10]="xyz";strcpy(a+1,b+2);puts(strcat(a,c+1));}程序運行后的輸出結果是A)a12xyzB)bc2yzC)a2yzD)12yz參考答案:C30.以下選項中,沒有編譯錯誤的是A)charstr3[]={'d','e','b','u','g','\0'};B)charstr1[5]="pass",str2[6];str2=str1;C)charname[10];name="china";D)charstr4[];str4="helloworld";參考答案:A31.有以下程序#include<stdio.h>main(){char*s="12134";intk=0,a=0;while(s[k+1]){k++;if(k%2==0){a=a+(s[k]-'0'+1);continue;}a=a+(s[k]-'0');}printf("k=%da=%d\n",k,a);}程序運行后的輸出結果是A)k=5a=15B)k=4a=12C)k=6a=11D)k=3a=14參考答案:B32.有以下程序#include<stdio.h>main(){chara[5][10]={"one","two","three","four","five"};inti,j;chart;for(i=0;i<2;i++)for(j=i+1;j<5;j++)if(a[i][0]>a[j][0]){t=a[i][0];a[i][0]=a[j][0];a[j][0]=t;}puts(a[1]);}程序運行后的輸出結果是A)owoB)fwoC)twoD)fix參考答案:B33.有以下程序#include<stdio.h>inta=1,b=2;voidfun1(inta,intb){printf("%d%d",a,b);}voidfun2(){a=3;b=4;}main(){fun1(5,6);fun2();printf("%d%d\n",a,b);}程序運行后的輸出結果是A)5612B)3456C)1256D)5634參考答案:D34.有以下程序#include<stdio.h>voidfunc(intn){staticintnum=1;num+=n;printf("%d",num);}main(){func(3);func(4);printf("\n");}程序運行后的輸出是A)45B)48C)35D)34參考答案:B35.有以下程序#include<stdio.h>#include<stdlib.h>voidfun(int*p1,int*p2,int*s){s=(int*)calloc(1,sizeof(int));*s=*p1+*p2;free(s);}main(){inta[2]={1,2},b[2]={40,50},*q=a;fun(a,b,q);printf("%d\n",*q);}程序運行后的輸出結果是A)42B)41C)1D)0參考答案:C36.有以下程序#include<stdio.h>structSTU{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[0].name,c[0].sex,c[0].score[0],c[0].score[1]);printf("%s,%c,%d,%d\n",c[1].name,c[1].sex,c[1].score[0],c[1].score[1]);}程序運行后輸出結果是A)Qian,f,95,92,Sun,m,98,99B)Qian,f,95,92,Zhao,m,85,90C)Zhao,m,85,90,Sun,m,98,99D)Zhao,m,85,90,Qian,f,95,92參考答案:B37.以下敘述中錯誤的是A)用typedef可以說明一種新的類型名B)typedef的作用是用一個新的標識符來代表已存在的類型名C)可以用typedef說明的新類型名來定義變量D)typedef說明的新類型名必須使用大寫字母,否則會出編譯錯誤參考答案:D38.以下敘述中錯誤的是A)只要類型相同,結構體變量之間可以整體賦值B)函數的返回值類型不能是結構體類型,只能是簡單類型C)可以通過指針變量來訪問結構體變量的任何成員D)函數可以返回指向結構體變量的指針參考答案:B39.若有定義語句intb=2;則表達式(b<<2)/(3||b)的值是A)0B)2C)4D)8參考答案:D40.有以下程序#include<stdio.h>main(){FILE*fp;inti,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w+");for(i=0;i<6;i++)fprintf(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]);}程序運行后輸出結果是A)1,2,3,4,5,6,B)6,5,4,3,2,1,C)4,5,6,1,2,3,D)1,2,3,3,2,1,參考答案:B2025年全國計算機二級等級考試全真模擬試卷及答案(第四套)1.下列敘述中正確的是A)有且只有一個根結點的數據結構一定是線性結構B)每一個結點最多有一個前件也最多有一個后件的數據結構一定是線性結構C)有且只有一個根結點的數據結構一定是非線性結構D)有且只有一個根結點的數據結構可能是線性結構,也可能是非線性結構參考答案:D2.下列敘述中錯誤的是A)在雙向鏈表中,可以從任何一個結點開始直接遍歷到所有結點B)在循環(huán)鏈表中,可以從任何一個結點開始直接遍歷到所有結點C)在線性單鏈表中,可以從任何一個結點開始直接遍歷到所有結點D)在二叉鏈表中,可以從根結點開始遍歷到所有結點參考答案:C3.某二叉樹共有13個結點,其中有4個度為1的結點,則葉子結點數為A)5B)4C)3D)2參考答案:A04.設棧的順序存儲空間為S(1:50),初始狀態(tài)為top=0?,F(xiàn)經過一系列入棧與退棧運算后,top=20,則當前棧中的元素個數為A)30B)29C)20D)19參考答案:C5.設棧的順序存儲空間為S(1:50),初始狀態(tài)為top=0?,F(xiàn)經過一系列入棧與退棧運算后,top=20,則當前棧中的元素個數為A)30B)29C)20D)19參考答案:C6.程序測試的目的是A)執(zhí)行測試用例B)發(fā)現(xiàn)并改正程序中的錯誤C)發(fā)現(xiàn)程序中的錯誤D)診斷和改正程序中的錯誤參考答案:C7.下面屬于系統(tǒng)軟件的是A)財務管理系統(tǒng)B)數據庫管理系統(tǒng)C)編輯軟件WordD)殺毒軟件參考答案:B8.在關系A(S,SN,D)和B(D,CN,NM)中,A的主關鍵字是S,B的主關鍵字是D,則D是A的A)外鍵(碼)B)候選鍵(碼)C)主鍵(碼)D)元組參考答案:A9.有兩個關系R,S如下,由關系R和S通過運算得到關系T,則所使用的操作為A)并B)自然連接C)笛卡爾積D)差參考答案:D10.在數據庫管理系統(tǒng)提供的數據語言中,負責數據模式定義的是A)數據定義語言B)數據管理語言C)數據操縱語言D)數據控制語言參考答案:A11.流程圖是描述算法的很好的工具,一般的流程圖中由幾種基本圖形組成。其中輸入輸出框的圖形是A)平行四邊形B)長方形C)橢圓型D)菱形參考答案:A12.設有以下代碼do{while(條件表達式1)循環(huán)體A;}while(條件表達式2);while(條件表達式1){do{循環(huán)體B;}while(條件表達式2);}其中,循環(huán)體A與循環(huán)體B相同,以下敘述正確的是A)循環(huán)體A與循環(huán)體B的執(zhí)行次數相同B)循環(huán)體A比循環(huán)體B的執(zhí)行次數多一次C)循環(huán)體A比循環(huán)體B的執(zhí)行次數少一次D)循環(huán)體A與循環(huán)體B的執(zhí)行次數不確定參考答案:A13.C語言的常量包括數值型常量和符號常量,以下敘述正確的是A)數值型常量1.0和1所占內存的大小不同B)不能用sizeof求數值型常量所占內存的大小C)不能用sizeof求符號常量所占內存的大小D)可以用&A取得符號常量A所占內存的首地址參考答案:A14.有以下程序#include<stdio.h>main(){inta;a=(int)(-1.53*3);printf("%d\n",a);}程序的運行結果是A)-4B)-3C)-5D)結果不確定參考答案:A15.若有定義:charc;intd;,程序運行時輸入:1,2<回車>,能把值1輸入給變量c、值2輸入給變量d的輸入語句是A)scanf("%c,%d",&c,&d);B)scanf("%c%d",&c,&d);C)scanf("%d,%f",&c,&d);D)scanf("%d%d",&c,&d);參考答案:A16.有以下程序#include<stdio.h>main(){intk=33;printf("%d,%o,%x\n",k,k,k);}程序的運行結果是A)33,41,21B)33,33,33C)41,33,21D)33,21,41參考答案:A17.有以下程序#include<stdio.h>main(){inta=0,b=0,c=0,d=0;(a++&&b++)?c++:d++;printf("%d,%d,%d,%d\n",a,b,c,d);}程序的運行結果是A)1,0,0,1B)1,1,0,1C)1,0,1,0D)1,1,1,0參考答案:A18有以下程序#include<stdio.h>main(){inta,b;for(a=0;a<3;a++){scanf("%d",&b);switch(b){case1:printf("%d,",++b);case2:printf("%d,",++b);default:printf("%d,",++b);}}}執(zhí)行時輸入:123<回車>,則輸出結果是A)2,3,4,3,4,4,B)2,3,4,C)2,2,2,3,3,4,D)2,3,4,3,4,5,4,5,6參考答案:A19有以下程序#include<stdio.h>main(){inta=-1,b=-1;while(++a)++b;printf("%d,%d\n",a,b);}程序的運行結果是A)0,-1B)0,0C)-1,-1D)結果不確定參考答案:A20有以下程序#include<stdio.h>main(){inta=0,b=0;for(;a<5;a++){if(a%2==0)continue;b+=a;}printf("%d\n",b);}程序的運行結果是A)4B)10C)0D)15參考答案:A21以下選項中非法的C語言字符常量是A)'\128'B)'\127'C)'\x01'D)'\x08'參考答案:A22有以下程序#include<stdio.h>main(){charc;while((c=getchar())!='#')putchar(c);}執(zhí)行時如輸入abcdefg##<回車>,則輸出結果是A)abcdefgB)abcdefg#C)abcdefg##D)##參考答案:A23若要使用C數學庫中的sin函數,需要在源程序的頭部加上#include<math.h>關于引用數學庫,以下敘述正確的是A)通過引用math.h文件,說明sin函數的參數個數和類型,以及函數返回值類型B)將數學庫中sin函數鏈接到編譯生成的可執(zhí)行文件中,以便能正確運行C)將數學庫中sin函數的源程序插入到引用處,以便進行編譯鏈接D)實際上,不引用math.h文件也能正確調用sin函數參考答案:A24以下關于地址和指針的敘述中正確的是A)可以取變量的地址賦值給同類型的指針變量B)可以取常量的地址賦值給同類型的指針變量C)可以取一個指針變量的地址賦給本指針變量,這樣就使得指針變量指向自身D)所有指針變量如果未賦初值,則自動賦空值NULL參考答案:A25有以下程序#include<stdio.h>intk=5;voidf(int*s){*s=k;}main(){intm=3,*p=&m;f(p);printf("%d,%d",m,*p);}程序的運行結果是A)5,5B)3,3C)3,5D)5,3參考答案:A26有以下程序#include<stdio.h>int*f(int*s,int*t){if(*s<*t)s=t;returns;}main(){inti=3,j=5,*p=&i,*q=&j,*r;r=f(p,q);printf("%d,%d,%d,%d,%d\n",i,j,*p,*q,*r);}程序的運行結果是A)3,5,3,5,5B)3,5,5,5,5C)5,3,3,3,5D)5,5,5,5,5參考答案:A27有以下程序#include<stdio.h>#defineN4voidfun(inta[][N]){intb[N][N],i,j;for(i=0;i<N;i++)for(j=0;j<N;j++)b[i][j]=a[N-1-j][i];for(i=0;i<N;i++)for(j=0;j<N;j++)a[i][j]=b[i][j];}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)13,10,7,4,B)1,6,11,16,C)4,7,10,13,D)1,5,9,13,參考答案:A28有以下程序#include<stdio.h>voidfun(inta[],intn){inti,j=0,k=n-1,b[10];for(i=0;i<n/2;i++){b[i]=a[j];b[k]=a[j+1];j+=2;k--;}for(i=0;i<n;i++)a[i]=b[i];}main(){intc[10]={10,9,8,7,6,5,4,3,2,1},i;fun(c,10);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序的運行結果是A)10,8,6,4,2,1,3,5,7,9,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,4,5,6,7,8,9,10,D)1,3,5,7,9,10,8,6,4,2,參考答案:A29有以下程序#include<stdio.h>#include<string.h>main(){inti;chara[]="Howareyou!";for(i=0;a[i];i++)if(a[i]=='')strcpy(a,&a[i+1]);printf("%s\n",a);}程序的運行結果是A)areyou!B)Howareyou!C)areyou!D)areyou!參考答案:A30有以下程序(其中庫函數strstr()首部格式為:char*strstr(char*p1,char*p2)其功能是確定p2字符串是否在p1中出現(xiàn),并返回p2第一次出現(xiàn)的字符串首地址)#include<stdio.h>#include<string.h>char*a="you";char*b="WelcomeyoutoBeijing!";main(){char*p;p=strstr(b,a);printf("%s\n",p);}程序的運行結果是A)youtoBeijing!B)toBeijing!C)WelcomeyoutoBeijing!D)Beijing!參考答案:A31有以下程序#include<stdio.h>main(){charb[3][10];inti;for(i=0;i<2;i++)scanf("%s",b[i]);gets(b[2]);printf("%s%s%s\n",b[0],b[1],b[2]);}執(zhí)行時若從第一列輸入:Figflowerisred.<回車>則輸出結果是A)Figflowerisred.B)Figflowerisred.C)Figflowerisred.D)Figflowerisred.參考答案:A32有以下程序#include<stdio.h>#include<string.h>main(){charw[20],a[5][10]={"abcdef","ghijkl","mnopq","rstuv","wxyz."};inti;for(i=0;i<5;i++)w[i]=a[i][strlen(a[i])/2];w[5]='\0';puts(w);}程序的運行結果是A)djotyB)agmrwC)flqvD)cimsx參考答案:A33有以下程序#include<stdio.h>voidf(intx[],intn){if(n>1){printf("%d,",x[n-1]);f(x,n-1);}elseprintf("%d,",x[0]);}main(){intz[6]={1,2,3,4,5,6};f(z,6);

溫馨提示

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

評論

0/150

提交評論