全國(guó)計(jì)算機(jī)二級(jí)C語(yǔ)言預(yù)測(cè)試題_第1頁(yè)
全國(guó)計(jì)算機(jī)二級(jí)C語(yǔ)言預(yù)測(cè)試題_第2頁(yè)
全國(guó)計(jì)算機(jī)二級(jí)C語(yǔ)言預(yù)測(cè)試題_第3頁(yè)
全國(guó)計(jì)算機(jī)二級(jí)C語(yǔ)言預(yù)測(cè)試題_第4頁(yè)
全國(guó)計(jì)算機(jī)二級(jí)C語(yǔ)言預(yù)測(cè)試題_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C語(yǔ)言預(yù)測(cè)試一、選擇題:只有一個(gè)選項(xiàng)是正確的。(1)軟件生命周期中花費(fèi)費(fèi)用最多的階段是:A)詳細(xì)設(shè)計(jì)B)軟件編碼C)軟件測(cè)試D)軟件維護(hù)(2)為了提高測(cè)試的效率,應(yīng)該:A)隨機(jī)選取測(cè)試數(shù)據(jù)B)取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)C)在完成編碼以后制定軟件的測(cè)試計(jì)劃D)集中對(duì)付那些錯(cuò)誤群集的程序(3)以下不是面向?qū)ο笏枷胫械闹饕卣鞯氖牵篈)多態(tài)B)繼承C)封裝D)垃圾回收(4)下列敘述中,不符合良好程序設(shè)計(jì)風(fēng)格要求的是:A)程序的效率第一,清晰第二B)程序的可讀性好(CC)程序中要有必要的注釋D)輸入數(shù)據(jù)刖要有提示信息(17)有以下程序段intj;floaty;char_name[50];scanf("%2d%f%s",&j,&y,name);當(dāng)執(zhí)行上述程序段,從鍵盤(pán)上輸入555667777abc后,y的值為:A)55566.0B)566.0C)7777.0D)566777.0(18)若變量已正確定義,有以下程序段i=0;doprintf("%d,",i);while(i++);printf("%d\n"4);其輸出結(jié)果是:A)0,0B)0,1C)1,1D)^進(jìn)入無(wú)限循環(huán)(19)下列程序的運(yùn)行結(jié)果是#include"stdio.h"main(){intx=-9,y=5,z=8;if(x<Y)<p>if(y<0)z=0;elsez+=1;printf("%d\n",z);}人)68)708口)9(20)若程序執(zhí)行時(shí)的輸入數(shù)據(jù)是"2473",則下述程序的輸出結(jié)果是(5)軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過(guò)程設(shè)計(jì),其中軟件的過(guò)程設(shè)計(jì)是指:A)模塊間的關(guān)系B)系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程描述C)軟件層次結(jié)構(gòu)D)軟件開(kāi)發(fā)過(guò)程(6)數(shù)據(jù)處理的最小單位是:A)數(shù)據(jù)3)數(shù)據(jù)元素。)數(shù)據(jù)項(xiàng)D)數(shù)據(jù)結(jié)構(gòu)(7)假設(shè)線性表的長(zhǎng)度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為:A)log2nB)n2C)O(n1..5)D)n(n-1)/2(8)在深度為5的滿二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A)32B)31C)16D)15(9)數(shù)據(jù)庫(kù)系統(tǒng)的核心是A)數(shù)據(jù)庫(kù)B)數(shù)據(jù)庫(kù)管理系統(tǒng)C)模擬模型D)軟件工程(10)一個(gè)關(guān)系中屬性個(gè)數(shù)為1時(shí),稱(chēng)此關(guān)系為A)對(duì)應(yīng)關(guān)系B)單一關(guān)系C)一元關(guān)系D)二元關(guān)系(11)下面各選項(xiàng)中,均是C語(yǔ)言合法標(biāo)識(shí)符的選項(xiàng)組是:A)weautoB)_23me_3ewC)_433e_elseD)ER-DF32(12)可在C程序中用作用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是:A)andB)DateC)HiD)case_2007y-m-dDr.TomBigl(13)以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是:A)C語(yǔ)言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳給形參形參的值不能傳送給實(shí)參B)C函數(shù)既可以嵌套定義又可以遞歸調(diào)用C)函數(shù)必須有返回值,否則不能使用函數(shù)D)函數(shù)必須有返回值,返回值類(lèi)型不定(14)若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是:A)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元B)形參只是形式上的存在,不占用具體存儲(chǔ)單元C)同名的實(shí)參和形參占同一存儲(chǔ)單元D)函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元(15)現(xiàn)有定義inta;doubleb;floatc;chark;,則表達(dá)式a/b+c-k值的類(lèi)型為:A)intB)doubleC)floatD)char(16)以下關(guān)于long、int和short類(lèi)型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是:A)均占4個(gè)字節(jié)B)根據(jù)數(shù)據(jù)的大小來(lái)決定所占內(nèi)存的字節(jié)數(shù)C)由用戶自己定義D)由C語(yǔ)言編譯系統(tǒng)決定#includevoidmain(){intcs;while((cs=getchar())!=;'\n'){switch(cs-'2'){case0putchar(cs+4);putchar(cs+4);break;putchar(cs+3);default:putchar(cs+2);}}}A)668977B)668966C)6677877D)6688766(21)以下程序的輸出結(jié)果是main(){inta,i;a=0;for(i=1;i<5;i++){switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}printf("%d\n",a);}A)31B)13C)10D)20(22)現(xiàn)有如下程序段#include"stdio.h"main(){intk[30]={12,324,45,6,768,98,21,34,453,456};intcount=0,i=0;while(k[i]){if(k[i]%2==0llk[i]%5==0)count++;i++;}

