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

下載本文檔

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

文檔簡介

2025年全國計算機二級等級考試模擬試卷及答案(共四套)2025年全國計算機二級等級考試模擬試卷及答案(第一套)1下列敘述中正確的是()。A)線性表的鏈式存儲結構與順序存儲結構所需要的存儲空間是相同的B)線性表的鏈式存儲結構所需要的存儲空間一般要多于順序存儲結構C)線性表的鏈式存儲結構所需要的存儲空間一般要少于順序存儲結構D)線性表的鏈式存儲結構與順序存儲結構在存儲空間的需求上沒有可比性參考答案:B2.下列敘述中正確的是()。A)棧是一種先進先出的線性表B)隊列是一種后進先出的線性表C)棧與隊列都是非線性結構D)以上三種說法都不對參考答案:D3.軟件測試的目的是()。A)評估軟件可靠性B)發現并改正程序中的錯誤C)改正程序中的錯誤D)發現程序中的錯誤參考答案:D4.在軟件開發中,需求分析階段產生的主要文檔是()。A)軟件集成測試計劃B)軟件詳細設計說明書C)用戶手冊D)軟件需求規格說明書參考答案:D5.軟件生命周期是指()。A)軟件產品從提出、實現、使用維護到停止使用退役的過程B)軟件從需求分析、設計、實現到測試完成的過程C)軟件的開發過程D)軟件的運行維護過程參考答案:A6.面向對象方法中,繼承是指()。A)一組對象所具有的相似性質B)一個對象具有另一個對象的性質C)各對象之間的共同性質D)類之間共享屬性和操作的機制參考答案:D7.層次型、網狀型和關系型數據庫劃分原則是()。A)記錄長度B)文件的大小C)聯系的復雜程度D)數據之間的聯系方式參考答案:D8.一個工作人員可以使用多臺計算機,而一臺計算機可被多個人使用,則實體工作人員與實體計算機之間的聯系是()。A)一對一B)一對多C)多對多D)多對一參考答案:C9.數據庫設計中反映用戶對數據要求的模式是()。A)內模式B)概念模式C)外模式D)設計模式參考答案:C10.有三個關系R、S和T如下:則由關系R和S得到關系T的操作是()。A)自然連接B)差C)交D)并參考答案:B11.計算機能直接執行的程序是A)源程序B)目標程序C)匯編程序D)可執行程序參考答案:D12.以下敘述中正確的是A)C語言規定必須用main作為主函數名,程序將從此開始執行B)可以在程序中由用戶指定任意一個函數作為主函數,程序將從此開始執行C)C語言程序將從源程序中第一個函數開始執行D)main的各種大小寫拼寫形式都可以作為主函數名,如:MAIN,Main等參考答案:A13.以下選項中可用作C程序合法實數的是A)3.0e0.2B).1e0C)E9D)9.12E參考答案:B14.下列定義變量的語句中錯誤的是A)int_int;B)doubleint_;C)charFor;D)floatUS$;參考答案:D15.表達式:(int)((double)9/2)-9%2的值是A)0B)3C)4D)5參考答案:B16.設變量均已正確定義,若要通過scanf("%d%c%d%c",&a1,&c1,&a2,&c2);語句為變量a1和a2賦數值10和20,為變量c1和c2賦字符X和Y。以下所示的輸入形式中正確的是(注:□代表空格字符)A)10□X<回車>20□Y<回車>B)10□X20□Y<回車>C)10X<回車>20Y<回車>D)10□X□20□Y<回車>參考答案:C17.以下選項中不能作為C語言合法常量的是A)0.1e+6B)'cd'C)"\a"D)'\011'參考答案:B18.f語句的基本形式是:if(表達式)語句,以下關于"表達式"值的敘述中正確的是A)必須是邏輯值B)必須是整數值C)必須是正數D)可以是任意合法的數值參考答案:D19.有如下嵌套的if語句if(a<b)if(a<c)k=a;elsek=c;elseif(b<c)k=b;elsek=c;以下選項中與上述if語句等價的語句是A)k=(a<b)?((b<c)?a:b):((b>c)?b:c);B)k=(a<b)?((a<c)?a:c):((b<c)?b:c);C)k=(a<b)?a:b;k=(b<c)?b:c;D)k=(a<b)?a:b;k=(a<c)?a:c;參考答案:B20.有以下程序#include<stdio.h>main(){intk=5;while(--k)printf("%d",k-=3);printf("\n");}執行后的輸出結果是A)1B)2C)4D)死循環參考答案:A21.有以下程序#include<stdio.h>main(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}}程序的運行結果是A)432543B)453423C)233445D)233423參考答案:B22有以下程序#include<stdio.h>main(){intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;default:n=0;k--;case2:case4:n+=2;k--;break;}printf("%d",n);}while(k>0&&n<5);}程序運行后的輸出結果是A)02356B)0235C)235D)2356參考答案:C23.以下關于return語句的敘述中正確的是A)一個自定義函數中必須有一條return語句B)一個自定義函數中可以根據不同情況設置多條return語句C)定義成void類型的函數中可以有帶返回值的return語句D)沒有return語句的自定義函數在執行結束時不能返回到調用處參考答案:B24.已定義以下函數intfun(int*p){return*p;}fun函數返回值是A)一個整數B)不確定的值C)形參p中存放的值D)形參p的地址值參考答案:A25.以下程序段完全正確的是A)int*p;scanf("%d",&p);B)int*p;scanf("%d",p);C)intk,*p=&k;scanf("%d",p);D)intk,*p;*p=&k;scanf("%d",p);參考答案:C26.設有定義doublea[10],*s=a;以下能夠代表數組元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3參考答案:B27.有以下程序#include<stdio.h>voidf(int*q){inti=0;for(;i<5;i++)(*q)++;}main(){inta[5]={1,2,3,4,5},i;f(a);for(i=0;i<5;i++)printf("%d,",a[i]);}程序運行后的輸出結果是A)6,2,3,4,5,B)2,2,3,4,5,C)1,2,3,4,5,D)2,3,4,5,6,參考答案:A28.有以下程序#include<stdio.h>intfun(int(*s)[4],intn,intk){intm,i;m=s[0][k];for(i=1;i<n;i++)if(s[i][k]>m)m=s[i][k];returnm;}main(){inta[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24},{31,32,33,34}};printf("%d\n",fun(a,4,0));}程序的運行結果是A)4B)34C)31D)32參考答案:C29.以下選項中正確的語句組是A)char*s;s={"BOOK!"};B)char*s;s="BOOK!";C)chars[10];s="BOOK!";D)chars[];s="BOOK!";參考答案:B30.若有定義語句:char*s1="OK",*s2="ok";以下選項中,能夠輸出"OK"的語句是A)if(strcmp(s1,s2)!=0)puts(s2);B)if(strcmp(s1,s2)!=0)puts(s1);C)if(strcmp(s1,s2)==1)puts(s1);D)if(strcmp(s1,s2)==0)puts(s1);參考答案:B31.以下程序#include<stdio.h>voidfun(char**p){++p;printf("%s\n",*p);}main(){char*a[]={"Morning","Afternoon","Evening","Night"};fun(a);}程序的運行結果是A)AfternoonB)fternoonC)MorningD)orning參考答案:A32有以下程序,程序中庫函數islower(ch)用以判斷ch中的字母是否為小寫字母#include<stdio.h>#include<ctype.h>voidfun(char*p){inti=0;while(p[i]){if(p[i]==''&&islower(p[i-1]))p[i-1]=p[i-1]-'a'+'A';i++;}}main(){chars1[100]="abcdEFG!";fun(s1);printf("%s\n",s1);}程序運行后的輸出結果是A)abcdEFg!B)AbCdEFg!C)abcdEFG!D)aBcDEFG!參考答案:D33.有以下程序#include<stdio.h>intf(intx){inty;if(x==0||x==1)return(3);y=x*x-f(x-2);returny;}main(){intz;z=f(3);printf("%d\n",z);}程序的運行結果是A)0B)9C)6D)8參考答案:C34.有以下程序#include<stdio.h>intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i];returnsum;}main(){inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;s=fun(a,5)+fun(b,4);printf("%d\n",s);}程序執行后的輸出結果是A)55B)50C)45D)60參考答案:D35.有以下結構體說明、變量定義和賦值語句structSTD{charname[10];intage;charsex;}s[5],*ps;ps=&s[0];則以下scanf函數調用語句有錯誤的是A)scanf("%s",s[0].name);B)scanf("%d",&s[0].age);C)scanf("%c",&(ps->sex));D)scanf("%d",ps->age);參考答案:D36.若有以下語句typedefstructS{intg;charh;}T;以下敘述中正確的是A)可用S定義結構體變量B)可用T定義結構體變量C)S是struct類型的變量D)T是structS類型的變量參考答案:B37.有以下程序#include<stdio.h>#include<string.h>structA{inta;charb[10];doublec;};structAf(structAt);main(){structAa={1001,"ZhangDa",1098.0};a=f(a);printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}structAf(structAt){t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;returnt;}程序運行后的輸出結果是A)1002,ZhangDa,1202.0B)1002,ChangRong,1202.0C)1001,ChangRong,1098.0D)1001,ZhangDa,1098.0參考答案:B38.設有宏定義:#defineIsDIV(k,n)((k%n==1)?1:0)且變量m已正確定義并賦值,則宏調用:IsDIV(m,5)&&IsDIV(m,7)為真時所要表達的是A)判斷m是否能被5和7整除B)判斷m被5和7整除是否都余1C)判斷m被5或者7整除是否余1D)判斷m是否能被5或者7整除參考答案:B39.有以下程序#include<stdio.h>main(){inta=1,b=2,c=3,x;x=(a^b)&c;printf("%d\n",x);}程序的運行結果是A)3B)1C)2D)0參考答案:A40.有以下程序#include<stdio.h>main(){FILE*fp;intk,n,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);fclose(fp);fp=fopen("d2.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序運行后的輸出結果是A)12B)14C)1234D)123456參考答案:D2025年全國計算機二級等級考試模擬試卷及答案(第二套)1.一個棧的初始狀態為空?,F將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是()。A)12345ABCDEB)EDCBA54321C)ABCDE12345D)54321EDCBA參考答案:B2.下列敘述中正確的是()。A)循環隊列有隊頭和隊尾兩個指針,因此,循環隊列是非線性結構B)在循環隊列中,只需要隊頭指針就能反映隊列中元素的動態變化情況C)在循環隊列中,只需要隊尾指針就能反映隊列中元素的動態變化情況D)循環隊列中元素的個數是由隊頭指針和隊尾指針共同決定參考答案:D3.在長度為n的有序線性表中進行二分查找,最壞情況下需要比較的次數是()。A)O(n)B)O(n2)C)D)參考答案:C4.下列敘述中正確的是()。A)順序存儲結構的存儲一定是連續的,鏈式存儲結構的存儲空間不一定是連續的B)順序存儲結構只針對線性結構,鏈式存儲結構只針對非線性結構C)順序存儲結構能存儲有序表,鏈式存儲結構不能存儲有序表D)鏈式存儲結構比順序存儲結構節省存儲空間參考答案:A5.數據流圖中帶有箭頭的線段表示的是()。A)控制流B)事件驅動C)模塊調用D)數據流參考答案:D6.在軟件開發中,需求分析階段可以使用的工具是()。A)N-S圖B)DFD圖C)PAD圖D)程序流程圖參考答案:B7.在面向對象方法中,不屬于"對象"基本特點的是()。A)一致性B)分類性C)多態性D)標識唯一性參考答案:A8.一間宿舍可住多個學生,則實體宿舍和學生之間的聯系是()。A)一對一B)一對多C)多對一D)多對多參考答案:B9.在數據管理技術發展的三個階段中,數據共享最好的是()。A)人工管理階段B)文件系統階段C)數據庫系統階段D)三個階段相同參考答案:C10.有三個關系R、S和T如下:由關系R和S通過運算得到關系T,則所使用的運算為()。A)笛卡爾積B)交C)并D)自然連接參考答案:D11.下列敘述中錯誤的是()。A)C程序可以由多個程序文件組成B)一個C語言程序只能實現一種算法C)C程序可以由一個或多個函數組成D)一個C函數可以單獨作為一個C程序文件存在參考答案:B12.以下選項中,能用作數據常量的是()。A)115LB)0118C)1.5e1.5D)o115參考答案:A13.按照C語言規定的用戶標識符命名規則,不能出現在標識符中的是()。A)大寫字母B)下劃線C)數字字符D)連接符參考答案:D14.設變量已正確定義并賦值,以下正確的表達式是()。A)x=y+z+5,++yB)int(15.8%5)C)x=y*5=x+zD)x=25%5.0參考答案:A15.設有定義:intx=2;,以下表達式中,值不為6的是()。A)2*x,x+=2B)x++,2*xC)x*=(1+x)D)x*=x+1參考答案:A16.有以下程序:#include<stdio.h>main(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運行后的輸出結果是()。A)2,3,3B)2,3,2C)2,3,1D)2,2,1參考答案:C17.有以下程序:#include<stdio.h>main(){charc1,c2;c1='A'+'8'-'4';c2='A'+'8'-'5';printf("%c,%d\n",c1,c2);}已知字母A的ASCII碼為65,程序運行后的輸出結果是()。A)E,68B)D,69C)E,DD)輸出無定值參考答案:A18.若有定義intx,y;并已正確給變量賦值,則以下選項中與表達式(x-y)?(x++):(y++)中的條件表達式(x-y)等價的是()。A)(x-y<0||x-y>0)B)(x-y<0)C)(x-y>0)D)(x-y==0)參考答案:A19.有以下程序:#include<stdio.h>main(){intx=1,y=0;if(!x)y++;elseif(x==0)if(x)y+=2;elsey+=3;printf("%d\n",y);}程序運行后的輸出結果是()。A)3B)2C)1D)0參考答案:D20.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語句是()。A)switch(a+b){case1:printf("*\n");case2+1:printf("**\n");}B)switch((int)x);{case1:printf("*\n");case2:printf("**\n");}C)switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}D)switch(a+b){case1:printf("*\n");casec:printf("**\n");}參考答案:A21.有以下程序:#include<stdio.h>main(){inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的運行結果是()。A)852B)963C)741D)875421參考答案:A22.有以下程序:#include<stdio.h>main(){inti,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i*j>3)break;m*=i*j;}}printf("m=%d\n",m);}程序運行后的輸出結果是()。A)m=4B)m=2C)m=6D)m=5參考答案:C23.有以下程序:#include<stdio.h>intfun(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));}A)6B)3C)8D)12參考答案:A24.有以下程序:#include<stdio.h>intadd(inta,intb){return(a+b);}main(){intk,(*f)(),a=5,b=10;f=add;…}則以下函數調用語句錯誤的是()。A)k=f(a,b);B)k=add(a,b);C)k=(*f)(a,b);D)k=*f(a,b);參考答案:D25.有以下程序:#include<stdio.h>main(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);printf("outputn:");printf("%d\n",p);}25.26.下列定義數組的語句中,正確的是()。A)#defineN10intx[N];B)intN=10;intx[N];C)intx[0..10];D)intx[];參考答案:A26.該程序試圖通過指針p為變量n讀入數據并輸出,但程序有多處錯誤,以下語句正確的是()A)intn,*p=NULL;B)*p=&n;C)scanf("%d",&p)D)printf("%d\n",p);參考答案:A27.有以下程序:#include<stdio.h>main(){inta[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:switch(a[i]%2){case0:a[i]++;break;case1:a[i]--;}break;case1:a[i]=0;}for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");}程序運行后的輸出結果是()。A)0304B)2050C)3344D)3040參考答案:D28.有以下程序:#include<stdio.h>main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf("%d\n",t);}程序運行后的輸出結果是()。A)3B)4C)1D)9參考答案:B29.以下語句中存在語法錯誤的是()。A)charss[6][20];ss[1]="right?";B)charss()[20]={"right?"};C)char*ss[6];ss[1]="right?";D)char*ss()={"right?"};參考答案:A30.以下不能將s所指字符串正確復制到t所指存儲空間的是()A)do{*t++=*s++;}while(*s);B)for(i=0;t[i]=s[i];i++);C)while(*t=*s){t++;s++}D)for(i=0,j=0;t[i++]=s[j++];);參考答案:A31.有以下程序:#include<stdio.h>voidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;}main(){char*s1="abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序執行后的輸出結果是()。A)321,cbaB)abc,123C)123,abcD)1bc,a23參考答案:D32.有以下函數:intfun(char*x,char*y){intn=0;while((*x==*y)&&*x?。?\0'){x++;y++;n++;}returnn;}函數的功能是()。A)將y所指字符串賦給x所指存儲空間B)查找x和y所指字符串中是否有'\0'C)統計x和y所指字符串中最前面連續相同的字符個數D)統計x和y所指字符串中相同的字符個數參考答案:C33.有以下程序:#include<stdio.h>intfun(){staticintx=1;x*=2;returnx;}main(){inti,s=1;for(i=1;i<=3;i++)s*=fun();printf("%d\n",s);}程序運行后的輸出結果是()。A)10B)30C)0D)64參考答案:D34.在一個C源程序文件中所定義的全局變量,其作用域為()。A)由具體定義位置和extern說明來決定范圍B)所在程序的全部范圍C)所在函數的全部范圍D)所在文件的全部范圍參考答案:A35.以下敘述中錯誤的是()。A)可以通過typedef增加新的類型B)可以用typedef將已存在的類型用一個新的名字來代表C)用typedef定義新的類型名后,原有類型名仍有效D)用typedef可以為各種類型起別名,但不能為變量起別名參考答案:A36.有以下程序:#include<stdio.h>structS{inta,b;}data[2]={10,100,20,200};main(){structSp=data[1];printf("%d\n",++(p.a));}程序運行后的輸出結果是()。A)10B)11C)20D)21參考答案:D38.有以下程序:#include<stdio.h>main(){unsignedchara=2,b=4,c=5,d;d=a|b;d&=c;printf("%d\n",d);}程序運行后的輸出結果是()。A)3B)4C)5D)6參考答案:B39.有以下程序:#include<stdio.h>#include<stdlib.h>main(){int*a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=1;*b=2,*c=3;a=b;printf("%d,%d,%d\n",*a,*b,*c);}程序運行后的輸出結果是()。A)1,1,3B)2,2,3C)1,2,3D)3,3,3參考答案:D40.以下敘述中正確的是()。A)當對文件的讀(寫)操作完成之后,必須將它關閉,否則可能導致數據丟失B)打開一個已存在的文件并進行了寫操作后,原有文件中的全部數據必定被覆蓋C)在一個程序中當對文件進行了寫操作后,必須先關閉該文件然后再打開,才能讀到第1個數據D)C語言中的文件是流式文件,因此只能順序存取數據參考答案:A2025年全國計算機二級等級考試模擬試卷及答案(第三套)1.下列敘述中正確的是()。A)棧是"先進先出"的線性表B)隊列是"先進后出"的線性表C)循環隊列是非線性結構D)有序線性表既可以采用順序存儲結構,也可以采用鏈式存儲結構參考答案:D2.支持子程序調用的數據結構是()。A)棧B)樹C)隊列D)二叉樹參考答案:A3.某二叉樹有5個度為2的結點,則該二叉樹中的葉子結點數是()。A)10B)8C)6D)4參考答案:C4.下列排序方法中,最壞情況下比較次數最少的是()。A)冒泡排序B)簡單選擇排序C)直接插入排序D)堆排序參考答案:D5.軟件按功能可以分為:應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬于應用軟件的是()。A)編譯程序B)操作系統C)教務管理系統D)匯編程序參考答案:C6.下面敘述中錯誤的是()A)軟件測試的目的是發現錯誤并改正錯誤B)對被調試的程序進行"錯誤定位"是程序調試的必要步驟C)程序調試通常也稱為DebugD)軟件測試應嚴格執行測試計劃,排除測試的隨意性參考答案:A7.下面敘述中錯誤的是()A)軟件測試的目的是發現錯誤并改正錯誤B)對被調試的程序進行"錯誤定位"是程序調試的必要步驟C)程序調試通常也稱為DebugD)軟件測試應嚴格執行測試計劃,排除測試的隨意性參考答案:A8.數據庫應用系統中的核心問題是()。A)數據庫設計B)數據庫系統設計C)數據庫維護D)數據庫管理員培訓參考答案:A9.有兩個關系R,S如下:由關系R通過運算得到關系S,則所使用的運算為()。A)選擇B)投影C)插入D)連接參考答案:B10.將E-R圖轉換為關系模式時,實體和聯系都可以表示為()。A)屬性B)鍵C)關系D)域參考答案:C11.以下敘述中錯誤的是()。A)使用三種基本結構構成的程序只能解決簡單問題B)結構化程序由順序、分支、循環三種基本結構組成C)C語言是一種結構化程序設計語言D)結構化程序設計提倡模塊化的設計方法參考答案:A12.以下四個程序中,完全正確的是()。A)#include<stdio.h>main();{/*/programming/*/printf("programming!\n");}B)#include<stdio.h>main(){/*programming*/printf("programming!\n");}C)#include<stdio.h>main(){/*/*programming*/*/printf("programming!\n");}D)include<stdio.h>main(){/*programming*/printf("programming!\n");}參考答案:B13.C源程序中不能表示的數制是()。A)十六進制B)八進制C)十進制D)二進制參考答案:D14.以下選項中,能用作用戶標識符的是()。A)0B)88C)voidD)unsigned參考答案:A15.若有定義語句:intx=10;,則表達式x-=x+x的值為()。A)0B)-20C)-10D)10參考答案:C16.有以下程序:#include<stdio.h>main(){inta=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b);A)1,2B)1,0C)3,2D)0,0參考答案:A17.有以下程序:#include<stdio.h>main(){inta1,a2;charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通過鍵盤輸入,使得a1的值為12,a2的值為34,c1的值為字符a,c2的值為字符b,程序輸出結果是:12,a,34,b則正確的輸入格式是(以下代表空格,<CR>代表回車)()。A)12a34b<CR>B)12a34]b<CR>C)12,a,34,b<CR>D)12a34b<CR>參考答案:D18.若變量已正確定義,在if(W)printf("%d\n",k);中,以下不可替代W的是()。A)a<>b+cB)ch=getchar()C)a==b+cD)a++參考答案:A19.有以下程序段:#include<stdio.h>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);程序的輸出結果是()。A)a=10b=50c=30B)a=10b=50c=10C)a=10b=30c=10D)a=50b=30c=50參考答案:B20.有以下程序段:#include<stdio.h>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);程序的輸出結果是()。A)a=10b=50c=30B)a=10b=50c=10C)a=10b=30c=10D)a=50b=30c=50參考答案:B21.以下不構成無限循環的語句或語句組是()。A)n=0;do{++n;}while(n<=0);B)n=0;while(1){n++;}C)n=10;while(n);{n--;}D)for(n=0,i=1;;i++)n+=i;參考答案:A22.有以下程序:#include<stdio.h>main(){intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;break;case4:c+=2;break;}printf("%d\n",c);}程序運行后的輸出結果是()。A)7B)5C)3D)9參考答案:C23.有以下程序:#include<stdio.h>intf(intx,inty){return((y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf("%d\n",d);}程序運行后的輸出結果是()。A)7B)10C)8D)9參考答案:D24.若有定義語句:doublea,*p=&a;以下敘述中錯誤的是()。A)定義語句中的*號是一個間址運算符B)定義語句中的*號是一個說明符C)定義語句中的p只能存放double類型變量的地址D)定義語句中,*p=&a把變量a的地址作為初值賦給指針變量p參考答案:A25.若有定義語句:doublex,y,*px,*py;執行了px=&x;py=&y;之后,正確的輸入語句是()。A)scanf("%lf%le",px,py);B)scanf("%f%f"&x,&y);C)scanf("%f%f",x,y);D)scanf("%lf%lf",x,y);參考答案:A26.以下定義數組的語句中錯誤的是()。A)intnum[][3]={{1,2},3,4,5,6};B)intnum[2][4]={{1,2},{3,4},{5,6}};C)intnum[]={1,2,3,4,5,6};D)intnum[][4]={1,2,3,4,5,6};參考答案:B27.有以下程序:#include<stdio.h>voidfun(inta,intb){intt;t=a;a=b;b=t;}main(){intc[10]={1,2,3,4,5,6,7,8,9,0},i;for(i=0;i<10;i+=2)fun(c[i],c[i+1]);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序的運行結果是()。A)1,2,3,4,5,6,7,8,9,0,B)2,1,4,3,6,5,8,7,0,9,C)0,9,8,7,6,5,4,3,2,1,D)0,1,2,3,4,5,6,7,8,9,參考答案:A28.有以下程序:#include<stdio.h>main(){intx[3][2]={0},i;for(i=0;i<3;i++)scanf("%d",x[i]);printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);}若運行時輸入:246<回車>,則輸出結果為()。A)204B)200C)240D)246參考答案:A29.有以下程序段:#include<stdio.h>intj;floaty;charname[50];scanf("%2d%f%s",&j,&y,name);當執行上述程序段,從鍵盤上輸入555667777abc后,y的值為()。A)566.0B)55566.0C)7777.0D)566777.0參考答案:A30.下列語句組中,正確的是()。A)char*s;s="Olympic";B)chars[7];s="Olympic";C)char*s;s={"Olympic"};D)chars[7];s={"Olympic"};參考答案:A31.有以下函數:intfun(char*s){char*t=s;while(*t++);return(t-s);}該函數的功能是()A)計算s所指字符串的長度B)比較兩個字符串的大小C)計算s所指字符串占用內存字節的個數D)將s所指字符串復制到字符串t中參考答案:A32.有以下程序(注:字符a的ASCII碼值為97):#include<stdio.h>main(){char*s={"abc"};do{printf("%d",*s%10);++s;}while(*s);}程序運行后的輸出結果是()。A)789B)abcC)7890D)979899參考答案:A33.設有如下函數定義:#include<stdio.h>intfun(intk){if(k<1)return0;elseif(k==1)return1;elsereturnfun(k-1)+1;}若執行調用語句:n=fun(3);,則函數fun總共被調用的次數是()。A)2B)3C)4D)5參考答案:B34.有以下程序:#include<stdio.h>intf(intn);main(){inta=3,s;s=f(a);s=s+f(a);printf("%d\n",s);}intf(intn){staticinta=1;n+=a++;returnn;}程序運行后的輸出結果是()。A)9B)8C)7D)10參考答案:A35.設有定義:structcomplex{intreal,unreal;}data1={1,8},data2;則以下賦值語句中錯誤的是()。A)data2=(2,6);B)data2=data1;C)data2.real=data1.real;D)data2.real=data1.unreal;參考答案:A36.有以下程序:#include<stdio.h>structS{intn;inta[20];};voidf(structS*p){inti,j,t;for(i=0;i<p->n-1;i++)for(j=i+1;j<p->n;j++)if(p->a[i]>p->a[j]){t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;}}main(){inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};f(&s);for(i=0;i<s.n;i++)printf("%d,",s.a[i]);}程序運行后的輸出結果是()。A)2,3,1,6,8,7,5,4,10,9,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,4,5,6,7,8,9,10,D)10,9,8,7,6,1,2,3,4,5,參考答案:C37.有以下程序:#include<stdio.h>structS{intn;inta[20];};voidf(structS*p){inti,j,t;for(i=0;i<p->n-1;i++)for(j=i+1;j<p->n;j++)if(p->a[i]>p->a[j]){t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;}}main(){inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};f(&s);for(i=0;i<s.n;i++)printf("%d,",s.a[i]);}程序運行后的輸出結果是()。A)2,3,1,6,8,7,5,4,10,9,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,4,5,6,7,8,9,10,D)10,9,8,7,6,1,2,3,4,5,參考答案:C38.以下關于宏的敘述中正確的是()。A)宏替換沒有數據類型限制B)宏定義必須位于源程序中所有語句之前C)宏名必須用大寫字母表示D)宏調用比函數調用耗費時間參考答案:A39.設有以下語句:inta=1,b=2,c;c=a^(b<<2);執行后,c的值為()。A)7B)9C)8D)6參考答案:B40.#include<stdio.h>main(){FILE*fp;inta[10]={1,2,3},i,n;fp=fopen("d1.dat","w");for(i=0;i<3;i++)fprintf(fp,"%d",a[i]);fprintf(fp,"\n");fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d",&n);fclose(fp);printf("%d\n",n);}程序的運行結果是()。A)321B)12300C)1D)123參考答案:D2025年全國計算機二級等級考試模擬試卷及答案(第四套)1.下列數據結構中,屬于非線性結構的是()。A)循環隊列B)帶鏈隊列C)二叉樹D)帶鏈棧參考答案:C2.下列數據結構中,能夠按照"先進后出"原則存取數據的是()。A)循環隊列B)棧C)隊列D)二叉樹參考答案:B3.對于循環隊列,下列敘述中正確的是()。A)隊頭指針是固定不變的B)隊頭指針一定大于隊尾指針C)隊頭指針一定小于隊尾指針D)隊頭指針可以大于隊尾指針,也可以小于隊尾指針參考答案:D4.算法的空間復雜度是指()。A)算法在執行過程中所需要的計算機存儲空間B)算法所處理的數據量C)算法程序中的語句或指令條數D)算法在執行過程中所需要的臨時工作單元數參考答案:A5.軟件設計中劃分模塊的一個準則是()。A)低內聚低耦合B)高內聚低耦合C)低內聚高耦合D)高內聚高耦合參考答案:B6.下列選項中不屬于結構化程序設計原則的是()。A)可封裝B)自頂向下C)模塊化D)逐步求精參考答案:A7.軟件詳細設計生產的圖如下:該圖是()A)N-S圖B)PAD圖C)程序流程圖D)E-R圖參考答案:C8.數據庫管理系統是()。A)操作系統的一部分B)在操作系統支持下的系統軟件C)一種編譯系統D)一種操作系統參考答案:B9.在E-R圖中,用來表示實體聯系的圖形是()。A)橢圓形B)矩形C)菱形D)三角形參考答案:C10.有三個關系R、S和T如下:則關系T是由關系R和S通過某種操作得到,該操作為()。A)選擇B)投影C)交D)并參考答案:D11.以下關于結構化程序設計的敘述中正確的是A)結構化程序使用goto語句會很便捷B)在C語言中,程序的模塊化是利用函數實現的C)一個結構化程序必須同時由順序、分支、循環三種結構組成D)由三種基本結構構成的程序只能解決小規模的問題參考答案:B12.對于一個正常運行的C程序,以下敘述中正確的是A)程序的執行總是從main函數開始,在程序的最后一個函數中結束B)程序的執行總是從程序的第一個函數開始,在main函數結束C)程序的執行總是從main函數開始D)程序的執行總是從程序的第一個函數開始,在程序的最后一個函數中結束參考答案:C13.以下選項中能表示合法常量的是A)1,200B)1.5E2.0C)'\'D)"\007"參考答案:D14.以下定義語句中正確的是A)inta=b=0;B)charA=65+1,b='b';C)floata=1,*b=&a,*c=&b;D)doublea=0.0;b=1.1;參考答案:B15.若變量x、y已正確定義并賦值,以下符合C語言語法的表達式是A)x+1=yB)++x,y=x--C)x=x+10=x+yD)double(x)/10參考答案:B16.若變量已正確定義為int型,要通過語句scanf("%d,%d,%d",&a,&b,&c);給a賦值1、給b賦值2、給c賦值3,以下輸入形式中錯誤的是(注:□代表一個空格符)A)1,2,3<回車>B)□□□1,2,3<回車>C)1,□□□2,□□□3<回車>D)1□2□3<回車>參考答案:D17.以下不能輸出字符A的語句是(注:字符A的ASCII碼值為65,字符a的ASCII碼值為97)A)printf("%c\n",'a'-32);B)printf("%d\n",'A');C)printf("%c\n",65);D)printf("%c\n",'B'-1);參考答案:B18.若a是數值類型,則邏輯表達式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能確定參考答案:A19.設有定義:inta=1,b=2,c=3;以下語句中執行效果與其它三個不同的是A)if(a>b)c=a,a=b,b=c;B)if(a>b){c=a,a=b,b=c;}C)if(a>b)c=a;a=b;b=c;D)if(a>b){c=a;a=b;b=c;}參考答案:C20.有以下程序#include<stdio.h>main(){inty=10;while(y--);printf("y=%d\n",y);}程序執行后的輸出結果是A)y=0B)y=-1C)y=1D)while構成無限循環參考答案:B21.有以下程序#include<stdio.h>main(){inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);printf("\n");}}程序運行后的輸出結果是A)1*1=11*2=21*3=32*2=42*3=63*3=9B)1*1=11*2=21*3=32*1=22*2=43*1=3C)1*1=11*2=22*2=41*3=32*3=63*3=9D)1*1=12*1=22*2=43*1=33*2=63*3=9參考答案:A22.有以下程序#include<stdio.h>main(){inti=5;do{if(i%3==1)if(i%5==2){printf("*%d",i);break;}i++;}while(i!=0);printf("\n");}程序的運行結果是A)*2*6B)*3*5C)*5D)*7參考答案:D23.有以下程序#include<stdio.h>doublef(doublex);main(){doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf("%3.0f\n",a);}doublef(doublex){returnx*x+1;}程序運行后的輸出結果是A)500B)401C)503D)1404參考答案:C24.若有以下函數首部intfun(doublex[10],int*n)則下面針對此函數的函數聲明語句中正確的是A)intfun(double,int);B)intfun(double*,int*);C)intfun(double*x,intn);D)intfun(doublex,int*n);參考答案:B25.有以下程序#include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);}程序運行后的輸出結果是A)2,1,1,2B)1,2,1,2C)2,1,2,1D)1,2,2,1參考答案:D26.若有以下定義intx[10],*pt=x;則對x數組元素的正確引用是A)pt+3B)*&x[10]C)*(pt+10)D)*(x+3)參考答案:D27.有以下程序#include<stdio.h>main(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}程序執行后的輸出結果是A)20B)25C)45D)36參考答案:B28.有以下程序#include<stdio.h>#defineN4vo

溫馨提示

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

評論

0/150

提交評論