版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第十九次等級(jí)考試二級(jí)(C與C++語言)筆試試卷
時(shí)間:2003年10月18日
上午9:00—11:00第一部分
軟件技術(shù)基礎(chǔ)
(共15分)一、是非判斷題(每小題1分,共10分)(判斷下列各題是否正確,如正確,在客觀答題紙上對應(yīng)編號(hào)選A,否則選B).在目前,用于保證軟件質(zhì)量的主要手段是進(jìn)行軟件測試。(1).使用DMA方式傳送數(shù)據(jù)期間不需要CPU干預(yù)。TOC\o"1-5"\h\z(2 ).線性順序隊(duì)列會(huì)產(chǎn)生“假溢出”,而線性循環(huán)隊(duì)列則不會(huì)。(3 ).對同一種算法,用高級(jí)語言編寫的程序比用低級(jí)語言編寫的程序運(yùn)行速度快。(4 ).在線性表中,數(shù)據(jù)的存儲(chǔ)方式有順序和鏈接兩種。(5 ).進(jìn)程是由程序塊、文件控制塊和數(shù)據(jù)塊三部分組成。(6 ).在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,派生類只能從一個(gè)基類產(chǎn)生。TOC\o"1-5"\h\z(7 ).操作系統(tǒng)是用戶和硬件的接口。(8 ).個(gè)人計(jì)算機(jī)中可配置的最大內(nèi)存容量受地址總線位數(shù)的限制。(9 ).軟件維護(hù)中最困難的問題是軟件配置不全。(10)二、選擇題(每小題1分,共5分)1.在排序法中,從未排序序列中依次取出元素,與已排序序列中的元素作比較,將其放入已排序序列的正確位置稱為(11 )。11(A)選擇排序 (B)快速排序(C)插入排序 (D)冒泡排序2.有X、Y、Z三個(gè)元素依次入棧,不可能的出棧順序是(12 )012(A)Z,Y,X (B)Z,X,Y(C)Y,X,Z (D)X,Y,Z3.進(jìn)程的狀態(tài)是可以轉(zhuǎn)換的,而以下哪個(gè)狀態(tài)轉(zhuǎn)換是不可能的(13)o13(A)就緒狀態(tài)今執(zhí)行狀態(tài)(B)執(zhí)行狀態(tài)-就緒狀態(tài)(C)阻塞狀態(tài)-就緒狀態(tài) (D)等待狀態(tài)9執(zhí)行狀態(tài)4.線性鏈表的地址(14 )0
14(A)必須連續(xù)14(A)必須連續(xù)(C)一定不連續(xù)5.在軟件測試中,(1515(A)白盒法(C)因果圖法(D)連續(xù)與否均可以
)主要分析程序的內(nèi)部結(jié)構(gòu)。(B)黑盒法(D)錯(cuò)誤推測法第二部分
C與C++語言程序設(shè)計(jì)
供85分)一、單項(xiàng)選擇題(每小題1分,共10分).對下列程序段的描述正確的是(16)o#include<iostream.h>intFun(intx,inty){returnx+y;)voidmain(){inti=10;cout?Fun(i++,i)?endl;)16(A)程序輸入結(jié)果不確定 (B)程序輸出結(jié)果是20(C)程序輸出結(jié)果是21 (D)程序輸出是222.下列描述正確的是()017 (A)C++程序中cout時(shí)需要用到預(yù)處理命令#include<iostream.h>C++程序必須有return語句C++程序中的變量必須定義在主程序內(nèi)部C++程序中所有使用的符號(hào)常量可以不進(jìn)行定義3.下述程序的輸出結(jié)果是(D)o#include<stdio.h>voidmain()(inty=10;while(y—);printf("y=%d",y);)18(A)y=0 (B)y=l (C)y=隨機(jī)值(D)y=-1.若有以下說明:char*strl="copy",str2[20],*str3="str",*str4,*str5="good";則正確的串操作語句是(D)o19(A)strcpy(str4,strl); (B)strcat(strl,str3);(C)str2="newstr"; (D)strcpy(str5,str3);.下面程序運(yùn)行后,x,y,z的值分別為(A)o#include<stdio.h>voidmain()(intx=0,y=0,z=0;++xll++yll++z;printf("%d%d%d\n",x,y,z);20(A)100 (B)000 (C)111(D)001.以下程序運(yùn)行的結(jié)果是(C)0#include<stdio.h>unionmyun{struct{intx,y,z;}u;intk;}a;voidmain()(a.u.x=4;a.u.y=5;a.u.z=6;a.k=O;printf("%d%d%d\n",a.u.x,a.u.y,a.u.z);)21(A)456 (B)654 (C)056 (D)065.關(guān)于C++和C語言學(xué)關(guān)系描述中,錯(cuò)誤的是(D)o22(A)C語言與C++是兼容的C++對C語言進(jìn)行了一些改進(jìn)C語言是C++的一個(gè)子集C++和C語言都是面向?qū)ο蟮?.下列描述中,正確的是(B)o23(A)子類可以繼承其父類的所有屬性和操作,但子類不能定義自己特有的屬性和操作(B)消息傳遞是類與類之間通信的手段C++允許函數(shù)重載,但不允許運(yùn)算符重載C++中可以定義虛函數(shù),通過它來支持動(dòng)態(tài)聯(lián)編.下面程序運(yùn)行的結(jié)果是(A)odefinef(x)l+x+x*xinclude<stdio.h>voidmain()(inta=2,b=3;printf("%d\n",f(a+b));)24(A)17 (B)31 (C)13 (D)7.下面局部程序代碼是C++中的(B)特性的表現(xiàn)。voiddisplay(intvar){cout?var;voiddisplay(charvar){cout?var;voiddisplay(intvarl,intvar2){cout?varl?var2;)25(A)繼承 (B)重載 (C)多態(tài)性(D)封裝二、讀程序回答問題(每個(gè)選擇3分,共45分).有下列程序:#include<stdio.h>intf(intm){staticintx[3]={2,3,4);inti;for(i=0;i<3;i++)x[i]+=x[i]-m;for(i=0;i<3;i++)printf("%d,",x[i]);printf("\n");retum(x[m]);
voidmain(){inty=l;f(f(y));}(1)第一次調(diào)用f函數(shù)的結(jié)果是(26)o(D)3,5,7,(D)5,7,9,26(A)5,7,9, (B)1,5,9,(D)3,5,7,(D)5,7,9,(2)第二次調(diào)用f函數(shù)的結(jié)果是(27)o27(A)3,5,7, (B)1,5,9, (C)0,1,3,.讀下列程序,運(yùn)行時(shí)輸入:Thisisabook!#include<stdio.h>intchange(char*c,intfg){if(*c=='')LI:return1;elseif(fg&&*c<='z'&&*c>='a')*c+='A'-'a';return0;)voidmain()(intflag=1;charch;
do{ch=getchar();flag=change(&ch,flag);putchar(ch);}while(ch!='\n');(1)程序的運(yùn)行結(jié)果是(C)o(B)thisIsABook!(D)ThisIsaBook!(B)thisIsABook!(D)ThisIsaBook!(C)ThisIsABook!⑵與LI:return1等效描述的為(D)o(D)29(A)return0 (B)return-1 (C)return1-1(D)return!(-l)3.讀下列程序,回答問題。(28)0#include"iostream.h"intsb(int*s,inty){staticinti=3;y=s[i-];returny;)voidmain(){ints[]={1,2,3,4);inti,x=0;for(i=0;i<4;i++){x=sb(s,x);cout?x?',';)cout?endl;)(1)程序結(jié)束后i的值為(A)o30(A)4 (B)0 (C)2 (D)1(2)該程序的輸出結(jié)果是(D)o31(A)1,2,3,4, (B)2,3,4,1, (C)3,4,1,2, (D)4,3,2,1,4.讀下列程序,回答問題。#include"iostream.h"voidmain(){char*s="213142";inta=0,b=0,c=0,d=0;intk;for(k=0;s[k];k++)switch(s[k]){default:d++;case'1':a++;case3:C++;case'2':b++;cout?"a="?a?",b="?b?",c="?c<<",d="?d?endl;(1)該程序運(yùn)行結(jié)束時(shí),k的值是(C)o32(A)8 (B)7 (C)6 (D)5(2)該程序的輸出結(jié)果是(C)o33(A)a=4,b=5,c=4,d=l (B)a=4,b=9,c=3,d=l(C)a=3,b=6,c=4,d=l (D)a=8,b=8,c=8,d=85.下列程序運(yùn)行的結(jié)果為(B)o#include"stdio.h"voidfun(char*s){chart;if(*s){t=*s++;fun(s);if(t!='\O')
putchar(t);))voidmain(){char*a="1234";fun(a);
34(A)1234(B)4321(C)132434(A)1234(B)4321(C)1324(D)42316.讀下列程序,回答問題。#include"stdio.h"voidsub1(chara,charb){charc;c=a;a=b;b=c;)voidsub2(char*a,charb){charc;c=*a;*a=b;b=c;}voidsub3(char*a,char*b){charc;c=*a;*a=*b;*b=c;)voidmain(){chara,b;a='A';b='B';sub3(&a,&b);putchar(a);putchar(b);sub2(&a,b);putchar(a);putchar(b);subl(a,b);putchar(a);putchar(b);(1)程序中調(diào)用完函數(shù)sub3后,輸出為(C)o(A)AB (B)ABBA(C)BA (D)BAAB(2)該程序的最終輸出結(jié)果為(D)o(A)ABBBAB(B)ABBBBB(C)BABABA(D)BAAAAA.讀以下程序,并回答問題。#include<stdio.h>unionbt(inta;intb[2];}voidfun(unionbt*c)(c->a=-7;c->b[0]=9;c->b[l]=8;);voidmain()(unionbtc;fun(&c);
printf("%d\n",c.a);(1)程序的輸出結(jié)果為(B)。(D)7則程序的輸出結(jié)果為(D)736(A)8 (B)9(D)7則程序的輸出結(jié)果為(D)7(2)若將程序中的所有的union換成struct,(C)o37(A)8 (B)9 (C)-7.讀程序,回答問題。include<stdio.h>include<stdlib.h>voidmain(intargc,char*argv[])(FILE*fp;voidfun(FILE*fp);inti=l;while(—argc>0)if((fp=fopen(argv[i++],"r"))==NULL){printf("Cannotopenfile!\n");exit(O);else{fun(fp);fclose(fp);)voidfun(FILE*fp)charc;c=fgetc(fp);while((c!=EOF)){if(c>='A'&&c<='Z')putchar(c);elseif(c>='a'&&c<='z')putchar(c-('a'-'A'));c=fgetc(fp);})上述C程序經(jīng)編譯、連接后生成一個(gè)可執(zhí)行文件,文件名為ex2_8。假設(shè)磁盤上有兩個(gè)文本文件filel.txt和file2.txt,filel.txt的內(nèi)容為SiChuan,file2.txt的內(nèi)容為Testo若在DOS提示符下鍵入:ex2_8file.txtfile2.txt<回車〉,則程序的運(yùn)行結(jié)果為(B)o39(A)SICHUAN(B)SICHUANTEST(C)SiChuanTest(D)TEST.下面程序的輸出是(D)o#include"stdio.h"intfun(charvalue,intn){value?=n-1;value&=0x01;retum(value);voidmain(){charc=13;printf("%d\n",fun(c,2));)40(A)13 (B)1 (C)3 (D)0注意:①請把下面“程序填空”中各小題答案寫在主觀題答題紙上
②每一個(gè)空只填一個(gè)語句或一個(gè)語句所缺的部分內(nèi)容三、程序填空(每空2分,共30分).下面程序是一個(gè)求數(shù)組元素之和的程序。主程序中定義并初始化了一個(gè)數(shù)組,然后計(jì)算該數(shù)組各元素之和,并輸出結(jié)果。函數(shù)Sum計(jì)算數(shù)組元素之和。請完成下列程序。#include<iostream.h>intTotalSum(int[],int);voidmain(){inta[5]={2,3,6,8,10};intTotal;Tota-TOTALSUM(A,5);count?"Aumofarray:"② TOTAL?endl;intTotalSum(intarray[],intlen){intsum=O;for(inti=O;i<len;i++)③SUM+=ARRAY「I1returnsum;)2.輸入一個(gè)8位二進(jìn)制數(shù),將其轉(zhuǎn)換為十進(jìn)制數(shù)輸出。#include"iostream.h"doublepower(doublex,intn);voidmain(void){inti;intvalue=0;charch;cout?"Enteran8bitbinarynumberfor(i=7;i>=0;i-){cin?ch;if(① CH==1)value+*POWER(2,Dcout?"decimalvalueis"?value?endl;doublepower(doublex,intn){doubleval=1.0;while(n—)③VALUE=VALUE*X;retum(val);)3.以下程序是判斷輸入的字符串是否是“回文”(順讀和倒讀都一樣的字符串叫回文,如level),請?zhí)羁?。include"stdio.h"include"string.h"voidmain()(chars[81],*pl,*p2;intn;gets(s);n=strlen(s);pl=s;y2=?S+N-l;while(②*P1!='\O'){if(*pl!=*p2)break;else{pl++;(3)P2-;}if(pl<p2)printf("No\n");elseprintf("Yes\n");}4.下面程序功能是檢查一個(gè)4階矩陣是否對稱(即對所有的i,j,都有num[i][j]=num[j][i]),請?zhí)羁铡?include<stdio.h>voidmain()(intnum[4][4];inti,j,flag=O;printf("Inputarraynum:\n");for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d",Q&NUMIHIJ]);for(i=0;i<4;i++)for(j=0;j<4;j++)if(②NUM川1!=NUM-1H){flag=1;break;}if(③)printf("No\n");elseprintf("Yes\n");)5.下面程序的功能是從鍵盤輸入一字符串,將該字符串與一文本文件進(jìn)行比較,打印出也之相同的行的行號(hào)和內(nèi)容。voidcomp()用于文件的比較,文件名用命令行參數(shù)提供。請?zhí)羁?。include"stdio.h"include"string.h"include"stdlib.h"FILE*fp;voidcomp(char*string)intline=0;charstr[100];(D {fgets(str,100,fp);str[strlen(str)-1]='\0';line++;printf("%d:%s\n",line,str);))voidmain(intargc,char**argv){charstring[100];if(argc!=2){printf("Error\n");exit(O);if(fp=^)==null){printf("Can'topenfile%s!\n",argv[l]);exit(O);)printf("PleaseinputthestringAn");gets(string);comp(string);fclose(fp);)第二十次等級(jí)考試二級(jí)(C與C++語言)筆試試卷時(shí)間:2004年4月10日上午9:00—11:00第一部分
軟件技術(shù)基礎(chǔ)
(共15分)一、是非判斷題(每小題1分,共10分).數(shù)據(jù)元素是數(shù)據(jù)的基本單位,數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小單位。(1).棧是特殊的線性表,須用一組地址連續(xù)的存儲(chǔ)單元來存儲(chǔ)其元素。.引入虛擬存儲(chǔ)技術(shù)后,邏輯內(nèi)存總?cè)萘渴怯傻刂房偩€的位數(shù)確定的。(3).編譯程序是一種常用的應(yīng)用軟件。(4).順序文件和鏈接文件的長度都可以動(dòng)態(tài)變化。(5).在文件系統(tǒng)中彩目錄管理文件。(6).允許多用戶在其終端上同時(shí)交互地使用計(jì)算機(jī)的操作系統(tǒng)稱為實(shí)時(shí)系統(tǒng)。(7).程序、數(shù)據(jù)、和程序控制塊是構(gòu)成一個(gè)進(jìn)程的三要素。(8).黑盒測試時(shí),既要考慮程序的內(nèi)部邏輯結(jié)構(gòu)又要考慮其外部特性。(9).軟件的總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)都要用PAD圖形工具。(10)二、單項(xiàng)選擇題(每小題1分,共5分).允許用戶把若干作業(yè)提交計(jì)算機(jī)系統(tǒng)集中處理的操作系統(tǒng)稱為(11)o(A)分時(shí)操作系統(tǒng) (B)實(shí)時(shí)操作系統(tǒng)(C)網(wǎng)絡(luò)操作系統(tǒng) (D)批處理操作系統(tǒng)2.分配到必要資源并獲得了處理機(jī)時(shí)的進(jìn)程的狀態(tài)稱為(12)o12(A)就緒狀態(tài)12(A)就緒狀態(tài)(B)執(zhí)行狀態(tài)(C)等待狀態(tài)(D)阻塞狀態(tài)3.利用通道技術(shù)可以在(3.利用通道技術(shù)可以在(13 )之間直接交換數(shù)據(jù)。13(A)13(A)內(nèi)存與CPU(B)CPU與外設(shè)(C)(C)內(nèi)存與外設(shè)(D)內(nèi)存、CPU和外設(shè)三者4.以下的準(zhǔn)則中哪個(gè)不是軟件設(shè)計(jì)的準(zhǔn)則(14)o14(A)編程語言選擇準(zhǔn)則 (B)信息屏蔽準(zhǔn)則(C)結(jié)構(gòu)化和模塊化準(zhǔn)則 (D)抽象準(zhǔn)則5.有一數(shù)列:97657613294958經(jīng)過一趟排序后得到:65971376294958 請問使用的是何種排序方法(15)o15(A)簡單插入排序 (B)冒泡排序(C)2路歸并排序 (D)快速排序第二部分C與C++語言程序設(shè)計(jì)(共85分)一、單項(xiàng)選擇題(每小題1分,共10分).定義如下枚舉類型:enumDay{Monday,Tuesday,Wednesday,Thursday,Friday=2};則下列語句正確的是(A)o16(A)表達(dá)式Wednesday==Friday的值是trueenumDayday;day=3;enumDayday;day=Tuesday-3;enumDayday;day=Monday+10;.下列程序片段的輸出結(jié)果是(B)ointm=4;do{printf("%d,",m-=3);}while(!(—m));17(A)1 (B)1,-3, (C)3,0 (D)死循環(huán).執(zhí)行下列程序片段時(shí)的輸出結(jié)果是(C)ointx,y;x=3;y=5;printf("%d",x%=(y/=2));18(A)3 (B)2 (C)1 (D)0.對于下述程序,判斷正確的是(19)o#include<stdio.h>voidf(int*p){*p=10;}int*p;voidmain(){f(P);printf("%d",(*p)++);)19(A)輸出的值是隨機(jī)值 (B)運(yùn)行時(shí)出錯(cuò)(C)輸出值為10 (D)輸出值為11.下列程序運(yùn)行的結(jié)果是(20)。defineFU(y)2.8+ydefinePR(a)printf("%d",(int)(a))definePRINT(a)PR(a);include<stdio.h>voidmain(){intx=2;PRINT(FU(5)*x);}20(A)12 (B)14 (C)13 (D)15.下列程序運(yùn)行的結(jié)果是(21)o#include<stdio.h>voidmain(){inta[l0]={9,8,7,6,5,4,321,0},*p=a+4;printf("%d",*++p);printf("%d",++*p);)21 (A)4,3 (B)4,6 (C)5,5 (D)4,5.關(guān)于對類要領(lǐng)的描述中,錯(cuò)誤的是(22)o22(A)類就是C語言中的結(jié)構(gòu)類型(B)類是創(chuàng)建對象的樣板(C)類是具有共同行為的若干對象的統(tǒng)一描述體(D)類是抽象數(shù)據(jù)類型的實(shí)現(xiàn).已知inta=9,b=4;將a-b的值輸出顯示到屏幕上,下列各種實(shí)現(xiàn)方法中,正確的是(23)o23(A)cout?a?'-'?b?endl(B)cout?"a-b"?endl(C)cout?a-b?endl (D)cout?"%d\n",a-b.下列循環(huán)語句會(huì)進(jìn)入死循環(huán)的是(24)o24(A)i=0;do{i++;}while(i==100); (B)for(i=0;i<100;i+=3.14);(C)for(i=0;;i+=2); (D)k=l;do{k-;}while(k);.下面程序運(yùn)行的結(jié)果是(25)o#include<stdio.h>intfun(char*str)intn=0;while(*str>="O'&&*str<='9'){n=n*10+*str-'l';str++;}returnn;)voidmain(){printf("%d\n",fun("567.89"));}25 (A)89 (B)567.89 (C)567 (D)456二、讀程序回答問題(每個(gè)選擇3分,共45分)。.有下列程序:#include<iostream.h>voidmain(){inta,b,c,x;a=b=c=0;for(inti=0;i<10;i++){cin?x;switch(x%3){case0:a+=x;break;b+=x;break;c+=x;break;
cout?a?','?b?','?c?endl;2345678910(B)18,22,15(D)9,10,8(B)switch(x%3=0)(D)他們都不相同2345678910(B)18,22,15(D)9,10,8(B)switch(x%3=0)(D)他們都不相同①程序運(yùn)行的結(jié)果是(26)o26(A)3,12,21(C)3,4,3②switch(x%3)與(27)相同。27(A)switch(!(x%3)!=0)(C)switch(x%3!=0)2.有下列程序:#include<stdio.h>voidmain()(char*str[]={"One","Two","Three","Four"};char=str;inti;for(i=0;i<3;i++)printf("%s",(ptr+l)[i]);}①為程序中空白處選擇填空(28)o28(A)**ptr(B)*ptr (C)ptr[] (D)&ptr②運(yùn)行結(jié)果是(29)o
29(A)newohree(B)Two(C)TwoThreeFour29(A)newohree(B)Two(C)TwoThreeFour(D)指針運(yùn)行非法,無輸出.讀下列程序,回答問題。#include<iostream.h>voidmain(void)(intm,n;doublex,y;intdivide(intm,intn);doubledivide(intm,doubley);doubledivide(doublex,doubley);cout?"Entertwointegerandtworealnumber:";cin?m?n?x?y;LI:cout?divide(m,n)?endl;L2:cout?divide(n,x)?endl;L3:cout?divede(x,y)?endl;)intdivide(intm,intn){returnm/n;}doubledivide(intm,doubley){returnm/(int)y;}doubledivide(doublex,doubley){returnx/y;}①輸入數(shù)據(jù)727.02.0,語句L1輸出結(jié)果是(3030(A)0②輸入數(shù)據(jù)7(B)127.02.0,(C)3 (D)3.5語句L2輸出結(jié)果是(31)031(A)0③輸入數(shù)據(jù)7(B)127.02.0,(C)3 (D)3.5語句L3輸出結(jié)果是(32)032(A)0(B)1(C)3 (D)3.5. #include<stdio.h>voidmain(){unsignedinta=0112,x,y,z;x=a?3;y=~(-0?4);z=x&y;printf("%o%o%o\n",x,y,z);printf("%x\n",!(x&&y&&z));)該程序中執(zhí)行第一個(gè)printf函數(shù)后,輸出為(33)。33(A)ll1711 (B)171117 (C)111717 (D)171711該程序中執(zhí)行第二個(gè)printf函數(shù)后,輸出為(3434(A)171 (B)0112 (C)1 (D)0.以下程序運(yùn)行的結(jié)果為(35)o#include<stdio.h>voidswapl(inta,intb){inttemp;temp=a;a=b;b=temp;)voidswap2(int&a,int&b){inttemp;temp=a;a=b;b=temp;)voidmain(){inti=3,j=5;swapl(i,j);printf("%d%d\n",i,j);swap2(i,j);printf("%d%d\n",i,j);)35(A)35 (B)53 (C)53 (D)3535 53 35 536.讀下列遞歸程序,回答問題。#include<stdio.h>voidfun(char*strp){char*t;if(*strp){t=strp;t++;fun(t);putchar(*strp);}}voidmain(){inti,a[10]={0,l,2,3,4,5,6,7,8,9);charstr[l1];for(i=0;i<10;i++)str[i]=a[i]+'O';str[i]='\O';fun(str);}程序中的fun函數(shù)被調(diào)用(36)次。36(A)9 (B)10 (C)11 (D)12程序的輸出結(jié)果為(37)o37(A)0123456789(B)9876543210(C)01234 (D)9876556789 432107.讀下列C程序,若輸入字符串Examination,請選擇正確的輸出結(jié)果。#include<stdio.h>voidmain(){charstr[20];inti=0;staticintcount[2]={0};gets(str);do{switch(str[i++])(case'a':case'A':case'e':case'E':case'i':caseT:case'o':case'O':case'u':case'U':count[0]++;/*break;*/default:count[l]++;)}while(str[i]!='\O');printf("count[0]=%d,count[1]=%d\n",count[0],count[1]);)程序的輸出結(jié)果為(38)o38(A)count[0]=6,count[1]=11 (B)count[0]=6,count[1]=12(C)count[0]=5,count[1]=11 (D)count[0]=5,count[1]=12若將程序中注釋語句的注釋標(biāo)記去掉,則程序的輸出結(jié)果為(39)o39(A)count[0]=6,count[1]=11 (B)count[0]=6,count[1]=5(C)count[0]=5,count[1]=11 (D)count[0]=6,count[1]=68.下面程序輸出的結(jié)果為(40)o#include<iostream.h>inta=5;voidmain(){inta=3;a++;cout?a?::a;)程序中的fun函數(shù)被調(diào)用(36)次。40(A)54 (B)45 (C)53 (D)44注意:①請把下面“程序填空”中各小題答案寫在主觀題答題紙上
②每一個(gè)空只填一個(gè)語句或一個(gè)語句所缺的部分內(nèi)容三、程序填空(每空2分,共30分).下列程序?qū)崿F(xiàn)將一個(gè)整數(shù)字符串轉(zhuǎn)換為一個(gè)整數(shù)。include<string.h>include<stdio.h>intFun(char*str){intnum,digital,len; ;len=strlen(str);while(*str!=NULL)digital=*str-'O';for(inti=0;②;i++)digital*=10;len—;num+=digital;}returnnum;}voidmain(){charn[80];intnumber;gets(n);number=Fun(n);printf("%d\n",number);).尋找并輸出11~999之間的數(shù)m,它滿足m,m2,n?均為回文數(shù)(所謂回文數(shù)是指其各位數(shù)字左右對稱的整數(shù))。#include<iostream.h>voidmain(){intsymm(longn);longm;for(m=1l;m<1000;m++)if(^D )cout?"m="?m?"m*m="?m*m?"m*m*m="?m*m*m?endl;)intsymm(longn){longi,m;i=n;m=0;while(②){;i=i/10;return(m==n);.已知head指向一個(gè)單向鏈表,如卜圖:head .data >data- >???■ ?data主程序中調(diào)用add函數(shù)能求出鏈表中所有結(jié)點(diǎn)數(shù)據(jù)域的和sum并返回。structlink{intdata;structlink*next;intadd(structlink*heak){structlink*p;ints=0;p=(Dwhile(p){s+=@return(s);}voidmain(){structlink*head;…… /*表示省掉的程序段,創(chuàng)建鏈表*/sum=add(head);printf("%d\n",sum);).下面程序功能是統(tǒng)計(jì)文本data.txt中各種大寫字母的個(gè)數(shù),將統(tǒng)計(jì)結(jié)果存放在數(shù)組count中,(字母A的個(gè)數(shù)存入count。中,字母B的個(gè)數(shù)存入count"]依此類推),輸出統(tǒng)計(jì)結(jié)果,一行輸出5個(gè)。請?zhí)羁?。include<stdio.h>include<stdlib.h>voidmain(){FILE*fp;staticintcount[26]={0};inti;charch;if(CD ){printf("Cannotopenthefile!\n");exit(O);)while(!feof(fp))if(ch>='A'&&ch<='Z')count[③]++;)for(i=0;i<26;i++){if(i%5==0)printf("\n");printf("count[%d]=%-5d",count[i]);)fclose(fp);5.下面程序的功能是輸入兩個(gè)字符串a(chǎn)和b和一個(gè)標(biāo)志flag,當(dāng)flag=0時(shí),將b連在a后;當(dāng)flag=l時(shí),將a連在b后;否則返回空指針。請?zhí)羁?。include<stdio.h>include<string.h>char*stradd(char*s,char*t,intf)char*p;if(f==O){P=s;s+=strlen(s);①elseif(f==l){P=t;while(*t++);t—;while(*s)*t++=*s++;returnp;)voidmain(){chara[100],b[100],*str;intn;printf("Inputstringaandb:\n");gets(a);gets(b);printf("Inputflag:");scanf("%d",flag);str=stradd(a,b,n);printf("Output:%s\n",str);)第二十一次等級(jí)考試二級(jí)(C與C++語言)筆試試卷時(shí)間:2004年10月16日上午9:00—11:00第一部分
軟件技術(shù)基礎(chǔ)
(共15分)一、是非判斷題(每小題1分,共10分).應(yīng)用程序在執(zhí)行過程中,需要通過打印輸出數(shù)據(jù)時(shí),一般先形成一個(gè)打印作業(yè),將其存放在硬盤中的一個(gè)指定隊(duì)列中。當(dāng)打印空閑時(shí),就會(huì)按先來后服務(wù)的方式從中取出待打印的作業(yè)進(jìn)行打印。.若無進(jìn)程牌運(yùn)行狀態(tài),則就緒隊(duì)列和等待隊(duì)列均為空。.多道程序設(shè)計(jì)是指在一臺(tái)處理上迸發(fā)運(yùn)行多個(gè)程序邏輯。(3).黑盒法是軟件測試方法中的靜態(tài)測試方法之一。(4).軟件的詳細(xì)設(shè)計(jì)就是要編寫出具體的程序。(5).軟件生命周期中花費(fèi)最多的階段是軟件維護(hù)。(6).Windows是單用戶多任務(wù)操作系統(tǒng),UNIX是多用戶多任務(wù)操作系統(tǒng)。(7).進(jìn)程把程序作為它的運(yùn)行實(shí)體,沒有程序也就沒有進(jìn)程。(8).在結(jié)構(gòu)化分析中,用于描述加工邏輯的主要工具有三種,即:結(jié)構(gòu)化語言、判定表和判定樹。(9).作業(yè)調(diào)度程序從后備隊(duì)列中選一個(gè)作業(yè)裝入主存后,決定能否占用處理機(jī)的是設(shè)備調(diào)度程序。(10)二、單項(xiàng)選擇題(1分/小題,共5分).交換技術(shù)是在(11 )之間交換程序和數(shù)據(jù)。(A)主內(nèi)存與CPU (B)CPU與外設(shè)
(C)主內(nèi)存與外存 (D)外存與CPU12)o2.以下的工具中哪12)o12(A)12(A)數(shù)據(jù)流圖(C)PDA圖3.任何兩個(gè)并發(fā)進(jìn)程之間( 1313(A)一定存在互斥關(guān)系一定彼此獨(dú)立無關(guān)(B)N-S圖PDL語言(B)一定存在同步關(guān)系(D)可能存在同步或互斥關(guān)系4.進(jìn)程從運(yùn)行狀態(tài)進(jìn)入就緒狀態(tài)的原因可能是(14)o14(A)14(A)被選中占有處理機(jī)(C)等待的事件已發(fā)生5.算法指的是(15)o15(A)計(jì)算機(jī)程序(C)排序算法(B)等待某一事件(D)時(shí)間片用完(B)解決問題的有限運(yùn)算序列(D)解決問題的計(jì)算方法第二部分C與C++語言程序設(shè)計(jì)(共85分)一、單項(xiàng)選擇題(每小題1分,共10分).以下程序運(yùn)行后,輸出結(jié)果是(16)omain(){inta=l,b=2,m=0,n=0,k;k=(n=b>a)ll(m=a<b);printf("%d,%d\n”,k,m);16(A)0,0 (B)0,1 (C)1,0 (D)1,1.以下程序輸出的結(jié)果是(17)omain(){intm=5;if(m++>5)printf(''%d”,m++);else17(A)7(B)6(C)5(D)417(A)7(B)6(C)5(D)4.下列程序運(yùn)行的結(jié)果是(18)omain(){inta=10,b=ll,c=12;
printf("%d\n",a>c?a:c?d=a>b:b);18(A)11 (B)0.已知:inta,b;下列switch語句中,19(A)switch(a)(casea:a++;break;caseb:b++;break;)(C)switch(a*b)(case1,2:a+b;case3,4:a-b;10 (D)12(19)是正確的。(B)switch(a+b)10 (D)12(19)是正確的。(B)switch(a+b)(a++;b++;switch(a/10+b)(casea+b:++a;break;casea-b:-b;fl.c文件的內(nèi)容:include<stdio.h>include<f2.c>defineN3main(){inti;for(i=l;i<=N;i++)
printf(“%d,”,sum⑴);f2.c文件的內(nèi)容:sum(intn){intt;staticints=0;for(t=l;t<=n;t++)s+=t*t;return(s);程序的運(yùn)行輸出結(jié)果是(20)o20(A)1,5,14, (B)1,2,3, (C)1,6,20, (D)1,4,9,.C++中,有以下定義:inta,b;若要從鍵盤輸入變量a,b的值,則正確的輸入語句是(21)o21(A)cin?a?b;21(A)cin?a?b;(B)cin?a?b;(C)cout?a?b;((C)cout?a?b;(D)cout?a?b;.下列程序運(yùn)行的結(jié)果是(22)oinclude<stdio.h>defineswap(x,y){xA=y;yA=x;xA=y;}main(){inta=010,b=l;swap(a,b);
printfC<%d,%d\n,,,a,b);22(A)1,8 (B)8,1 (C)10,1 (D)1,108.以下scanf函數(shù)調(diào)用中對結(jié)構(gòu)體變量成員的錯(cuò)誤引用是(23)。structstudent{charname[20];intage;intsex;}stud[5],*p;p=stud;23(A)scanf(4<%s,,,stud[0].name);( B )scanf("%d”,&stud[O].age);(C)scanf("%d”,p->age); (D)scanf("%d”,&(p->sex));.在以下關(guān)于構(gòu)造函數(shù)的描述中,錯(cuò)誤的是(24)o24(A)構(gòu)造函數(shù)可以重載 (B)構(gòu)造函數(shù)可以帶缺省形參值(C)構(gòu)造函數(shù)名必須與類同名(D)構(gòu)造函數(shù)可以帶回返回值.下面對C++函數(shù)重載的描述中,錯(cuò)誤的是(25)25(A)函數(shù)名相同 (B)函數(shù)參數(shù)個(gè)數(shù)或參數(shù)類型至少有一個(gè)不同(C)(C)函數(shù)參數(shù)不可以用缺省值(D)函數(shù)返回值必須不同二、讀程序回答問題(每個(gè)選擇3分,共45分)。.下列程序運(yùn)行的結(jié)果為(26#include<stdio.h>voidfun(char*c,intd){*c=*c+l;d=d+l;printf("%c,%c,",*c,d);)main(){chara='A',b='a';fun(&b,a);printf("%c,%c\n",a,b);)26(A)B,a,B,a(B)a,B,a,B(C)A,b,A,b(D)b,B,A,b.下面程序的輸出是(27)。#include<stdio.h>voidtest(int*u,int*v){int*w;w=u;u=v;v=w;)main(){intm=3,n=6,*x=&m,*y=&n;test(x,y);printf("%d%d",m,n);)27(A)3 6 (B)6 3 (C)0 0 (D)編譯出錯(cuò).以下程序的輸出結(jié)果是(28)o#include<stdio.h>main(){intx,y;for(x=l,y=l;x<=15;x++){if(y>=20)break;if(y%3==l){y+=3;continue;)y-=io;)printf("%d,%d\n",x,y);)28(A)8,22 (B)7,20 (C)6,22 (D)5,20.fun(char*tl,char*t2)while(*t2!=0){for(i=0,j=0;tl[i];i++)if(tl[i]!=*t2)tl|j++]=tl[i];t2++;))main(){chara[]="abcde",b[]="ae";fun(a,b);puts(a);)該程序的輸出結(jié)果為(29)o29(A)abcde(B)bed(C)abedeae(D)ae.以下程序的輸出結(jié)果是(30)oinclude<stdio.h>defineFUN(y)2.84+ydefinePR(a)printf("%d",(intXa))definePRINT(a)PR(a);putchar('\n')main(){intx=2;PRINT(FUN(5)*x);30(A)11 (B)12 (C)14 (D)15.讀下列程序,回答問題。#include<stdio.h>voidsort(inta[]){inti,j,t;for(i=0;i<4;i++)for(j=0;j<4-i;j++)if(a[j]>a[j+l]){t=a[j];a[j]=a[j+l];a[j+l]=t;})main(){inta[5]={5,10,-7,3,7),i,t,j;sort(a);for(i=0;i<=4;i++)printf("%d\n",a[i]);)關(guān)于程序的說法正確的是(31)o31(A)用選擇法對數(shù)據(jù)按從小到大排列(B)用選擇法對數(shù)據(jù)按從大到小排列(C)用冒泡法對數(shù)據(jù)按從小到大排列(D)用冒泡法對數(shù)據(jù)按從大到小排列7.執(zhí)行下面程序時(shí)輸入"Iwillpasstheexam!",其輸出結(jié)果是(32)。如果將程序中的scanf("%s",s)改為gets(s);同樣輸入“Iwillpasstheexan!”,則程序的輸出結(jié)果是(33)o#include<stdio.h>intfun(chars[]){inti=0;while(s[i]!='\O')i++;returni;)voidmain(){chars[81];printf("Pleaseinputastring:\n");scanf("%s",s);printf("%d\n",fun(s));)32(A)5 (B)21 (C)1 (D)1733(A)5 (B)21 (C)1 (D)178.以下是一個(gè)C++程序include<iostream.h>classSample{intx,y;public:Sample(){x=y=O;}Sample(inta,intb){x=a;y=b;}voiddisp(){cout?"x="<<x?"y="?y?endl;})voidmain(){Samplesl,s2(2,3);sl.dispO;s2.disp();)(1)該程序主函數(shù)中sl.disp。的輸出為(34)o34(A)x=0y=0(B)x=2y=3(C)x=3y=2(D)x=ly=l(2)該程序主函數(shù)中s2dsp()的輸出為(35)o35(A)x=0y=0(B)x=2y=3(C)x=3y=2(D)x=ly=l9.讀下列程序并回答問題。include<stdio.h>voidfun(int*p,inti,intj){intt;{t=*(p+i);*(p+i)=*(p+j);*(p+j)=t;fun(p,++i,-j);main(){inta[]={l,2,3,4,5,6},i;fun(a,0,5);for(i=0;i<6;i++)printf("%d",a[i]);)(1)程序中的fun函數(shù)被調(diào)用(36)次。36(A)6 (B)5 (C)4 (D)3(2)程序的運(yùn)行結(jié)果是(37)o37(A)123456 (B)456123 (C)135246 (D)65432110.讀程序,回答問題。#include<stdio.h>main(intargc,char*argv[]){FILE*fp;intfun(FILE*);intnum,i=l;while(—argc>0)if((fp=fopen(argv[i++],"r"))==NULL){printf("Cannotopenfile!\n");exit(O);else{num=fun(fp);fclose(fp);}printf("num=%d\n",num);)intfun(FILE*fp){staticintcount=0;charc;c=fgetc(fp);while(c!=EOF){if(c>='0'&&c<='9')count++;c=fgetc(fp);)return(count);)上述C程序經(jīng)編譯、連接后生成一個(gè)名為2_3.exe的可執(zhí)行文件,假設(shè)盤上有兩個(gè)文本文件filel.dat和fne2.da3filel.dat的內(nèi)容為123abc,file2.dat的內(nèi)容為xyzABC987o(1)若在DOS提示符下鍵入:2_3filel.datfile2.dat<回車〉,則程序的運(yùn)行結(jié)果為(38)o38(A)num=3(B)num=4(C)num=5(D)num=6(2)若將fun函數(shù)中對count的定義staticintcount=0;改為intcount=0;其余條件不變,則在DOS提示符下鍵入:2_3filel.datfile2.dat<回車〉,則程序的運(yùn)行結(jié)果為(39)o39(A)num=3(B)num=4(C)num=5(D)num=6(3)若將fun函數(shù)中對count的定義staticintcount=0;改為intcount;其余條件不變,則在DOS提示符下鍵入:2_3filel.datfile2.dat<回車〉,則程序的運(yùn)行結(jié)果為(40)o40(A)num=4(B)num=5(C)num=6(D)隨機(jī)值注意:①請把下面“程序填空”中各小題答案寫在主觀題答題紙上
②每一個(gè)空只填一個(gè)語句或一個(gè)語句所缺的部分內(nèi)容三、程序填空(每空2分,共30分).以下程序能創(chuàng)建一張包含有4名學(xué)生信息的單向鏈表并輸出。include<stdio.h>include<malloc.h>#defineLENsizeof(structstudent)structstudent{intdata;01 ;);intnum=1;structstudent*creat(){structstudent*head,*p1,*p2;head=p1=p2=(structstudent*)malloc(LEN);scanf("%d",&p1->data);while(num<4){pl=(structstudent*)malloc(LEN);scanf("%d",&p1->data);p2=p1;num++;)p2->next=NULL;return(head);)main(){structstudent*head,*p;head=creat();p=head;if(head!=NULL)do{printf("%d",p->data); ;}while(p!=NULL);)2.下面程序功能是在一個(gè)字符串中找出最大的字符并放在第一個(gè)位置上,并將該字符前的原字符往后順序移動(dòng),如:cbyab變成ycbab。include<stdio.h>include<string.h>main(){charstr[80],*p=str,*q,max;gets(p);max=*(p++);while如p!=0){if(max<*p){max=*p;①P++;)p=q;while(②){ *p=*(p-l);p-;} ;puts(p);)3.以下程序能統(tǒng)計(jì)低于平均成績的人數(shù),并將低于平均成績的分?jǐn)?shù)存放到below數(shù)組中。#include<stdio.h>intfun(intscore[],intm,intbelow[]){inti,k=O,aver=O;for(i=0;i<m;i++)①aver/=m;for(i=0;i<m;i++)if(score[i]<aver)k++;)return(k);)main(){inti,n,below[9];intscore[9]={10,20,30,40,50,60,70,80,90);n=^;printf("%d\n",n);printf("Belowtheaveragescoerare:\n");for(i=0;i<n;i++)printf("%d",below[i]);.下面程序的功能是求出數(shù)組a的兩條對角線上的元素之和。#include<stdio.h>main(){inta[3][3]={1,3,6,7,9,11,14,15,17};intsum1=0,sum2=0,i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)if(①)suml+=a[i][j];for(i=0;i<3;i++)for(②;③;j-)if(i+j==2)sum2+=a[i][j];printf("suml=%d,sum2=%d\n",sum1,sum2);).將三個(gè)職工的數(shù)據(jù)(編號(hào),姓名,年齡)從鍵盤輸入,存放到一個(gè)新建的二進(jìn)制文件employee中去。#include<stdio.h>main(){FILE*fp;structemployee{longcode;charname[20];intage;}em;intk;if<(fp=fopen("employee",①))==NULL){printf("error\n");exit(O);)for(k=0;k<3;k++){scanf("%ld%s%d",&em.code,,&em.age);fwrite(②,sizeof(structemployee),③,fp);}fclose(fp);return(l);)第二十一次等級(jí)考試二級(jí)(C與C++語言)筆試試卷時(shí)間:2004年10月16日上午9:00—11:00第一部分
軟件技術(shù)基礎(chǔ)
(共15分)一、是非判斷題(每小題1分,共10分).應(yīng)用程序在執(zhí)行過程中,需要通過打印輸出數(shù)據(jù)時(shí),一般先形成一個(gè)打印作業(yè),將其存放在硬盤中的一個(gè)指定隊(duì)列中。當(dāng)打印空閑時(shí),就會(huì)按先來后服務(wù)的方式從中取出待打印的作業(yè)進(jìn)行打印。(1).若無進(jìn)程牌運(yùn)行狀態(tài),則就緒隊(duì)列和等待隊(duì)列均為空。(2).多道程序設(shè)計(jì)是指在一臺(tái)處理上迸發(fā)運(yùn)行多個(gè)程序邏輯。(3).黑盒法是軟件測試方法中的靜態(tài)測試方法之一。(4).軟件的詳細(xì)設(shè)計(jì)就是要編寫出具體的程序。(5).軟件生命周期中花費(fèi)最多的階段是軟件維護(hù)。(6).Windows是單用戶多任務(wù)操作系統(tǒng),UNIX是多用戶多任務(wù)操作系統(tǒng)。(7).進(jìn)程把程序作為它的運(yùn)行實(shí)體,沒有程序也就沒有進(jìn)程。(8).在結(jié)構(gòu)化分析中,用于描述加工邏輯的主要工具有三種,即:結(jié)構(gòu)化語言、判定表和判定樹。(9)
.作業(yè)調(diào)度程序從后備隊(duì)列中選一個(gè)作業(yè)裝入主存后,決定能否占用處理機(jī)的是設(shè)備調(diào)度程序(10)二、單項(xiàng)選擇題(1分/小題,共5分).交換技術(shù)是在(11 )之間交換程序和數(shù)據(jù)。11(A)11(A)主內(nèi)存與CPU(B)CPU與外設(shè)(C)(C)主內(nèi)存與外存(D)外存與CPU.以下的工具中哪個(gè)不是軟件詳細(xì)設(shè)計(jì)中使用的工具(12)o(B)N-S圖12(A)(B)N-S圖(C)PDA圖(D)PDL(C)PDA圖.任何兩個(gè)并發(fā)進(jìn)程之間(13(A)13(A)一定存在互斥關(guān)系(B)一定存在同步關(guān)系(C)一定彼此獨(dú)立無關(guān)(C)一定彼此獨(dú)立無關(guān)(D)可能存在同步或互斥關(guān)系.進(jìn)程從運(yùn)行狀態(tài)進(jìn)入就緒狀態(tài)的原因可能是(14)o14(A)被選中占有處理機(jī)(14(A)被選中占有處理機(jī)(B)等待某一事件(C)等待的事件已發(fā)生(D)時(shí)間片用完.算法指的是(15)o15(A)計(jì)算機(jī)程序(B)解決問題的有限運(yùn)算序列(C)排序算法(D)解決問題的計(jì)算方法第二部分
C與C++語言程序設(shè)計(jì)
(共85分)一、單項(xiàng)選擇題(每小題1分,共10分)1.以下程序運(yùn)行后,輸出結(jié)果是(16)omain(){inta=l,b=2,m=0,n=0,k;k=(n=b>a)ll(m=a<b);printf(''%d,%d\n”,k,m);)(D)1,116(A)0,0 (B)0,1 (C)1,0(D)1,12.以下程序輸出的結(jié)果是(17)omain(){intm=5;if(m++>5)printf("%d”,m++);elseprintf("%d,,,m—);)(D)417(A)7 (B)6(D)4.下列程序運(yùn)行的結(jié)果是(18)omain(){inta=10,b=ll,c=12;1010 (D)12(19)是正確的。(B)switch(a+b)(a++;b++;switch(a/10+b)(casea+b:++a;break;casea-b:-b;printf("%d\n",a>c?a:c?d=a>b:b);18(A)11 (B)0.已知:inta,b;下列switch語句中,19(A)switch(a)(casea:a++;break;caseb:b++;break;)(C)switch(a*b)(case1,2:a+b;case3,4:a-b;5.下列程序由兩個(gè)件fl.c和f2.c組成。fl.c文件的內(nèi)容:include<stdio.h>include<f2.c>defineN3main(){inti;for(i=l;i<=N;i++)
printf(“%d,”,sum⑴);f2.c文件的內(nèi)容:sum(intn){intt;staticints=0;for(t=l;t<=n;t++)s+=t*t;return(s);程序的運(yùn)行輸出結(jié)果是(20)o20(A)1,5,14, (B)1,2,3, (C)1,6,20, (D)1,4,9,.C++中,有以下定義:inta,b;若要從鍵盤輸入變量a,b的值,則正確的輸入語句是(21)o21(A)cin?a?b;21(A)cin?a?b;(B)cin?a?b;(C)cout?a?b;((C)cout?a?b;(D)cout?a?b;.下列程序運(yùn)行的結(jié)果是(22)oinclude<stdio.h>defineswap(x,y){xA=y;yA=x;xA=y;}main(){inta=010,b=l;swap(a,b);
printfC<%d,%d\n,,,a,b);22(A)1,8 (B)8,1 (C)10,1 (D)1,108.以下scanf函數(shù)調(diào)用中對結(jié)構(gòu)體變量成員的錯(cuò)誤引用是(23)。structstudent{charname[20];intage;intsex;}stud[5],*p;p=stud;23(A)scanf(4<%s,,,stud[0].name);( B )scanf("%d”,&stud[O].age);(C)scanf("%d”,p->age); (D)scanf("%d”,&(p->sex));.在以下關(guān)于構(gòu)造函數(shù)的描述中,錯(cuò)誤的是(24)o24(A)構(gòu)造函數(shù)可以重載 (B)構(gòu)造函數(shù)可以帶缺省形參值(C)構(gòu)造函數(shù)名必須與類同名(D)構(gòu)造函數(shù)可以帶回返回值.下面對C++函數(shù)重載的描述中,錯(cuò)誤的是(25)25(A)函數(shù)名相同 (B)函數(shù)參數(shù)個(gè)數(shù)或參數(shù)類型至少有一個(gè)不同(C)(C)函數(shù)參數(shù)不可以用缺省值(D)函數(shù)返回值必須不同二、讀程序回答問題(每個(gè)選擇3分,共45分)。.下列程序運(yùn)行的結(jié)果為(26#include<stdio.h>voidfun(char*c,intd){*c=*c+l;d=d+l;printf("%c,%c,",*c,d);)main(){chara='A',b='a';fun(&b,a);printf("%c,%c\n",a,b);)26(A)B,a,B,a(B)a,B,a,B(C)A,b,A,b(D)b,B,A,b.下面程序的輸出是(27)。#include<stdio.h>voidtest(int*u,int*v){int*w;w=u;u=v;v=w;)main(){intm=3,n=6,*x=&m,*y=&n;test(x,y);printf("%d%d",m,n);)27(A)3 6 (B)6 3 (C)0 0 (D)編譯出錯(cuò).以下程序的輸出結(jié)果是(28)o#include<stdio.h>main(){intx,y;for(x=l,y=l;x<=15;x++){if(y>=20)break;if(y%3==l){y+=3;continue;)y-=io;)printf("%d,%d\n",x,y);)28(A)8,22 (B)7,20 (C)6,22 (D)5,20.fun(char*tl,char*t2)while(*t2!=0){for(i=0,j=0;tl[i];i++)if(tl[i]!=*t2)tl|j++]=tl[i];t2++;))main(){chara[]="abcde",b[]="ae";fun(a,b);puts(a);)該程序的輸出結(jié)果為(29)o29(A)abcde(B)bed(C)abedeae(D)ae.以下程序的輸出結(jié)果是(30)oinclude<stdio.h>defineFUN(y)2.84+ydefinePR(a)printf("%d",(intXa))definePRINT(a)PR(a);putchar('\n')main(){intx=2;PRINT(FUN(5)*x);30(A)11 (B)12 (C)14 (D)15.讀下列程序,回答問題。#include<stdio.h>voidsort(inta[]){inti,j,t;for(i=0;i<4;i++)for(j=0;j<4-i;j++)if(a[j]>a[j+l]){t=a[j];a[j]=a[j+l];a[j+l]=t;})main(){inta[5]={5,10,-7,3,7),i,t,j;sort(a);for(i=0;i<=4;i++)printf("%d\n",a[i]);)關(guān)于程序的說法正確的是(31)o31(A)用選擇法對數(shù)據(jù)按從小到大排列(B)用選擇法對數(shù)據(jù)按從大到小排列(C)用冒泡法對數(shù)據(jù)按從小到大排列(D)用冒泡法對數(shù)據(jù)按從大到小排列7.執(zhí)行下面程序時(shí)輸入"Iwillpasstheexam!",其輸出結(jié)果是(32)。如果將程序中的scanf("%s",s)改為gets(s);同樣輸入“Iwillpasstheexan!”,則程序的輸出結(jié)果是(33)o#include<stdio.h>intfun(chars[]){inti=0;while(s[i]!='\O')i++;returni;)voidmain(){chars[81];printf("Pleaseinputastring:\n");scanf("%s",s);printf("%d\n",fun(s));)32(A)5 (B)21 (C)1 (D)1733(A)5 (B)21 (C)1 (D)178.以下是一個(gè)C++程序include<iostream.h>classSample{intx,y;public:Sample(){x=y=O;}Sample(inta,intb){x=a;y=b;}voiddisp(){cout?"x="<<x?"y="?y?endl;})voidmain(){Samplesl,s2(2,3);sl.dispO;s2.disp();)(1)該程序主函數(shù)中sl.disp。的輸出為(34)o34(A)x=0y=0(B)x=2y=3(C)x=3y=2(D)x=ly=l(2)該程序主函數(shù)中s2dsp()的輸出為(35)o35(A)x=0y=0(B)x=2y=3(C)x=3y=2(D)x=ly=l9.讀下列程序并回答問題。include<stdio.h>voidfun(int*p,inti,intj){intt;{t=*(p+i);*(p+i)=*(p+j);*(p+j)=t;fun(p,++i,-j);main(){inta[]={l,2,3,4,5,6},i;fun(a,0,5);for(i=0;i<6;i++)printf("%d",a[i]);)(1)程序中的fun函數(shù)被調(diào)用(36)次。36(A)6 (B)5 (C)4 (D)3(2)程序的運(yùn)行結(jié)果是(37)o37(A)123456 (B)456123 (C)135246 (D)65432110.讀程序,回答問題。#include<stdio.h>main(intargc,char*argv[]){FILE*fp;intfun(FILE*);intnum,i=l;while(—argc>0)if((fp=fopen(argv[i++],"r"))==NULL){printf("Cannotopenfile!\n");exit(O);else{num=fun(fp);fclose(fp);}printf("num=%d\n",num);)intfun(FILE*fp){staticintcount=0;charc;c=fgetc(fp);while(c!=EOF){if(c>='0'&&c<='9')count++;c=fgetc(fp);)return(count);)上述C程序經(jīng)編譯、連接后生成一個(gè)名為2_3.exe的可執(zhí)行文件,假設(shè)盤上有兩個(gè)文本文件filel.dat和fne2.da3filel.dat的內(nèi)容為123abc,file2.dat的內(nèi)容為xyzABC987o(1)若在DOS提示符下鍵入:2_3filel.datfile2.dat<回車〉,則程序的運(yùn)行結(jié)果為(38)o38(A)num=3(B)num=4(C)num=5(D)num=6(2)若將fun函數(shù)中對count的定義staticintcount=0;改為intcount=0;其余條件不變,則在DOS提示符下鍵入:2_3filel.datfile2.dat<回車〉,則程序的運(yùn)行結(jié)果為(39)o39(A)num=3(B)num=4(C)num=5(D)num=6(3)若將fun函數(shù)中對count的定義staticintcount=0;改為intcount;其余條件不變,則在DOS提示符下鍵入:2_3filel.datfile2.dat<回車〉,則程序的運(yùn)行結(jié)果為(40)o40(A)num=4(B)num=5(C)num=6(D)隨機(jī)值注意:①請把下面“程序填空”中各小題答案寫在主觀題答題紙上
②每一個(gè)空只填一個(gè)語句或一個(gè)語句所缺的部分內(nèi)容三、程序填空(每空2分,共30分).以下程序能創(chuàng)建一張包含有4名學(xué)生信息的單向鏈表并輸出。include<stdio.h>include<malloc.h>#defineLENsizeof(structstudent)structstudent{intdata;01 ;);intnum=1;structstudent*creat(){structstudent*head,*p1,*p2;head=p1=p2=(structstudent*)malloc(LEN);scanf("%d",&p1->data);while(num<4){pl=(structstudent*)malloc(LEN);scanf("%d",&p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 冷庫租賃合同:科研機(jī)構(gòu)樣本冷藏
- 2024年私家車位出售合同3篇
- 昆明市二手房交易交通補(bǔ)貼合同
- 《班級(jí)經(jīng)營分享》課件
- 供應(yīng)鏈金融票據(jù)交易規(guī)則
- 2024新能源公交車運(yùn)營外包合同
- 2024年用工單位勞務(wù)外包服務(wù)合同樣本版B版
- 二零二五年廚房設(shè)備生產(chǎn)、銷售及售后服務(wù)合同3篇
- 燃?xì)饩呤褂冒踩嘤?xùn)計(jì)劃編制指南
- 水務(wù)公司供電協(xié)議制定
- 2024年江蘇南京金陵中學(xué)特長生選拔考試數(shù)學(xué)試題(含答案詳解)
- 2024-2030年中國水培蔬菜行業(yè)發(fā)展分析及發(fā)展前景與趨勢預(yù)測研究報(bào)告
- 水電站大壩土建安裝工程懸臂模板施工手冊
- 2024年上海商學(xué)院招考聘用高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- AQ/T 1119-2023 煤礦井下人員定位系統(tǒng)通 用技術(shù)條件(正式版)
- 基本公共衛(wèi)生服務(wù)項(xiàng)目-中醫(yī)藥健康管理服務(wù)規(guī)范培訓(xùn)課件
- 生理學(xué)重點(diǎn)復(fù)習(xí)資料全
- 初中生理想信念教育班會(huì)(3篇模板)
- 2024年上海市奉賢區(qū)中考一模英語試題(含答案解析)
- 農(nóng)產(chǎn)品加工與貯藏原理復(fù)習(xí)資料
- Unit1WhatsthematterSectionB2a-2e教學(xué)設(shè)計(jì)人教版八年級(jí)英語下冊
評論
0/150
提交評論