printf("%d,%d\n”,count,i);}則程序段的輸出結(jié)果為A)7,8B)8,8C)7,10D)8,10(23)若有以下程序#includeinta[]={2,4,6,8};main(){inti;int*p=a;for(i=0;i<4;i++)a[i]=*p;printf("%d\n",a[2]);}上面程序的輸出結(jié)果是A)6B)8C)4D)2(24)有以下程序#include{inti;printf("%d\n",argc);}A)3B)4C)2D)以上答案都不正確(28)有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=p[5];則b的值是A)5B)6C)9D)8(29)以下敘述中錯(cuò)誤的是:A)改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值B)函數(shù)可以返回地址值C)可以給指針變量賦一個(gè)整數(shù)作為地址值D)當(dāng)在程序的開(kāi)頭包含頭文件stdio.hD)當(dāng)在程序的開(kāi)頭包含頭文件stdio.h時(shí),可以給指針變量賦NULLmain(){inti,j,m=55;main(){inti,j,m=55;for(i=1;i<=3;i++)#include

main(){inta[]={1,2,3,4,5,6,7,8,9,0},*p;for(j=3;j<=i;j++)m=m%j;printf("%d\n",m);程序的運(yùn)行結(jié)果是:A)0B)1C)2D)3(25)已知字符'A’的ASCII碼值是65,字符變量cl的值是'A’,c2的值是‘D’。執(zhí)行語(yǔ)句printf("%d,%d”,c1,c2-2);后,輸出結(jié)果是:A)A,BB)A,68C)65,66D)65,68(26)下列程序是用來(lái)判斷數(shù)組中特定元素的位置所在的。include#includeintfun(int*s,intt,int*k){inti;*k=0;for(i=0;i<T;I++)<p>if(s[*k]<p>returns[*k];}main(){inta[10]={876,675,896,101,301,401,980,431,451,777},k;fun(a,10,&k);printf("%d,%d\n”,k,a[k]);}如果輸入如下整數(shù):876675896101301401980431451777則輸出結(jié)果為A)7,431B)6C)980D)6,980(27)下面程序的文件名為t.exe,在DOS下輸入的命令行參數(shù)為:ttomeetme<回車(chē)〉則程序輸出的結(jié)果是#include"stdio.h"main(argc,argv)intargc;char*argv[];p=a;printf("%d\n",*p+9);}A)0B)1C)10D)9(31)有下面程序段#include"stdio.h"#include"string.h"main(){chara[3][20]={{"china"},{"isa"},{"bigcountry!”}};chark[100]={0},*p=k;inti;for(i=0;i<3;i++){p=strcat(p,a[i]);}i=strlen(p);printf("%d\n",i);}則程序段的輸出結(jié)果是A)18B)19C)20D)21(32)若有定義:char*st="howareyou";,下列程序段中正確的是A)chara[11],*p;strcpy(p=a+1,&st[4]);B)chara[11];strcpy(++a,st);C)chara[11];strcpy(a,st);D)chara[],*p;strcpy(p=&a[1],st+2);(33)有以下程序#includeintfun(chars[]){intn=0;while(*s<='9’&&*s>=′0'){n=10*n+*s-'0′;s++;}return(n);}main(){chars[10]={‘6’,‘1‘,’*‘,‘4‘,’*‘,‘9‘,’*‘,‘0','*’};printf("%d'n”,fun(s));}程序的運(yùn)行結(jié)果是A)9B)61490c)61D)5(34)設(shè)有定義:charM]={T,'2’,‘3'},*q=p;,以下不能計(jì)算出一個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是A)sizeof(p)B)sizeof(char)C)sizeof(*q)D)sizeof(p[0])(35)有以下函數(shù)intaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}以下關(guān)于aaa函數(shù)的功能的敘述正確的是A)求字符串s的長(zhǎng)度B)比較兩個(gè)串的大小C)將串s復(fù)制到串tD)求字符串s所占字節(jié)數(shù)(36)當(dāng)用戶要求輸入的字符串中含有空格時(shí),應(yīng)使用的輸入函數(shù)是A)scanf()B)getchar()C)gets()D)getc()(37)下列選項(xiàng)中錯(cuò)誤的說(shuō)明語(yǔ)句是A)chara[]={'t’,‘o‘,‘y‘,‘o‘,‘u‘,‘\0‘};B)chara口={"toyou\0"};C)chara[]="toyou\0";D)chara[]='toyou\0’;(38)以下程序的輸出結(jié)果是intf(){staticinti=0;ints=1;s+=i;i++;returns;}main(){inti,a=0;for(i=0;i<5;i++)a+=f();printf("%d\n",a);}A)20B)24C)25D)15(39)下列程序的輸出結(jié)果是#include"stdio.h"#defineM(x,y)x%ymain(){inta,m=12,n=100;a=M(n,m);printf("%d\n",a--);}A)2B)3C)4D)5(40)假定當(dāng)前盤(pán)符下有兩個(gè)如下文本文件:文件名a1.txta2.txt內(nèi)容123#321#則下面程序段執(zhí)行后的結(jié)果為#include"stdio.h"voidfc(FILE*p){charc;while((c=fgetc(p))!='#’)putchar(c);}main(){FILE*fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);fp=fopen("a2.txt","r");fc(fp);fclose(fp);putchar('\n');}A)123321B)123C)321D)以上答案都不正確二、填空題:寫(xiě)在答題卡上面。(1)軟件定義時(shí)期主要包括【1】和需求分析兩個(gè)階段。(2)軟件維護(hù)活動(dòng)包括以下幾類(lèi):改正性維護(hù)、適應(yīng)性維護(hù)、【2】維護(hù)和預(yù)防性維護(hù)。(3)數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和【3】?jī)纱箢?lèi)。(4)某二叉樹(shù)中度為2的結(jié)點(diǎn)有n個(gè),則該二叉樹(shù)中有【4】個(gè)葉子結(jié)點(diǎn)。(5)在ER圖中,矩形表示【5】。(6)閱讀下面程序,則執(zhí)行后的輸出結(jié)果是【6】。#include"stdio.h"main(){intx,y,z;x=1;y=2;z=3;if(x>y)if(x>z)printf("%d",x);elseprintf("%d",y);printf("%d\n",z);}(7)以下程序的輸出結(jié)果是【7】。main(){inty=9;for(;y>0;y--)if(y%3==0){printf("%d",--y);continue;}}(8)有以下程序段,且變量已正確定義和賦值for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf("s=%f\n\n",s);請(qǐng)?zhí)羁?,使下面程序段的功能與之完全相同s=1.0;k=1;while(【8】){s=s+1.0/(k*(k+1));【9】;}printf("s=%f\n\n",s);[10,)設(shè)有以下定義和語(yǔ)句,則*(*(p+2)+1)的值為inta[3][2]={10,20,30,40,50,60},(*p)[2];main(){structtya={30,'x’};fun(a);printf("%d%c",a.data,a.c);}fun(structtyb){b.data=20;p=a;(10)以下程序的輸出結(jié)果是【11】。#includeb.c='y’;}答案及解析一、選擇題main(){inti;for(i='a’;i<‘f′;i++,i++)printf("%c",i-'a’+‘A’);printf("\n");}(11)以下程序中函數(shù)f的功能是在數(shù)組x的n個(gè)數(shù)(假定n個(gè)數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,把最大的數(shù)與最后一個(gè)數(shù)對(duì)換。請(qǐng)?zhí)羁铡?1)D【解析】軟件生命周期分為軟件定義、軟件開(kāi)發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。本題中,詳細(xì)設(shè)計(jì)、軟件編碼和軟件測(cè)試都屬于軟件開(kāi)發(fā)階段;維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長(zhǎng),花費(fèi)代價(jià)最大的一個(gè)階段,軟件工程學(xué)的一個(gè)目的就是提高軟件的可維護(hù)性,降低維護(hù)的代價(jià)。(2)D【解析】測(cè)試的目的是發(fā)現(xiàn)軟件中的錯(cuò)誤。經(jīng)驗(yàn)表明,程序中存在錯(cuò)誤的概率與該程序中已發(fā)現(xiàn)的錯(cuò)誤成正比。這一現(xiàn)象說(shuō)明,為了提高測(cè)試效率,測(cè)試人員應(yīng)該集中對(duì)待那些錯(cuò)誤群集的程序。#include(3)Dvoidf(intx[],intn){intp0,p1,i,j,t,m;i=j=x[0];p0=p1=0;for(m=0;m<N;M++)<p>{if(x[m]>i){i=x[m];p0=m;}elseif(x[m]}t=x[p0];x[p0]=x[n-1];x[n-1]=t;t=x[p1];x[p1]=[12];【13]=t;}main(){inta[10],u;for(u=0;u<10;u++)scanf("%d",&a[u]);f(a,10);for(u=0;u<10;u++)printf("%d",a[u]);printf("\n");}(12)mystrlen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回。請(qǐng)?zhí)羁??!窘馕觥棵嫦驅(qū)ο笏枷胫械娜齻€(gè)主要特征是:封裝性、繼承性和多態(tài)性。⑷A【解析】當(dāng)今主導(dǎo)的程序設(shè)計(jì)風(fēng)格是"清晰第一,效率第二”的觀點(diǎn)。結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中曾強(qiáng)調(diào)程序的效率,而在實(shí)際應(yīng)用中,人們更注重程序的可理解性。(5)B【解析】軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)和過(guò)程設(shè)計(jì)。其中,結(jié)構(gòu)設(shè)計(jì)是定義軟件系統(tǒng)各主要部件之間的關(guān)系;數(shù)據(jù)設(shè)計(jì)是將分析時(shí)創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義;接口設(shè)計(jì)是描述軟件內(nèi)部、軟件和操作系統(tǒng)之間及軟件與人之間如何通信;過(guò)程設(shè)計(jì)則是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程性描述。(6)C【解析】數(shù)據(jù)處理的最小單位是數(shù)據(jù)項(xiàng);由若干數(shù)據(jù)項(xiàng)組成數(shù)據(jù)元素;數(shù)據(jù)是指能夠被計(jì)算機(jī)識(shí)別、存儲(chǔ)和加工處理的信息載體;數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)之間的相互關(guān)系和數(shù)據(jù)運(yùn)算。⑺D【解析】假設(shè)線性表的長(zhǎng)度為n,則在最壞情況下,冒泡排序要經(jīng)過(guò)n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。(8)C【解析】滿二叉樹(shù)是指除最后一層外,每一層上intmystrlen(char*str){intI;for(I=0;[14]!='\n';I++);return(I);}(13)閱讀下列程序,則程序的輸出結(jié)果為[15]。#include"stdio.h"的所有結(jié)點(diǎn)都有兩個(gè)葉子結(jié)點(diǎn)。在滿二叉樹(shù)中,層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,即在滿二叉樹(shù)的第k層上有2k-1個(gè)結(jié)點(diǎn),且深度為m的滿二叉樹(shù)有2m-1個(gè)結(jié)點(diǎn)。(9)B【解析】數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem,簡(jiǎn)稱(chēng)DBMS)是數(shù)據(jù)庫(kù)的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心。structty{intdata;charc;};(10)C【解析】在關(guān)系模型數(shù)據(jù)庫(kù)中,基本結(jié)構(gòu)是二維表,這種二維表稱(chēng)為關(guān)系。關(guān)系的列稱(chēng)為屬性,一個(gè)具有N個(gè)屬性的關(guān)系稱(chēng)為N元關(guān)系。{case常量表達(dá)式1:{case常量表達(dá)式1:case常量表達(dá)式2:語(yǔ)句1;語(yǔ)句2;語(yǔ)句n;(11)B【解析】合法的標(biāo)識(shí)符是由字母、數(shù)字和下劃線組成,并且第一個(gè)字符必須為字母或下劃線,用戶定義的標(biāo)識(shí)符不能與關(guān)鍵字相同。選項(xiàng)A),數(shù)字不能為第一個(gè)字母,auto為關(guān)鍵字;選項(xiàng)C)中,也是數(shù)字不能為第一個(gè)字母,else為關(guān)鍵字;選項(xiàng)D)中負(fù)號(hào)不合法。(12)A【解析】在C語(yǔ)言中,合法標(biāo)識(shí)符的命名規(guī)則是:標(biāo)識(shí)符可以由字母、數(shù)字和下劃線3種字符組成,且第一個(gè)字符必須為字母或下劃線。C語(yǔ)言的標(biāo)識(shí)符可以分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符。選項(xiàng)B)和C)中的橫線以及點(diǎn)都不合法,選項(xiàng)D)中的case為C語(yǔ)言關(guān)鍵字。(13)A【解析】C語(yǔ)言中的函數(shù)可以進(jìn)行遞歸調(diào)用,但是不能在函數(shù)中定義函數(shù),函數(shù)不用有返回值,若有返回值,則返回值類(lèi)型必確定。(14)D【解析】在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。在C語(yǔ)言中,僅在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。(15)B【解析】雙目運(yùn)算中兩邊運(yùn)算量類(lèi)型轉(zhuǎn)換規(guī)律:運(yùn)算數(shù)1運(yùn)算數(shù)2轉(zhuǎn)換結(jié)果類(lèi)型短整型長(zhǎng)整型短整型->長(zhǎng)整型整型長(zhǎng)整型整型->長(zhǎng)整型字符型整型字符型->整型有符號(hào)整型無(wú)符號(hào)整型有符號(hào)整型->無(wú)符號(hào)整型整型浮點(diǎn)型整型->浮點(diǎn)型在a/b的時(shí)候,a、b的類(lèi)型不一致,根據(jù)類(lèi)型轉(zhuǎn)換規(guī)則,把整型轉(zhuǎn)換成double類(lèi)型,之后的加、減類(lèi)似。轉(zhuǎn)化規(guī)則為char,short->int->unsigned->long->double—float(16)D【解析】在ANSI標(biāo)準(zhǔn)中,long、int和short分別占用4、2和2個(gè)字節(jié)。但實(shí)際上對(duì)于某些C編譯系統(tǒng),int和short都占用4個(gè)字節(jié),所以說(shuō)各種類(lèi)型數(shù)據(jù)占用內(nèi)存大小是由選擇何種C編譯系統(tǒng)決定的。(17)B【解析】本題考查通過(guò)scanf函數(shù)輸入數(shù)據(jù)時(shí)的格式控制問(wèn)題。變量j的格式控制為"%2d”,即只接收輸入數(shù)據(jù)的前兩位,從第三位開(kāi)始直到空格之間的輸入都會(huì)被保存到變量y中,因?yàn)閥為浮點(diǎn)型數(shù)據(jù),所以輸出結(jié)果為選項(xiàng)B)。(18)B【解析】對(duì)于do…while循環(huán),程序先執(zhí)行一次循環(huán)體,再判斷循環(huán)是否繼續(xù)。本題先輸出一次i的值"0,",再接著判斷表達(dá)式i++的值,其值為0,所以循環(huán)結(jié)束。此時(shí)變量i的值經(jīng)過(guò)自加已經(jīng)變?yōu)?,程序再次輸出i的值"1"。(19)D【解析】if…else語(yǔ)句的執(zhí)行過(guò)程如下,首先計(jì)算if后面一對(duì)圓括號(hào)內(nèi)表達(dá)式的值,若表達(dá)式的值為非0,執(zhí)行if子句,然后跳過(guò)else子句,去執(zhí)行if語(yǔ)句后的下一條語(yǔ)句;若表達(dá)式的值為0,跳過(guò)if子句,去執(zhí)行else子句,接著去執(zhí)行if語(yǔ)句后的下一條語(yǔ)句。C語(yǔ)言的語(yǔ)法規(guī)定,else子句總是與前面最近的不帶else的if匹配,與書(shū)寫(xiě)格式無(wú)關(guān),本題目的后一個(gè)if-else相當(dāng)于嵌套在第一個(gè)if子句里,相當(dāng)于x<Y&&Y<Y&&Y>=0時(shí),z=z+1。(20)A【解析】本題主要考查switch語(yǔ)句的使用方法。switch語(yǔ)句的執(zhí)行過(guò)程為:進(jìn)入switch結(jié)構(gòu)后,對(duì)條件表達(dá)式進(jìn)行運(yùn)算,然后從上至下去找與條件表達(dá)式值相匹配的case,以此作為入口,執(zhí)行switch結(jié)構(gòu)中后面的各語(yǔ)句,直到遇到break語(yǔ)句,則跳出switch語(yǔ)句,如果各case都不匹配時(shí),則執(zhí)行default后面的語(yǔ)句。(21)A【解析】本題考查用于多分支選擇的switch語(yǔ)句,其一般形式為:switch(表達(dá)式)case常量表達(dá)式n:default:語(yǔ)句n+1;}其語(yǔ)義是:計(jì)算表達(dá)式的值,并逐個(gè)與其后的常量表達(dá)式值進(jìn)行比較,當(dāng)表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí),即執(zhí)行其后的語(yǔ)句,然后不再進(jìn)行判斷,繼續(xù)執(zhí)行后面所有case后的語(yǔ)句;如表達(dá)式的值與所有case后的常量表達(dá)式均不相等時(shí),則執(zhí)行default后的語(yǔ)句。(22)D【解析】在C語(yǔ)言中,定義一維數(shù)組的語(yǔ)句一般形式如下:類(lèi)型名數(shù)組名[常量表達(dá)式];一維數(shù)組的引用形式為:數(shù)組名[下標(biāo)表達(dá)式]。count表示能被2整除或被5整除的個(gè)數(shù),i則計(jì)算有多少個(gè)數(shù)組元素。(23)D【解析】在C語(yǔ)言中,數(shù)組元素下標(biāo)是從0開(kāi)始的;指針變量p指向數(shù)組的首地址。for循環(huán)語(yǔ)句中,指針變量p始終指向數(shù)組的首地址,因而執(zhí)行循環(huán)賦值語(yǔ)句后數(shù)組各元素的值均變?yōu)?。(24)B【解析】本題考查循環(huán)語(yǔ)句的嵌套以及條件的判斷問(wèn)題。在程序中,內(nèi)層循環(huán)判斷條件為"j<=i",而j的初值為3故當(dāng)i的值為1和2時(shí),內(nèi)層循環(huán)體都不會(huì)被執(zhí)行。只有當(dāng)i和j都等于3時(shí)才會(huì)執(zhí)行一次。m的值為55對(duì)3取模,計(jì)■算結(jié)果為1。(25)C【解析】在C語(yǔ)言中,字符型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是ASCII碼值。當(dāng)需要以整型格式輸出字符時(shí),輸出的也是ASCII碼值。字符‘A'和'D'的ASCII碼值分別為65和68。(26)D【解析】本題中直接使用指針變量k,但在使用時(shí)要注意對(duì)k的指針運(yùn)算。止匕外,一開(kāi)始應(yīng)知道*k的值為數(shù)組中的某一下標(biāo)值,即*k=0,本函數(shù)的功能是找出數(shù)組中的最大元素的位置及最大元素的值。(27)B【解析】argc中存入的是命令行中字符串的個(gè)數(shù)。argv是一個(gè)指向字符型的指針數(shù)組的指針。(28)C【解析】p=&a[3]將指針指向數(shù)組a的第4個(gè)元素,p[5]指向數(shù)組a的第9個(gè)元素,而a[8]=9,所以b=9。

