



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2010年3月全國計算機二級C語言考試真題一、選擇題((1)~(10)、(21)?(40)每題2分,(11)?(20)每題1分,共70分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填涂在答題卡相應(yīng)位置上,答在試卷上不得分。(1)下列敘述中正確的是A)對長度為n的有序鏈表進行查找,最壞情況下需要的比較次數(shù)為nB)對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(n/2)C)對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(log2n)D)對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(log2n)(2)算法的時間復(fù)雜度是指A)算法的執(zhí)行時間B)算法所處理的數(shù)據(jù)量C)算法程序中的語句或指令條數(shù)D)算法在執(zhí)行過程中所需要的基本運算次數(shù)(3)(3)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是A)編輯軟件C)教務(wù)管理系統(tǒng)下面屬于系統(tǒng)軟件的是A)編輯軟件C)教務(wù)管理系統(tǒng)(4)軟件(程序)調(diào)試的任務(wù)是A)診斷和改正程序中的錯誤錯誤C)發(fā)現(xiàn)并改正程序中的所有錯誤(5)數(shù)據(jù)流程圖(DFD圖)是A)軟件概要設(shè)計的工具C)結(jié)構(gòu)化方法的需求分析工具B)操作系統(tǒng)
D)瀏覽器B)盡可能多地發(fā)現(xiàn)程序中的D)確定程序中錯誤的性質(zhì)B)軟件詳細設(shè)計的工具D)面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ撸?)軟件生命周期可分為定義階段,開發(fā)階段和維護階段。詳細設(shè)計屬于A)定義階段 B)開發(fā)階段C)維護階段 C)上述三個階段(7)數(shù)據(jù)庫管理系統(tǒng)中負責(zé)數(shù)據(jù)模式定義的語言是A)數(shù)據(jù)定義語言 B)數(shù)據(jù)管理語言C)數(shù)據(jù)操縱語言 D)數(shù)據(jù)控制語言(8)在學(xué)生管理的關(guān)系數(shù)據(jù)庫中,存取一個學(xué)生信息的數(shù)據(jù)單位是A)文件 B)數(shù)據(jù)庫C)字段 D)記錄(9)數(shù)據(jù)庫設(shè)計中,用E-R圖來描述信息結(jié)構(gòu)但不涉及信息在計算機中的表示,它屬于數(shù)據(jù)庫設(shè)計的A)需求分析階段 B)邏輯設(shè)計階段
(10)有兩個關(guān)系R和T如下:R TABCa12b22ABCc32c32d32_d_32C)概念設(shè)計階段C)概念設(shè)計階段D)物理設(shè)計階段則由關(guān)系R得到關(guān)系T的操作是A)選擇 B)投影C)交D)并(11)以下敘述正確的是A)C語言程序是由過程和函數(shù)組成的B)C語言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))C)C語言函數(shù)不可以單獨編譯D)C語言中除了main函數(shù),其他函數(shù)不可作為單獨文件形式存在(12)以下關(guān)于C語言的敘述中正確的是A)C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間B)C語言中的變量可以在使用之前的任何位置進行定義C)在C語言算術(shù)表達式的書寫中,運算符兩側(cè)的運算數(shù)類型必須一致D)C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示(13)以下C語言用戶標識符中,不合法的是A)_1 B)AaBc C)a_bD)a——b(14)若有定義:doub1ea=22;inti=0,k=18;,貝(]不符合C語言規(guī)定的賦值語句是A)a=a++,i++; B)i=(a+k)V=(i+k);C)i=a%11; D)i=!a;(15)有以下程序#include<stdio.h>mainO{chara,b,c,d;scanf("%c%c”,&a,&b);c=getchar();d=getchar;printf(K%c%c%c%c\nw,a,b,c,d);}當(dāng)執(zhí)行程序時,按下列方式輸入數(shù)據(jù)(從第1列開始,VCR>代表回車,注意:回車也是一個字符)2<CR>34<CR>則輸出結(jié)果是A)1234B)12C)12 D)123 34(16)以下關(guān)于C語言數(shù)據(jù)類型使用的敘述中錯誤的是A)若要準確無誤差的表示自然數(shù),應(yīng)使用整數(shù)類型B)若要保存帶有多位小數(shù)的數(shù)據(jù),應(yīng)使用雙精度類型C)若要處理如“人員信息”等含有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型D)若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類型(17)若a是數(shù)值類型,則邏輯表達式(a==I)||(a!=1)的值是A)1 B)0C)2 D)不知道a的值,不能確定(18)以下選項中與if(a=l)a=b;elsea++;語句功能不同的switch語句是A)switch(a){case1:a=b;break;default:a++;}B)switch(a==l){case0:a=b;break;case1:a++;)C)switch(a){default:a++;break;case1:a=b;)D)switch(a==l){case1:a=b;break;case0:a++;)(19)有如下嵌套的if語句if(a<b)if(a<c)k=a;elsek=c;if(b<c)k=b;elsek=c;以下選項中與上述if語句等價的語句是A)k=(a<b)?a:b;k=(b<c)?b:c;B)k=(a<b)?((b<c)?a:b)((b>c)?b:c);C)k=(a<b)?((a<c)?a:c)((b<c)?b:c);D)k=(a<b)?a:b;k=(a<c)?a:c;(20)有以下程序#include<stdio.h>
mainO{inti,j,m=l;for(i=l;i<3;i++){for(j=3;j>0;j—){if(i+j>3)break;printf(wm=%d\nw,m);程序運行后的輸出結(jié)果是A)A)m=6 B)m=2m=5C)m=4(21)有以下程序#include<stdio.h>mainO{inta=l,b=2;for(;a<8:a++){b+=a;a+=2;}printf(a%d,%d\nw,a,b);程序運行后的輸出結(jié)果是C)7,11A)9,18 B)8,1110,14C)7,11(22)有以下程序,其中k的初值為八進制數(shù)ftinclude<stdio.h>mainO{intk=Oll;printf("%d\n",k++);)程序運行后的輸出結(jié)果是A)12 B)11 C)10 D)9(23)下列語句組中,正確的是char*s;s="Olympic";B)chars[7];s="Olympic";C)char*s;s={"Olympic"};D)chars[7];s={"Olympic"};(24)以下關(guān)于return語句的敘述中正確的是A)一個自定義函數(shù)中必須有一條return語句一個自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語句C)定義成void類型的函數(shù)中可以有帶返回值的retwn語句D)沒有return語句的自定義函數(shù)在執(zhí)行結(jié)束時不能返同到調(diào)用處(25)下列選項中,能正確定義數(shù)組的語句是A)intnum[0..2008]; B)intnum口;C)intN=2008 ; D)^defineN2008intnum[N]; intnum[N];(26)有以下程序#include<stdio.h>voidfun(char*c,intd){*c=*c+l;d=d+l;printf("%c,%c",*c,d);)mainO{charb='a',a='A';fun(&b,a);printf("%c,%c\n”,b,a);)程序運行后的輸出結(jié)果是A)b, B, b,A B)b, B, B, AC)a, B, B,a D)a, B, a, B(27)若有定義int(*pt)[3];,則下列說法正確的是A)定義了基類型為int的三個指針變量B)定義了基類型為int的具有三個元素的指針數(shù)組ptC)定義了一個名為*pt、具有三個元素的整型數(shù)組D)定義了一個名為pt的指針變量,它可以指向每行有三個整數(shù)元素的二維數(shù)組(28)設(shè)有定義doublea[10],*s=a;,以下能夠代表數(shù)組元索a[3]的是A)(*s)[3] B) *(s+3)*s[3] D) *s+3(29)有以下程序#include<stdio.h>mainO{inta[5]={l,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;for(i=l;i<3;i++)s=s+a[b[i]];printf("%d\n",s);)程序運行后的輸出結(jié)果是A)6 B)10C)11 D)15(30)有以下程序#include<stdio.h>mainO{intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=l;for(i=l;i<3;i++)for(j=l;j<=l;j++)t+=b[i][b[j][i]];printf("%d\n",t);)程序運行后的輸出結(jié)果是A)1 B)3 C)4 D)9(31)若有以下定義和語句charsi[10]="abed!", s2="\nl23\\";printf("%d%d\n",strlen(si),strlen(s2));則輸出結(jié)果是A)5 5 B)10 5 C)10 75 8(32)有以下程序#include<stdio.h>ttdefineN8voidfun(int*x,inti){*x=*x+i;}main(){inta[N]={l,2,3,4,5,6,7,8},i;fun(a,2);for(i=l;i<N/2;i++){printf("%d",a[i]);}printf("\n");}程序運行后的輸山結(jié)果是A)1313 B)2234 03234 D)1234(33)有以下程序#include<stdio.h>intf(intt[],intn);main(){inta[4]={l,2,3,4},s;s=f(a,4);printf(w%d\nw,s);}intf(intt[],intn){if(n>0)returnt[n-l]+f(t,n-1);elsereturn0;}程序運行后的輸出結(jié)果是A)4B)10 014 D)6(34)有以下程序#include<stdio.h>intfun(){staticintx=l;x*=2;returnx;)main(){inti,s=l;for(i=l;i<=2;i++)s=fun();printf("%d\n”,s);}程序運行后的輸出結(jié)果是A)0 B)1 C)4 D)8(35)有以下程序#include<stdio.h>ttdefineSUB(a)(a)-(a)main(){inta=2,b=3,c=5,d;
d=SUB(a+b)*c;printf("%d\n",d);程序運行后的輸山結(jié)果是A)0A)0B)-12 C)-20 D)0(36)設(shè)有定義:structcomplex{intreal,unreal;}datal={l,8},data2;則以下賦值語句中錯誤的是B)data2=(2,6)?D)data2.real=datal.unreal;A)B)data2=(2,6)?D)data2.real=datal.unreal;C)data2.real=datal.real;(37)有以下程序#include<stdio.h>#include<string.h>structA{inta;charb[10];doublec;};voidf(structAt);mainO{structAa={1001,“ZhangDa”,1098.0};f(a);printf("%d,%s,%6.lf\nw,a.a,a.b,a.c);}voidf(structAt){t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;}輸出結(jié)果是1001,ZhangDa,1098.01002,ChangRong,1202.01001,ChangRong,109801002,ZhangDa,1202.0(38)有以下定義和語句structworkers{intnum;charname[20];charc;struct{intday;intmonth;intyear;}s};structworkersw,*pw;pw=&w;能給w中year成員賦1980的語句是A)pw.year=1980; B)w.year=1980;C)pw—>year=1980; D)w.s.year=1980;(39)有以下程序#include<stdio.h>main(){inta=2,b=a,c=2;printf("%d\n”,a/b&c);
程序運行后的輸出結(jié)果是A)0 B)1(40)有以下程序#include<stdio.h>main(){FILE*fp;charstr[10];fp=open("myfile.dat","w");fputs("abc",pf);close(pf);fp=open("myfile.dat","a+");fprintf(pf,"%d",28);rewind(pf);fscanf(pf,K%sw,str):puts(str);close(pf);程序運行后的輸出結(jié)果是B)28cD)因類型不一致而出錯AB)28cD)因類型不一致而出錯C)abc28二、填空題(每空2分,共30分)請將每空的正確答案寫在答題卡【1】?【15】序號的橫線上,答在試卷上不得分。(1)一個隊列的初始狀態(tài)為空?,F(xiàn)將元素A,B,C,D,E,F,5,4,3,2,1依次入隊,然后再依次退隊,則元素退隊的順序為【1】。(2)設(shè)某循環(huán)隊列的容量為50,如果頭指針front=45(指向隊頭元素的前一位置),尾指針rear=10(指向隊尾元素),則該循環(huán)隊列中共有12】個元素。(3)設(shè)二叉樹如下:對該二叉樹進行后序遍歷的結(jié)果為【3】。(4)軟件是[4]數(shù)據(jù)和文檔的集合。(5)有一個學(xué)生選課的關(guān)系,其中學(xué)生的關(guān)系模式為:學(xué)生(學(xué)號,姓名,班級,年齡),課程的關(guān)系模式為:課程(課號,課程名,學(xué)時),其中兩個關(guān)系模式的鍵分別是學(xué)號和課號,則關(guān)系模式選課可定義為:選課(學(xué)號, 【5】,成績)。(6)設(shè)x為int型變量,請寫出一個關(guān)系表達式 【6】,用以判斷x同時為3和7的倍數(shù)時,關(guān)系表達式的值為真。(7)有以下程序#include<stdio.h>main(){inta=l,b=2,c=3,d=0;if(a==l)if(b!=2)if(c=3)d=l;elsed=2;elseif(c!=3)d=3;elsed=4;elsed=5;printf("%d\n",d);)程序遠行后的輸出結(jié)果是[7】。(8)有以下程序#include<stdio.h>main(){intm,n;scanf( ,Am,&n);while(m!=n){while(m>n)m=m-n;while(m<n)n=n-m;}printf("%d\n",m);)程序運行后,當(dāng)輸入1463V回車〉時,輸出結(jié)果是18】0(9)有以下程序#include<stdio.h>main(){inti,j,a[][3]={1,2,3,4,5,6,7,8,9};for(i=l;i<3;i++)for(j=l;j<3;i++)printf(**%dw,a[i][j]);printf(“\n”);)程序運行后的輸出結(jié)果是[9](10)有以下程序#include<stdio.h>main(){inta[]={l,2,3,4,5,6},*k[3],i=0;while(i<3){k[i]=&a[2*i];printf("%d",*k[i]);i++;程序運行后的輸出結(jié)果是[10]o(11)有以下程序#include<stdio.h>main(){inta[3][3]={{l,2,3},{4,5,6},{7,8,9)};intb[3]={0},i;for(i=l;i<3;i++)b[i]=a[i][2]+a[2][i];for(i=l;i<3;i++)printf(a%dw,b[i]);printf("\n");}程序運行后的輸出結(jié)果是[11]O(12)有以下程序#include<stdio.h>#include<string.h>voidfun(char*str){chartemp;intn,i;n=strlen(str);temp=str[n-l];for(i=n-l;i>0;i-)str[i]=str[i-l];str[0]=temp;)mainO{chars[50];scanf("%s”,s);fun(s);printf("%s\n",s);}程序運行后輸入:abcdefV回車>,則輸出結(jié)果是[12](13)以下程序的功能是:將值為三位正整數(shù)的變量x中的數(shù)值按照個位、十位、百位的順序拆分并輸出。請?zhí)羁铡?include<stdio.h>mainO{intx=256;printf(a%d-%d-%d\nw,[13],x/10%10,x/100);)(14)以下程序用以刪除字符串中所有的空格,請?zhí)羁铡?include<stdio.h>mainO{chart100]={"Ourteacherteachclanguage!n};inti,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!=''){s[j]=s[i];j++;}s[j]=[14]5printf("%s\n",s);(15)以下程序的功能是:借助指針變量找出數(shù)組元素中的最大值及其元素的下標值。請?zhí)羁铡?include<stdio.h>main(){inta[10],*p,*s;for(p=a;p-a<10;p++)scanf("%d",p);for(p=a,s=a;p-a<10;p++)if(*p>*s)s=[15];printf("index=%d\n"s-a);2010年3月全國計算機等級考試二級C語言筆試真題及參考答案一、選擇題(1)下列敘述中正確的是A)對長度為n的有序鏈表進行查找,最壞清況下需要的比較次數(shù)為nB)對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(n/2)C)對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(log2n)D)對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為(nlog2n)(2)算法的時間復(fù)雜度是指A)算法的執(zhí)行時間B)算法所處理的數(shù)據(jù)量C)算法程序中的語句或指令條數(shù)D)算法在執(zhí)行過程中所需要的基本運算次數(shù)(3)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)o下面屬于系統(tǒng)軟件的是A)編輯軟件B)操作系統(tǒng)C)教務(wù)管理系統(tǒng)D)瀏覽器(4)軟件(程序)調(diào)試的任務(wù)是A)診斷和改正程序中的錯誤B)盡可能多地發(fā)現(xiàn)程序中的錯誤C)發(fā)現(xiàn)并改正程序中的所有錯誤D)確定程序中錯誤的性質(zhì)(5)數(shù)據(jù)流程圖(DFD圖)是A)軟件概要設(shè)計的工具B)軟件詳細設(shè)計的工具C)結(jié)構(gòu)化方法的需求分析工具D)面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ撸?)軟件生命周期可分為定義階段,開發(fā)階段和維護階段。詳細設(shè)計屬于A)定義階段B)開發(fā)階段C)維護階段D)上述三個階段(7)數(shù)據(jù)庫管理系統(tǒng)中負責(zé)數(shù)據(jù)模式定義的語言是A)數(shù)據(jù)定義語言B)數(shù)據(jù)管理語言C)數(shù)據(jù)操縱語言D)數(shù)據(jù)控制語言(8)在學(xué)生管理的關(guān)系數(shù)據(jù)庫中,存取一個學(xué)生信息的數(shù)據(jù)單位是A)文件B)數(shù)據(jù)庫C)字段D)記錄(9)數(shù)據(jù)庫設(shè)計中,用E-R圖來描述信息結(jié)構(gòu)但不涉及信息在計算機中的表示,它屬于數(shù)據(jù)庫設(shè)計的A)需求分析階段B)邏輯設(shè)計階段C)概念設(shè)計階段D)物理設(shè)計階段(10)有兩個關(guān)系R和T如下:則由關(guān)系K得到關(guān)系T的操作是A)選擇B)投影C)交D)并(11)以下敘述正確的是C語言程序是由過程和函數(shù)組成的C語言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))C語言函數(shù)不可以單獨編譯C語言中除了main函數(shù),其他函數(shù)不可作為單獨文件形式存在(12)以下關(guān)于C語言的敘述中正確的是C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間C語言中的變量可以在使用之前的任何位置進行定義C)在C語言算術(shù)表達式的書寫中,運算符兩側(cè)的運算數(shù)類型必須一致D)C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示(13)以下C語言用戶標識符中,不合法的是_1AaBcaba-b(14)若有定義:doublea=22;inti=0,k=18;,則不符合C語言規(guī)定的賦值語句是A)a=a++,i++;i=(a+k)<=(i+k);i=a%ll;i=!a;(15)有以下程序#include<stdio.h>main(){chara,b,c,d;scanf(w%c%c,,,&a,&b);c=getchar();d=getchar();printf(M%c%c%c%c\n,,,a,b,c,d);}當(dāng)執(zhí)行程序時,按下列方式輸入數(shù)據(jù)(從第1列開始,<CR>代表回車,注意:回車也是一個字符)12<CR>34<CR>則輸出結(jié)果是A)1234B)12C)123D)1234(16)以i關(guān)于C語言數(shù)據(jù)類型使用的敘述中錯誤的是A)若要準確無誤差的表示自然數(shù),應(yīng)使用整數(shù)類型B)若要保存帶有多位小數(shù)的數(shù)據(jù),應(yīng)使用雙精度類型C)若要處理如“人員信息”等含有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型D)若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類型(17)若a是數(shù)值類型,則邏輯表達式(a==l)||(a!=l)的值是102D)不知道a的值,不能確定(18)以下選項中與if(a=l)a=b;elsea++;語句功能不同的switch語句是switch(a){case:a=b;break;default:a++;)switch(a=l){caseO:a=b;break;casel:a++;}C)switch(a){default:a++;break;casel:a=b;}D)switch(a==l){casel:a=b;break;case0:a++;}(19)有如下嵌套的if語句if(a<b)if(a<c)k=a;elsek=c;elseif(b<c)k=b;elsek=c;以下選項中與上述if語句等價的語句是k=(a<b)?a:b;k=(b<c)?b:c;k=(a<b)?((b<c)?a:b):((b>c)?b:c);k=(a<b)?((a<c)?a:):((b<c)?b:c);k=(a<b)?a:b;k=(a<c)?a:c;(20)有以下程序#include<s七dio.h>main(){infor(i=l;i<3;i++){for(j=3;j>O;j-){if(i*j)>3)break;m=i*j;)printf(,'m=%d\n,,,m);)程序運行后的輸出結(jié)果是m=6m=2m=4m=5(21)有以下程序#include(stdio.h>main(){inta=l;b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n”,a,b);程序運行后的輸出結(jié)果是A)9,188,117,11D)10,14(22)有以下程序,其中k的初值為八進制數(shù)#include<stdio.h>main(){intk=011;printf("%d\n”,k++);)程序運行后的輸出結(jié)果是1211109(23)下列語句組中,正確的是char*s;s=*'Olympic";chars[7];s=,,OlympicM;char*s;s={"Olympic"};chars[7|;s={"Olympic”};(24)以下關(guān)于return語句的敘述中正確的是A)一個自定義函數(shù)中必須有一條return語句B)一個自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語句C)定義成void類型的函數(shù)中可以有帶返回值的return語句D)沒有return語句的自定義函數(shù)在執(zhí)行結(jié)束時不能返回到調(diào)用處(25)下列選項中,能正確定義數(shù)組的語句是intnum|0..2008|;intnum!|;intN=2008;intnum[N];#defineN2008intnum[N];(26)有以下程序#include<stdio.h>voidfun(char*c,intd){*c=*c+l;d=d+l;printf("%c,%c,n,*c,d);main(){charb=,a,,a=,A,;fun(&b,a);printf("%e,%e\n”,b,a);)程序運行后的輸出結(jié)果是b,B,b,Ab,B,B,Aa,B,B,aa,B,a,B(27)若有定義int(*Pt)[3];,則下列說法正確的是A)定義了基類型為int的三個指針變量B)定義了基類型為int的具有三個元素的指針數(shù)組ptC)定義了一個名為*pt、具有三個元素的整型數(shù)組D)定義了一個名為pt的指針變量,它可以指向每行有三個整數(shù)元素的二維數(shù)組(28)設(shè)有定義doublea[10],*s=a;,以下能夠代表數(shù)組元素a[3]的是(*s)[3|*(s+3)*s[3|*s+3(29)有以下程序#include(stdio.h)main(){inta[5]={1,2,3,4,5},b[5]=(0,2,1,3,0},i,s=0;for(i=0;i<5;i++)s=s+a[b[i]]);printf("%d\n",s);程序運行后的輸出結(jié)果是6101115(30)有以下程序#include<stdio.h>main(){intb[3][3]={0,1,2,04,2,0,1,2)for(i=0;i<3;i++)for(j=ij<=l;j++)t+=b[i][b|j][il];printf("%d\n”,t);)程序運行后的輸出結(jié)果是1349(31)若有以下定義和語句charsl[10]="abcd!”,*s2=”\nl23\\”;printf("%d%d\n",strlen(si),strlen(s2));則輸出結(jié)果是5510510758(32)有以下程序#include<stdio.h>#defineN8voidfun(int*x,inti){*x=*(x+i);}main(){inta[N]={1,23,4,5,6,7,8},i;fun(a,2);for(i=O;i<N/2;i++){printf("%d”,a[i]);}printf("\n");)程序運行后的輸出結(jié)果是1313223432341234(33)有以下程序#include<studio.h>intf(intt[],intn);main{inta[4]={l,2,3,4),s;s=f(a,4);printf("%d\n**,s);}intf(intn){if(n>0)returnt[n-l]+f ;elsereturn0;程序運行后的輸出結(jié)果是4IO146(34)有以下程序#include<stdio.h>intfun(){staticintx=l;x*2;returnx;main(){inti,s=l,for(i=l;i<=2;i++)s=fun();printf("%d\nn,s);)程序運行后的輸出結(jié)果是O148(35)有以下程序#include<stdio.h>#defineSUB(a) (a)-(a)main(){inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf(,'%d\n,',d);}程序運行后的輸出結(jié)果是0-12-2010(36)設(shè)有定義:structcomplexntreal,unreal;}datal={l,8},data2;則以下賦值語句中錯誤的是data2=datal;data2=(2,6);data2.real=datal.real;data2.real=datal.unreal;(37)有以下程序#include<stdio.h>#include<string.h>structAnta;charb|10|;doublec;};voidf(structAt);main(){structAa={1001,nZhangDaM,1098.0};(a);printf(n%d,%s,%6.1f\nM,a.a,a.b,a.c);voidf(structAt){t.a=1002;strcpv(t.b,nChangRongn);t.c=1202.0;}程序運行后的輸通結(jié)果是1001,zhangDa,1098.01002,changRong,1202.01001,ehangRong,l098.01002,ZhangDa,1202.0(38)有以下定義和語句structworkers{intnum;charname[20];charc;struct{intday;intmonth;intyear;}s;);'structworkersw,*pw;pw=&w;能給w中year成員賦1980的語句是*pw.year=198O;w.year=1980;pw->year=1980;w.s.year=1980;(39)有以下程序#include<stdio.h>main(){inta=2,b=2,c=2;printfL%d\iT,a/b&c);)程序運行后的輸出結(jié)果是O123(40)有以下程序#include<stdio.h>main(){FILE*fp;charstr(10|;fp=fopen(nmyfile.datn,Mwn);fputs("abc'',fp);fclose(fp);fpfopen(,lmyfile.data,,,,,a-H-M);fprintf(fpj%d”,28);rewind(fp);fscanf(fp,M%sn,str);puts(str);fclose(fp);程序運行后的輸出結(jié)果是abc28cabc28D)因類型不一致而出錯二、填空題一個隊列的初始狀態(tài)為空?,F(xiàn)將元素A,B,C,D,E,F,5,4,3,2,1依次入隊,然后再依次退隊,則元素退隊的順序為 【1】o(2)設(shè)某循環(huán)隊列的容量為50,如果頭指針front=45(指向隊頭元素的前一位置),尾指針rear=10(指向隊尾元素),則該循環(huán)隊列中共有12】個元素。(3)設(shè)二叉樹如下:希賽11?在線收育用ET£12010^3月全國計苴機等創(chuàng)名試質(zhì)*Y鴿冷/M^://w\/ncre/zt/201002與11\ T八回 曲位希賽IT在線,育對該二叉樹進行后序遍歷的結(jié)果為【3】o(4)軟件是【4】、數(shù)據(jù)和文檔的集合。(5)有一個學(xué)生選課的關(guān)系,其中學(xué)生的關(guān)系模式為:學(xué)生(學(xué)號,姓名,班級,年齡),課程的關(guān)系模式為:課程(課號,課程名,學(xué)時),其中兩個關(guān)系模式的鍵分別是學(xué)號和課號,則關(guān)系模式選課可定義為:選課(學(xué)號,【5】,成績)。(6)設(shè)x為int型變量,請寫出一個關(guān)系表達式【6】,用以判斷x同時為3和7的倍數(shù)時,關(guān)系表達式的值為真。(7)有以下程序#include<stdio.h>main(){inta=l,b=2,c=3,d=0;if(a==l)if(b!=2)if(c==3)d=l;elsed=2;elseif(c!=3)d=3;elsed=4;elsed=5;printf("%d\n”,d);}程序運行后的輸出結(jié)果是17】o(8)有以下程序#include<stdio.h>main(){intm9n;scanf(M%d%d,\&m,&n);while(m!=n){while(m>n)m=m-n;while(m<n)n=n-m;}printf("%d\n”,m);}程序運行后,當(dāng)輸入1463V回車,時,輸出結(jié)果是[8】o(9)有以下程序#include<stdio.h>main(){inti,j,a[][3]={l,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)for(j=i;jV3;j++)printf(u%d%,a|i][j]);printf(M\nn);)程序運行后的輸出結(jié)果是[9】。(10)有以下程序#include<stdio.h>main(){inta[]={l,2,3,4,5,6},*k|3],i=0;while(i<3){kli]=&a[2*i];printfL%(T,*k[i]);i++;程序運行后的輸出結(jié)果是 [101o(11)有以下程序#include<stdio.h>main(){inta[3][3]={{l,2,3},{4,5,6},{7,8,9}};intb|31={0},i;for(i=0;i<3;i++)b|i|=a[i||2|+a[2||i|;for(i=0;i<3;i++)printf(,f%dH,b[lp;printfL\nD;}程序運行后的輸出結(jié)果是 [111(12)有以下程序#include<stdio.h>#include<string.h>voidfun(char*str){chartemp;intnJ;n=strlen(str);temp=str[n-l];for(i=n-l;i>0;i-)str[i]=str[i-l];str[0]=temp;)main(){chars|50|;scanf(n%sn,s);fun(s);printf(n%s\nn,s);}程序運行后輸入:abcdef<回車〉,則輸出結(jié)果是【12】。(13)以下程序的功能是:將值為三位正整數(shù)的變量x中的數(shù)值按照個位、十位、百位的順序拆分并輸出。請?zhí)羁铡?include<stdio.h>main(){intx=256;printf(''%d-%d?%d\n'', [13],x/10%10,x/100);}(14)以下程序用以刪除字符串所有的空格,請?zhí)羁铡?include<stdio.h>main(){chars[100]={MOurteacherteachClanguage!M};inti,j;for(i=j=O;s[i]!=,\O,;i++)if(s[i]!=**){s[j|=s[i];j++;}s[jl=114】printf(“%§\n”,s);}(15)以下程序的功能是:借助指針變量找出數(shù)組元素中的最大值及其元素的下標值。請?zhí)羁铡?include<stdio.h>main(){inta[10],*p,*s;for(p=a;p-a<10;p-H-)scanf("%d”,p);for(p=a,s=a;p-a<10;p++)if(*p>*s)s=L15] ;printf(windex=%d\n,,,s-a);答案:2010年3月全國計算機等級考試二級C語言參考答案一、選擇題《p分》(1)A(2)D(3)B(4>A(5)c(6)B(7)A<8>D,口.Cdo)A(11)B(12)B(13)D(14)C(15)C(16)D(17)A(18)B(19)c(20)A(21)D(2力D(23)A(24)B(25)D(26)A(27)D(28)B(29)C(30)C(31)A(32)C(33)B(34)C(35)C(36)B(37)A(38)D(39)A(40)C2010年3月全國計算機等級考試真題及參考答案http:/,<ify.mncrezT201003dk(2)15<4)程序<6)(^%3==0)&&(?%7=0)(8)7(10)135(12)fabcde(14)s(i+l]二、填空題(30分)<1>A,B,C,D,E,F,5,4,3(2,1(3)EDBGHFCA(5)課號(7)4(9)123569(11)101418(13)X%10(15)p2012年3月份全國計算機等級考試二級C語言普弗上初題庫(全)一、選擇題在下列各題的A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為A)PAD圖B)N-S圖C)結(jié)構(gòu)圖 D)數(shù)據(jù)流圖(2)結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是A)程序的規(guī)模 B)程序的效率 C)程序設(shè)計語言的先進性 D)程序易讀性(3)為了使模塊盡可能獨立,要求A)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強B)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱C)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱D)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(4)需求分析階段的任務(wù)是確定A)軟件開發(fā)方法 B)軟件開發(fā)工具 C)軟件開發(fā)費用 D)軟件系統(tǒng)功能(5)算法的有窮性是指A)算法程序的運行時間是有限的B)算法程序所處理的數(shù)據(jù)量是有限的C)算法程序的長度是有限的D)算法只能被有限的用戶使用(6)對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-l)/2的排序方法是A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序(7)如果進棧序列為el,e2,e3,e4,則可能的出棧序列是A)e3,el,e4,e2 B)e2,e4,e3,el C)e3,e4,el,e2D)任意順序(8)將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體與聯(lián)系都可以表示成A)屬性 B)關(guān)系 C)鍵 D)域(9)有三個關(guān)系R、S和T如下:RBCDa0 klb 1 nlBCDf3h2a0kln2xlTBCDa0kl由關(guān)系R和S通過運算得到關(guān)系T,則所使用的運算為A)并 B)自然連接C)笛卡爾積D)交(10)下列有關(guān)數(shù)據(jù)庫的描述,正確的是A)數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過程B)數(shù)據(jù)的物理獨立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時,數(shù)據(jù)的存儲結(jié)構(gòu)不變C)關(guān)系中的每一列稱為元組,一個元組就是一個字段D)如果一個關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個關(guān)系的關(guān)鍵字,則稱其為本關(guān)系的外關(guān)鍵字(11)以下敘述中正確的是A)用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作B)用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要有輸入C)用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出D)用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出(12)下列可用于C語言用戶標識符的一組是A)void,define,WORDB)a3_3,_123,CarC)For,-abc,IFCaseD)2a,DO,sizeof(13)以下選項中可作為C語言合法常量的是A)-80 B)-080C)-8el.OD)-80.0e(14)若有語句:char*line[5];,以下敘述中正確的是A)定義line是一個數(shù)組,每個數(shù)組元素是一個基類型為char為指針變量B)定義line是一個指針變量,該變量可以指向一個長度為5的字符型數(shù)組C)定義line是一個指針數(shù)組,語句中的*號稱為間址運算符D)定義line是一個指向字符型函數(shù)的指針(15)以下定義語句中正確的是A)inta=b=O; B)charA=65+l,b='b'; C)floata=l,*b=&a,*c=&b; D)doublea=0O;b=l.l;(16)有以下程序段charch;intk;ch=,a';k=12;printf("%c,%d,”,ch,ch,k);printf(Mk=%d\nM,k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是A)因變量類型與格式描述符的類型不匹配輸出無定值B)輸出項與格式描述符個數(shù)不符,輸出為零值或不定值C)a,97,12k=12D)a,97,k=12(17)有以下程序main。{inti,s=l;for(i=l;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf("%d\n,',s);}程序的輸出結(jié)果是A)409 B)277 C)1 D)91(18)當(dāng)變量c的值不為2、4、6時,值也為“真”的表達式是A)(c=2)||(c==4)||(c=6)B)(c>=2&&c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&?&!(c%2)D)(c>=2&&c<=6)&&(c%2!=l)(19)若變量已正確定義,有以下程序段inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf(M%d,%d,%d\n,\a,b,c);其輸出結(jié)果是A)程序段有語法錯 B)3,5,3 C)3,5,5D)3,5,7(20)有以下程序#include<stdio.h>main(){intx=l,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;casel:b++;break;case2:a-H-;b++;break;case3:a-H-;b++;
printf("a=%d,b=%d\n",a,b);)程序的運行結(jié)果是A)a=l,b=O B)a=2,b=2D)a=2,b=l(21)下列程序的輸出結(jié)果是#include"stdio.h"main(){inti,a=0,b=0;for(i=l;i<10;i++){if(i%2==0){a++;continue;}b++;}printf(na=%d,b=%dn,a,b);}A)a=4,b=4 B)a=4,b=5 C)a=5,b=4(22)已知#intt=0;while(t=l){...}則以下敘述正確的是A)循環(huán)控制表達式的值為0B)循環(huán)控制表達式的值為1C)循環(huán)控制表達式不合法D)以上說法都不對(23)下面程序的輸出結(jié)果是main(){inta[10]={l,2,3,4,5,6,7,8,9,10},*p=a;printf(M%d\nn,*(p+2));}A)3 B)4 C)1 D)2(24)以下錯誤的定義語句是A)int x川(24)以下錯誤的定義語句是A)int x川3]={{0},{1},{123}};x|4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};(25)有以下程序voidss(char*s,chart){while(*s){if(*s==t)*s=t-'a'+'A';s++;}}main(){char§trl[100]="abcddfefdbdZc='d';ss(strl,c);printf(n%s\nM,strl);}程序運行后的輸出結(jié)果是A)ABCDDEFEDBDB)abcDDfefDbDD)Abcddfefdbd(26)有如下程序main()B)intD)intx[][3]={l,2,3,4);C)abcAAfefAbA{charch|2||5|={,'6937,,,"8254,,},*p|2|;intij,s=O;for(i=0;i<2;i++)p|i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j|>,\0';j+=2)s=10*s+p[i][j]-r0,;printf(,'%d\n,',s);}該程序的輸出結(jié)果是A)69825 B)63825 C)6385 D)693825(27)有定義語句:char 若要從終端給s輸入5個字符,錯誤的輸入語句是A)gets(&s|O]); B)scanf("%s,,,s+1); C)gets(s);D)scanf(M%s',,s[l]);(28)以下敘述中錯誤的是A)在程序中凡是以“#“開始的語句行都是預(yù)處理命令行 B)預(yù)處理命令行的最后不能以分號表示結(jié)束 C)#defineMAX是合法的宏定義命令行 D)C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過程中進行的(29)設(shè)有以下說明語句typedefstruct{intn;charch|8|;}PER;則下面敘述中正確的是A)PER是結(jié)構(gòu)體變量名 B)PER是結(jié)構(gòu)體類型名 C)typedefstruct是結(jié)構(gòu)體類型D)struct是結(jié)構(gòu)體類型名(30)以下敘述中錯誤的是A)gets函數(shù)用于從終端讀入字符串B)getchar函數(shù)用于從磁盤文件讀入字符C)fputs函數(shù)用于把字符串輸出到文件D)fwrite函數(shù)用于以二進制形式輸出數(shù)據(jù)到文件(31)以下能正確定義一維數(shù)組的選項是A)inta[5]={0,l,2,3,4,5}; B)chara[]={W,TJ2,J3,,"560*C)chara={'A','BTC'};D)inta[5]="0123”;(32)有以下程序#include<string.h>mainO{charp[]={G%/c[q[10]={■%/小};printf(n%d%d\n,f,strlen(p),strlen(q));}以下敘述中正確的是A)在給p和q數(shù)組置初值時,系統(tǒng)會自動添加字符串結(jié)束符,故輸出的長度都為3B)由于p數(shù)組中沒有字符串結(jié)束符,長度不能確定,但q數(shù)組中字符串長度為3C)由于q數(shù)組中沒有字符串結(jié)束符,長度不能確定,但p數(shù)組中字符串長度為3D)由于p和q數(shù)組中都沒有字符串結(jié)束符,故長度都不能確定(33)有以下程序#indude<stdio.h>#include<string.h>voidfun(char *s|],intn){char*t; intij;for(i=0;i<n-l;i++)for(j=i+l;j〈n;j++)if(strlen(s[i])>strlen(sU])){t=s[i];s[i]:sU];s[j]=t;}Imain(){char*ss[]={nbccM,nbbccn,f,xyM,naaaaccn,MaabccM};fun(ss,5);printf(n%s,%s\n,\ss|0|,ss|4|);)程序的運行結(jié)果是A)xy,aaaaccB)aaaacc,xyC)bcc,aabccD)aabcc,bcc(34)有以下程序#include<stdio.h>intf(intx){inty;if(x==0||x=l)return(3);y=x*x-f(x-2);returny;}mainO{intz;z=f(3);printf(H%d\nM,z);}程序的運行結(jié)果是A)0 B)9 C)6 D)8(35)下面程序段的運行結(jié)果是charstr[]=,,ABC,,,*p=str;printf(,'%d\n,',*(p+3));A)67 B)0 C)字符,C的地址 D)字符,C(36)若有以下定義:structlink{intdata;structlink*next;}a,b,c,*p,*q;且變量a和b之間已有如下圖所示的鏈表結(jié)構(gòu):指針p指向變量a,q指向變量c。則能夠把c插入到a和b之間并形成新的鏈表的語句組是:A)a.next=c;c.next=b;B)p.next=q;q.next=p.next;C)p->next=&c;q->next=p->next;D)(*p).next=q;(*q).next=&b;(37)對于下述程序,在方式串分別采用%t"和“wb”運行時,兩次生成的文件TEST的長度分別是#include<stdio.h>voidmain(){FILE*fp=fopen(HTESTn,);fputc(rA\fp);fputc(r\n\fp);fputc(rB\fp);fputc(r\n\fp);fputc(^C;fp);fclose(fp);}A)7與節(jié)、7字節(jié)B)7字節(jié)、5字節(jié)C)5字節(jié)、7字節(jié)D)5字節(jié)、5字節(jié)(38)變量a中的數(shù)據(jù)用二進制表示的形式是01011101,變量b中的數(shù)據(jù)用二進制表示的形式是UllOOOOo若要求將a的高4位取反,低4位不變,所要執(zhí)行的運算是A)aAbB)a|bC)a&bD)a?4(39)下面的程序段運行后,輸出結(jié)果是?nti,j,x=O;staticinta[8]|8];for(i=0;i<3;i++)for(j=0;j<3;j++)a[i]UI=2*i+j;for(i=0;i<8;i++)x+=a[i][j];printf(”%d”,x);A)9 B)不確定值 C)0 D)18(40)下列程序執(zhí)行后的輸出結(jié)果是voidfunc(int*a,intb[|){b|0|=*a+6;}main(){inta,b[5];a=0;b|0|=3;func(&a,b);printf(n%d\nH,b[0]);}A)6 B)7 C)8 D)9二、填空題請將每一個空的正確答案寫在答題卡序號的橫線上,答在試卷上不給分。(1)測試的目的是暴露錯誤,評價程序的可靠性;而【1】的目的是發(fā)現(xiàn)錯誤的位置并改正錯誤。(2)某二叉樹中度為2的結(jié)點有18個,則該二叉樹中有【2】個葉子結(jié)點。(3)當(dāng)循環(huán)隊列非空且隊尾指針等于隊頭指針時,說明循環(huán)隊列已滿,不能進行入隊運算。這種情況稱為【3】。(4)在關(guān)系模型中,把數(shù)據(jù)看成一個二維表,每一個二維表稱為一個[4L(5)在計算機軟件系統(tǒng)的體系結(jié)構(gòu)中,數(shù)據(jù)庫管理系統(tǒng)位于用戶和【5】之間。(6)以下程序的輸出結(jié)果是[6LmainO{charc='z';printf(H%cn,c-25);}(7)閱讀下面語句,則程序的執(zhí)行結(jié)果是17】。#include"stdio.h''main(){inta=-l,b=l,k;if((++a<0)&&!(b-<=0))prmtf(n%d,%d\M,a,b);elseprintf(,,%d,%d\n,\b,a);)(8)下列程序的輸出結(jié)果是[8]omain(){inti;for(i=l;i+l;i++){if(i>4){printf(,,%d\n,,,i);break;}printf(,'%d\n,,,i++);}}(9)以下程序的定義語句中,x[l]的初值是[9】,程序運行后輸出的內(nèi)容是【10】。#include<stdio.h>main(){intx[]={l,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p|4],i;for(i=0;i<4;i++){p[i]=&x[2*i+l];printf(,'%d,,,p|i||0|);)printf(M\nn);)}(10)以下程序的輸出結(jié)果是【11】。#indude<stdio.h>voidswap(int*a,int*b){int*t;t=a;a=b;b=t;}main(){inti=3,j=5,*p=&i,*q=&j;swap(p,q);printf(M%d%d\N,*p,*q))}(ID以下程序的輸出結(jié)果是【12】。main(){chars[]="ABCD”,*p;for(p=s+l;p<s+4;p++)printf(,,%s\n,',p);)(12)以下程序的輸出結(jié)果是【13】。floatfun(intxjnty){return(x+y);}main(){inta=2,b=5,c=8;printf(n%3.0f\n,\fun((int)fun(a+c,b),a-c));}(13)有如下圖所示的雙鏈表結(jié)構(gòu),請根據(jù)圖示完成結(jié)構(gòu)體的定義:Iheaddatarchildstructaa{intdata;[14])node;(14)fseek函數(shù)的正確調(diào)用形式是【15】。一、選擇題(1)B 【解析】N-S圖是由Nassi和Shneiderman提出的一種符合程序化結(jié)構(gòu)設(shè)計原則的圖形描述工具。它的提出是為了避免流程圖在描述程序邏輯時的隨意性上靈活性。(2)D【解析】結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為自頂向下、逐步求精、模塊化及限制使用got。語句,總的來說可使程序結(jié)構(gòu)良好、易讀、易理解、易維護。(3)B【解析】模塊的獨立程度可以由兩個定性標準度量:耦合性和內(nèi)聚性。耦合性是衡量不同模塊彼此間互相依賴(連接)的緊密程度;內(nèi)聚性是衡量一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度。一般來說,要求模塊之間的耦合盡可能地低,而內(nèi)聚性盡可能地高。(4)D【解析】需求分析是軟件定義時期的最后一個階段,它的基本任務(wù)就是詳細調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。選項A)軟件開發(fā)方法是在總體設(shè)計階段需完成的任務(wù);選項B)軟件開發(fā)工具是在實現(xiàn)階段需完成的任務(wù);選項C)軟件開發(fā)費用是在可行性研究階段需完成的任務(wù)。(5)A【解析】算法具有5個特性:①有窮性:一個算法必須(對任何合法的輸入值)在執(zhí)行有窮步之后結(jié)束,且每一步都可在有限時間內(nèi)完成,即運行時間是有限的;②確定性:算法中每一條指令必須有確切的含義,讀者理解時不會產(chǎn)生歧義;③可行性:一個算法是可行的,即算法中描述的操作都是可以通過已經(jīng)實現(xiàn)的基本運算執(zhí)行有限次來實現(xiàn);④輸入:一個算法有零個或多個輸入,這些輸入取自于某個特定的對象的集合;⑤輸出:一個算法有一個或多個輸出。(6)D【解析】在最壞情況下,快速排序、冒泡排序和直接插入排序需要的比較次數(shù)都為n(n-l)/2,堆排序需要的比較次數(shù)為nloglno⑺B【解析】由棧"后進先出”的特點可知:A)中el不可能比e2先出,C)中el不可能比e2先出,D)中棧是先進后出的,所以不可能是任意順序。B)中出棧過程如下圖所示:(8)B【解析】關(guān)系數(shù)據(jù)庫邏輯設(shè)計的主要工作是將E-R圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性,實體集也可以轉(zhuǎn)換成關(guān)系。(9)D【解析】在關(guān)系運算中,交的定義如下:設(shè)R1和R2為參加運算的兩個關(guān)系,它們具有相同的度n,且相對應(yīng)的屬性值取自同一個域,則RIR2為交運算,結(jié)果仍為度等于n的關(guān)系,其中,交運算的結(jié)果既屬于R1,又屬于R2。(10)D【解析】數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程,故選項A)敘述錯誤;數(shù)據(jù)的物理獨立性是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,不會影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),故選項B)敘述錯誤;關(guān)系中的行稱為元組,對應(yīng)存儲文件中的記錄,關(guān)系中的列稱為屬性,對應(yīng)存儲文件中的字段,故選項C)敘述錯誤。11)C 【解析】算法具有的5個特性是:有窮性;確定性;可行性;有0個或多個輸入;有一個或多個輸出。所以說,用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出。(12)8【解析】C語言規(guī)定標識符只能由字母、數(shù)字和下劃線3種字符組成,且第一個字符必須為字母或下劃線,排除選項C)和D);C語言中還規(guī)定標識符不能為C語言的關(guān)鍵字,而選項A)中void為關(guān)鍵字,故排除選項A)o(13)A【解析】選項B)項中,以0開頭表示是一個八進制數(shù),而八進制數(shù)的取值范圍是0?7,所以-080是不合法的;選項C)和D)中,e后面的指數(shù)必須是整數(shù),所以也不合法。(14)A【解析】C語言中□比*優(yōu)先級高,因此line先與[5]結(jié)合,形成line[5]形式,這是數(shù)組形式,它有5個元素,然后再與line前面的"*”結(jié)合,表示此數(shù)組是一個指針數(shù)組,每個數(shù)組元素都是一個基類型為char的指針變量。(15)B 【解析】本題考查變量的定義方法。如果要一次進行多個變量的定義,則在它們之間要用逗號隔開,因此選項A)和D)錯誤。在選項C)中,變量c是一個浮點型指針,它只能指向一個浮點型數(shù)據(jù),不能指向指針變量b,故選項C)錯誤。(16)D【解析】輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號的十進制整型數(shù)輸出,所以第一個輸出語句輸出的結(jié)果為a,97;第二個輸出語句輸出的結(jié)果為k=12o(17)D【解析】本題是計算50之內(nèi)的自然數(shù)相加之和,題中if語句括號中的條件表達式!(i%5)&&!(i%3)表明只有能同時被5和3整除的數(shù)才符合相加的條件,1?49之間滿足這個條件的只有,15、30和45,因為s的初始值為1,所以s=l+15+30+45=91o(18)B 【解析】滿足表達式(c>=2&&c<=6)的整型變量c的值是2,3,4,5,6。當(dāng)變量c的值不為2,4,6時,其值只能為3或5,所以表達式c!=3和c!=5中至少有一個為真,即不論c為何值,選項B中的表達式都為“真“。(19)B【解析】兩個if語句的判斷條件都不滿足,程序只執(zhí)行了c=a這條語句,所以變量c的值等于3,變量b的值沒能變化,程序輸出的結(jié)果為3,5,3o所以正確答案為B)o(20)D【解析】本題考查switch語句,首先,x=l符合條件case1,執(zhí)行switch(y)語句,y=0符合case0語句,執(zhí)行a++并跳出switch(y)語句,此時a=l。因為case1語句語面沒有break語句,所以向后執(zhí)行case2語句,執(zhí)行a++,b++,然后跳出switch(x),得a=2,b=l?(21)B 【解析】continue語句的作用是跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)條件的判定。當(dāng)能被2整除時,a就會增1,之后執(zhí)行continue語句,直接執(zhí)行到for循環(huán)體的結(jié)尾,進行i++,判斷循環(huán)條件。(22)B 【解析】t=l是將t賦值為1,所以循環(huán)控制表達式的值為lo判斷t是否等于1時,應(yīng)用t==l,注意"="與"="的用法。(23)A 【解析】在C語言中,數(shù)組元素是從0開始的。指針變量p指向數(shù)組的首地址,(p+2)就會指向數(shù)組中的第3個元素。題目中要求輸出的是元素的值。(24)C 【解析】本題考查的是二維數(shù)組的定義和初始化方法。C語言中,在定義并初始化二維數(shù)組時,可以省略數(shù)組第一維的長度,但是不能省略第二維的長度。故選項C)錯誤。(25)B【解析】在內(nèi)存中,字符數(shù)據(jù)以ASCII碼存儲,它的存儲形式與整數(shù)的存儲形式類似。C語言中,字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用,也可以對字符型數(shù)據(jù)進行算術(shù)運算,此時相當(dāng)于對它們的ASCII碼進行算術(shù)運算,在本題中,s++相當(dāng)于s=s+l,即讓s指向數(shù)組中的下一個元素。(26)C 【解析】該題稍微難一點。主要要搞清楚以下幾點:①定義了一個指針數(shù)組char*p|2]后,程序中第一個循環(huán)for(i=0;i<2;i++)p[i]=ch[i];的作用,是使指針數(shù)組的p|0]元素(它本身是一個指針)指向了二維數(shù)組ch的第一行字符串,并使指針數(shù)組的p[l]元素指向二維數(shù)組ch的第二行字符串,這樣,就使指針數(shù)組p和二維數(shù)組ch建立起了一種對應(yīng)關(guān)系,以后對二維數(shù)組ch的某個元素的引用就有兩種等價的形式:ch[i][j]或p|i||j]o②對二維數(shù)組ch的初始化,使其第一行ch[0]中存入了字符串"6937”,第二行ch|l]中的內(nèi)容為字符串"8254”。③程序中第二個循環(huán)中的循環(huán)體s=s*10+p[i][j]-'0';的功能是這樣的,每執(zhí)行一次,將s中的值乘以10(也即,將s中的數(shù)值整體向左移動一位,并在空出來的個位上添一個0),再將當(dāng)前中的字符量轉(zhuǎn)換為相應(yīng)的數(shù)字,然后把這個數(shù)字加到s的個位上。④注意到內(nèi)層循環(huán)的循環(huán)條件p[i] ,是指中的字符只要不是字符串結(jié)束標志就繼續(xù)循環(huán),語句j+=2;是使下標j每次增加2,也即一個隔一個地從p[i]所指向的字符串中取出字符。經(jīng)過上述解析后,不難看出,該程序首先從p[0]所指向的字符串“6937”中一個隔一個地取出字符,分別是G和3,然后從p[l]所指向的字符串“8254”中一個隔一個地取出字符,分別是8和5,同時經(jīng)過轉(zhuǎn)換和相加運算后,結(jié)果s中的值應(yīng)該是6385。(27)D【解析】在格式輸入中,要求給出的是變量的地址,而D)答案中給出的s[l]是一個值的表達式。(28)D 【解析】C語言中的預(yù)處理命令以符號#開頭,這些命令是在程序編譯之前進行處理的,選項D)的描述錯誤。(29)B【解析】本題中,tvpedef聲明新的類型名PER來代替已有的類型名,PER代表上面指定的一個結(jié)構(gòu)體類型,此時,也可以用PER來定義變量。(30)B 【解析】getchar函數(shù)的作用是從終端讀入一個字符。(31)B【解析】選項A)中,定義的初值個數(shù)大于數(shù)組的長度;選項C)中,數(shù)組名后少了中括號;選項D)中,整型數(shù)組不能賦予字符串。(32)A 【解析】在給p和q數(shù)組賦初值時,系統(tǒng)會自動添加字符串結(jié)束符,從題目中可以看出數(shù)組p和q都有3個字符,所以長度均為3。(33)A 【解析】函數(shù)fun(char*s[l,intn)的功能是對字符串?dāng)?shù)組的元素按照字符串的長度從小到大排序。在主函數(shù)中執(zhí)行fun(ss,5)語句后,*ss[]={"xy","bcc","bbcc","aabcc","aaaacc"},ss[0],ss[4]的輸出結(jié)果為xy,aaaacc?(34)C【解析】函數(shù)intf(intx)是一個遞歸函數(shù)調(diào)河,當(dāng)x的值等于0或1時,函數(shù)值等于3,其他情況下y=x2-f(x-2),所以在主函數(shù)中執(zhí)行語句z=f(3)時,y=3*3-f(3-2)=9-f(l尸9-3=6。(35)8 【解析】考查指向字符串的指針變量。在該題中,指針變量p指向的應(yīng)該是該字符串中的首地址,p+3指向的是字符串結(jié)束標志、(T的地址,因而*(p+3)的值為0o(36)D【解析】本題考查鏈表的數(shù)據(jù)結(jié)構(gòu),必須利用指針變量才能實現(xiàn),即一個結(jié)點中應(yīng)包含一個指針變量,用它存放下一結(jié)點的地址。(37)B【解析】以“wt”方式寫入的是字符文件,轉(zhuǎn)義字符,\n,被看作兩個字符來處理。而“wb”方式寫入的是二進制文件,轉(zhuǎn)義字符,\n,是一個字符。(38)A【解析】本題考查的是位運算的知識,對于任何二進制數(shù),和1進行異或運算會讓其取反,而和0進行異或運算不會產(chǎn)生任何變化。(39)C【解析】本題主要考查的是用二維數(shù)組首地址和下標來引用二維數(shù)組元素的方法。通過分析可知,程序中的雙重循環(huán)定義了一個如下的二維數(shù)組:TOC\o"1-5"\h\z0 1 22 3 44 5 6由于數(shù)組的下標是從0開始的,所以二維數(shù)組元素表示的是二維數(shù)組a的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度食品行業(yè)市場調(diào)研數(shù)據(jù)保密協(xié)議
- 輪胎購買合同范本
- 科技產(chǎn)品電子商務(wù)平臺的用戶體驗設(shè)計
- 現(xiàn)代農(nóng)村別墅與綠色建筑技術(shù)融合探討
- 電影節(jié)活動贊助商資源整合策略
- 科技行業(yè)職業(yè)發(fā)展路徑規(guī)劃報告
- 現(xiàn)代設(shè)計元素在老房翻新中的運用
- 科技在綠色建筑發(fā)展中的作用和挑戰(zhàn)
- 知識付費內(nèi)容的跨文化推廣策略
- 科技行業(yè)職業(yè)技能提升路徑圖
- 急診醫(yī)院感染與控制課件
- DeepSeek1天開發(fā)快速入門
- 2025書記員招聘考試題庫及參考答案
- 2024-2025年第二學(xué)期數(shù)學(xué)教研組工作計劃
- 2025輔警招聘公安基礎(chǔ)知識題庫附含參考答案
- GB/T 44927-2024知識管理體系要求
- 2025年環(huán)衛(wèi)工作計劃
- 2024年07月山東省泰山財產(chǎn)保險股份有限公司2024年夏季校園招考29名工作人員筆試歷年參考題庫附帶答案詳解
- 品質(zhì)巡檢培訓(xùn)課件
- 醫(yī)療器械生產(chǎn)企業(yè)并購合同
- 2025版新能源汽車充電站建設(shè)合同含政府補貼及稅收優(yōu)惠條款
評論
0/150
提交評論