(29)C【解析】函數(shù)形參和實(shí)參分別占用不同的內(nèi)存單元,改變形參的值不會(huì)影響對(duì)應(yīng)實(shí)參的值,選項(xiàng)A)正確。指針類(lèi)型的函數(shù)可以返回地址值,選項(xiàng)B)正確。在文件stdio.h中,NULL被定義為void型的指針,選項(xiàng)D)也正確。指針變量的值只能是存儲(chǔ)單元地址,而不能是一個(gè)整數(shù),選項(xiàng)C)錯(cuò)誤。(30)C【解析】此題考查了指針引用一維數(shù)組元素的方法。*p+9因?yàn)檫\(yùn)算符"*"的優(yōu)先級(jí)高于"+",所以輸出結(jié)果為p指向的元素1,然后加9,值為10。(31)B【解析】字符串連接函數(shù)strcat的調(diào)用形式如下:strcat(s1,s2)。此函數(shù)將s2所指字符串的內(nèi)容連接到s1所指的字符串后面,并自動(dòng)覆蓋s1串末尾的尾標(biāo),函數(shù)返回s1的地址值。(32)A【解析】本題綜合考查字符數(shù)組的賦值和strcpy函數(shù)的用法。C語(yǔ)言不允許用賦值表達(dá)式對(duì)字符數(shù)組賦值,如下面的語(yǔ)句就是非法的:str1="China",如果想把"China"這5個(gè)字符放到數(shù)組str1中,除了逐個(gè)輸入外,還能使用strcpy函數(shù),該函數(shù)的功能是將一個(gè)字符串復(fù)制到一字符數(shù)組中。例如:strcpy(str1,"China")或strcpy(str1,str2);注意,不能企圖用以下語(yǔ)句來(lái)實(shí)行賦值(將str2的值傳給5"1):5任1=5在2;不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。strcpy函數(shù)的結(jié)構(gòu)是:strcpy(字符數(shù)組1,字符串2)其中,需要注意的是,字符數(shù)組1的長(zhǎng)度不應(yīng)小于字符串2的長(zhǎng)度,”字符數(shù)組1”必須寫(xiě)成數(shù)組名形式,如(str1),"字符串2"可以是字符數(shù)組名,也可以是字符串常量,不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。(33)C【解析】在fun函數(shù)中,while循環(huán)的功能是:逐個(gè)取字符數(shù)組s的字符判斷其是否是數(shù)字。若是則將其作為個(gè)位數(shù)字保存到變量n中,n的原數(shù)據(jù)的各個(gè)數(shù)位將相應(yīng)左移一個(gè)10進(jìn)制位。當(dāng)指針s指向數(shù)組的第3位時(shí),循環(huán)條件不成立福環(huán)結(jié)束,返回n的值,輸出n的值為61。(34)A【解析】在本題中,p和q同為指向字符類(lèi)型數(shù)據(jù)的指針。*q和p⑼同為字符型數(shù)據(jù)。選項(xiàng)B)、C)和D)都符合題目的要求;選項(xiàng)A)計(jì)算得出的是指針類(lèi)型數(shù)據(jù)所占的內(nèi)存字節(jié)數(shù)。(35)A【解析】循環(huán)開(kāi)始前,指針t和s都指向字符串的起始位置,然后通過(guò)while循環(huán)判斷t指向的位置是否為空,同時(shí)讓t向右移動(dòng)一位。while循環(huán)結(jié)束時(shí),t自減15匕時(shí)t指向的位置是字符串的結(jié)束標(biāo)志‘\0'處,故t-s的值是字符串的長(zhǎng)度,并不包括結(jié)束標(biāo)志。(36)C【解析】本題綜合考查了輸入函數(shù)的使用。scanf函數(shù)會(huì)將空格視為分隔符*^由第函數(shù)只能輸入單個(gè)字符,getc函數(shù)是文件操作函數(shù),顯然都不符合題意。通過(guò)gets函數(shù)輸入字符串時(shí),輸入的空格被認(rèn)為是字符串的一個(gè)字符。(37)D【解析】通過(guò)賦初值的方式給一維數(shù)組賦字符串,可以用給一般數(shù)組賦初值的相同方式給一維字符數(shù)組賦字符串,也可以在賦值時(shí)直接賦字符串常量。選項(xiàng)B)和C)后面的‘\0’是多余的在C語(yǔ)言中,系統(tǒng)會(huì)自動(dòng)在字符串的結(jié)尾處加上一個(gè)字符'\0’作為串的結(jié)束標(biāo)記。(38)D【解析】函數(shù)的靜態(tài)局部變量在編譯時(shí)就賦初值,即只賦初值一次,在程序運(yùn)行時(shí)它已有初值,以后每次調(diào)用函數(shù)時(shí)不再重新賦值,而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。(39)C【解析】帶參數(shù)的宏定義命令行形式如下:#define宏名(形參表)替換文本在編譯的時(shí)候編譯預(yù)處理程序用"替換文本"來(lái)替換宏,即M(n,m)被替換為n%m,之后計(jì)算,將計(jì)算的結(jié)果賦給a。注意,宏替換是在編譯時(shí)由預(yù)處理程序完成的,宏替換不占用運(yùn)行的時(shí)間,而函數(shù)調(diào)用是在程序運(yùn)行時(shí)進(jìn)行的,在函數(shù)的調(diào)用過(guò)程中需要占用一系列的處理時(shí)間。(40)A【解析】本題的功能是順序的讀兩個(gè)文本文件,依次輸出。當(dāng)打開(kāi)文件時(shí)出現(xiàn)錯(cuò)誤,fopen函數(shù)將返回NULL。二、填空題(1)【1】可行性研究【解析】軟件生命周期一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用以及維護(hù)等,還可以將軟件生命周期分為三個(gè)階段:①軟件定義階段:可行性研究和需求分析;②軟件開(kāi)發(fā)階段:設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試;③軟件運(yùn)行維護(hù)階段:交付使用和維護(hù)。(2)【2】完善性【解析】軟件維護(hù)活動(dòng)包括以下幾類(lèi):改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)。改正性維護(hù)是指在軟件交付使用后,為了識(shí)別和糾正軟件錯(cuò)誤、改正軟件性能上的缺陷、排除實(shí)施中的誤使用,應(yīng)當(dāng)進(jìn)行的診斷和改正錯(cuò)誤的過(guò)程;適應(yīng)性維護(hù)是指為了使軟件適應(yīng)變化,而去修改軟件的過(guò)程;完善性維護(hù)是指為了滿足用戶對(duì)軟件提出的新功能與性能要求,需要修改或再次開(kāi)發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論