四川省計(jì)算機(jī)二級(jí)C語(yǔ)言試題(集)_第1頁(yè)
四川省計(jì)算機(jī)二級(jí)C語(yǔ)言試題(集)_第2頁(yè)
四川省計(jì)算機(jī)二級(jí)C語(yǔ)言試題(集)_第3頁(yè)
四川省計(jì)算機(jī)二級(jí)C語(yǔ)言試題(集)_第4頁(yè)
四川省計(jì)算機(jī)二級(jí)C語(yǔ)言試題(集)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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)介

1、【精品文檔】如有侵權(quán),請(qǐng)聯(lián)系網(wǎng)站刪除,僅供學(xué)習(xí)與交流四川省計(jì)算機(jī)二級(jí)C語(yǔ)言試題(集).精品文檔.四川省普通高等學(xué)校計(jì)算機(jī)應(yīng)用知識(shí)和能力第三十一次等級(jí)考試二級(jí)(C與C+語(yǔ)言) 筆 試 試 卷時(shí)間: 2009年10月 24 日 上午 9:0011:00第一部分軟件技術(shù)基礎(chǔ)(共15分)一、是非判斷題(每小題1分,共10分)( 判斷下列各題是否正確,如正確,在客觀答題紙上對(duì)應(yīng)編號(hào)選A,否則選B )1. 數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中的表示是指數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。( 1 )2. 作業(yè)與進(jìn)程的主要區(qū)別是前者是由系統(tǒng)自動(dòng)生成,后者是由用戶提交。( 2 )3. 從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。( 3 )4.

2、在設(shè)備管理中,通道是處理輸入、輸出的軟件。( 4 )5. 鏈表可以隨機(jī)訪問任意一個(gè)結(jié)點(diǎn),而順序表則不能。( 5 )6. 棧頂?shù)奈恢檬请S著進(jìn)棧和退棧操作而變化的。( 6 )7. 處于等待狀態(tài)的進(jìn)程,若其等待的事件已發(fā)生,就立即轉(zhuǎn)入運(yùn)行狀態(tài)。( 7 )8. 任何兩個(gè)并發(fā)進(jìn)程之間一定存在互斥關(guān)系。( 8 )9. 在面向過(guò)程方法的軟件生存期內(nèi),能準(zhǔn)確確定軟件系統(tǒng)必須做什么和必須具備的功能階段是需求分析。( 9 )10.在軟件測(cè)試的基本方法中,靜態(tài)測(cè)試不用測(cè)試用例。 ( 10 )二、選擇題(每小題1分,共5分)1. 若進(jìn)棧序列為1,2,3,4,且進(jìn)棧過(guò)程中可以出棧,則不可能出棧的序列是( 11 ) 。

3、11 (A) 1,4,3,2(B) 2,3,4,1 (C) 3,1,4,2(D) 3,4,1,22. 操作系統(tǒng)本身是計(jì)算機(jī)系統(tǒng)軟件的重要組成部分,而其物質(zhì)基礎(chǔ)是( 12 )。 12 (A) 系統(tǒng)硬件(B) 程序(C) 數(shù)據(jù)結(jié)構(gòu)(D) 標(biāo)準(zhǔn)程序庫(kù)3. 外部設(shè)備完成了預(yù)定的輸入/輸出操作所引起的中斷是( 13 )。 13 (A) 外中斷(B) I/O中斷(C) 程序中斷 (D) 標(biāo)準(zhǔn)程序庫(kù)4. 以下的準(zhǔn)則中哪個(gè)不是軟件設(shè)計(jì)應(yīng)遵循的( 14 )。 14 (A) 抽象準(zhǔn)則(B) 模塊化準(zhǔn)則(C) 信息屏蔽準(zhǔn)則(D) 綜合性準(zhǔn)則5. 在結(jié)構(gòu)化設(shè)計(jì)方法中,設(shè)計(jì)功能模塊算法屬于軟件開發(fā)中的 ( 15 )階段

4、。 15 (A) 詳細(xì)設(shè)計(jì) (B) 需求分析 (C) 總體設(shè)計(jì) (D) 編程調(diào)試第二部分C與C+語(yǔ)言程序設(shè)計(jì)(共85分)一、單項(xiàng)選擇題 ( 每小題1分,共10分 ) 1. 已知:char s="China",*p; (考點(diǎn):字符指針) p=s;則下列敘述正確的是( 16 ) 。16 (A) s和p完全相同(B) *p與s0不等(C) *p與 s0相等(D) *s與p相等 2. 以下可以作為函數(shù)fopen中第一個(gè)參數(shù)的正確格式是(17)。(*考點(diǎn):文件)17 (A) c:progfile1.dat(B) c:progfile1.dat(C) "c:progfile1

5、.dat"(D) "c:progfile1.dat" 3. 若有定義:union data int i; float j; char s5;k;則在Turbo C 2.0環(huán)境中sizeof(k)的值是(18)。(考點(diǎn):共用體類型)18 (A) 2(B) 5(C) 11(D) 0 4. 下面四個(gè)選項(xiàng)中,合法的用戶自定義標(biāo)識(shí)是( 19 )。(考點(diǎn):標(biāo)識(shí)符命名)19 (A) int(B) a_b3(C) 3_bc(D) #mm 5. 已知結(jié)構(gòu)體:( 20 )。(考點(diǎn):存儲(chǔ)類型extern)struct student char name20; struct int ye

6、ar; int month; birth; char sex;stu;20 (A) stu.birth=2009;(B) stu.year=2009;(C) stucent.birth.year=2009;(D) stu.birth.year=2009; 6. 下面程序的輸出結(jié)果是( 21 )。(考點(diǎn):宏定義)# include <stdio.h># define M 4# define N 2*M+1# define K N/2-5void main() printf("%dn",K); 21 (A) 2(B) 1(C) 0(D) 3 7. 有以下結(jié)構(gòu)體及其變

7、量的定義:struct node int data; struct node *next;*p,*q,*r;pqrdata nextdata nextdata next如圖所示,指針p、q、r分別指向此鏈表中的三個(gè)連續(xù)結(jié)點(diǎn)。若要將q所指結(jié)點(diǎn)從鏈表中刪除,使p所指結(jié)點(diǎn)與r所指結(jié)點(diǎn)連接,不能完成指定操作的語(yǔ)句是( 22 )。(考點(diǎn):鏈表)22 (A) p->next=q->next;(B) p->next=p->next->next;(C) p->next=r;(D) p=q->next; 8. 下列程序段中,不是無(wú)限循環(huán)的是( 23 )。(考點(diǎn):循環(huán)語(yǔ)句

8、)23 (A)(B) k=0; j=100; do while(1) +k; j=j%100+1; whiel(k->=0); if( j>100 ) break; (C) (D) s=3333; for( ; ; );while(s%2+s+%2); 9. 不能把字符串"Hello!"賦給字符數(shù)組b的選項(xiàng)是( 24 )。(考點(diǎn):字符數(shù)組賦值)24 (A) char b10= 'H','e','l','l','o','!','0'(B) char b1

9、0; b="Hello!"(C) char b10; strcpy(b, "Hello!");(D) char b10= "Hello!" 10. 若變量已正確定義并賦值,以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是 ( 25 ) 。(考點(diǎn):表達(dá)式)25 (A) a:=b+1(B) a=b=c+2(C) int 18.5%3(D) a=a+7=c+b二、讀程序回答問題 ( 每個(gè)選擇3分,共45分 ) 1. 在下面程序中(考點(diǎn):數(shù)組、函數(shù)(地址參數(shù))、刪除字符算法)# include <stdio.h>void fun(char *s) i

10、nt i,j; for(i=0,j=0;si!='0'i+) if(si>='0' && si<='9') sj=si; j+; sj='0'void main() char s20="ab12cd34" fun(s); printf("%3d %3dn",sizeof(s),strlen(s); printf("%sn",s);(1) 第1個(gè)printf輸出的結(jié)果為( 26 )。26 (A) 8 8 (B) 20 8(C) 20 20(D)

11、20 4(2) 第2個(gè)printf輸出的結(jié)果為( 27 )。27 (A) abcd(B) ab12cd(C) 1234(D) ab12cd34 2. 下列程序的輸出結(jié)果是( 28 )。(考點(diǎn):函數(shù)(地址參數(shù)和普通參數(shù))、指針運(yùn)算)void fun(char *c,int d) *c=*c+1; d=d+1;void main() char a='A',b='a' fun(&b,a); printf("%c,%cn",a,b);28 (A) B,A(B) a,B(C) A,B(D) A,b 3. 下列程序的輸出結(jié)果是( 29 )。(考點(diǎn)

12、:帶參數(shù)的宏定義)# include "stdio.h"# define GOOD(y) 2.84+y# define PR(a) printf("n%d",(int)(a)# define PRINT(a) PR(a);putchar('n')void main() int x=2; PRINT(GOOD(5)*x);29 (A) 11(B) 15(C) 13(D) 12 4. 下列程序運(yùn)行后的輸出結(jié)果是( 30 )。(考點(diǎn):結(jié)構(gòu)體類型、函數(shù)(普通參數(shù))、全局變量和局部變量)# include "stdio.h"st

13、ruct tree int x; char *s;t;func(struct tree t) t.x=10; t.s="computer" return(0);void main() t.x=1; t.s="minicomputer" fun(t); printf("%d,%sn",t.x,t.s);30 (A) 10,computer(B) 1,minicomputer(C) 1,computer(D) 10,minicomputer 5. 下列程序編譯連接后生成可執(zhí)行文件CAD.EXE,輸入以下命令行:CAD FILE1 FILE

14、2<CR> ( <CR>表示回車)程序的運(yùn)行結(jié)果是( 31 )。(考點(diǎn):命令行參數(shù))# include "stdio.h"void main(int argc,char *argv) int i; printf("%dn",argc); for(i=0;i<=argc-1;i+) printf("%s",argvi); printf("n"); 31 (A) 2 (B) 3 cadfile1file2 cadfile1file2(C) 2(D) 3 CAD.EXEFILE1FILE2

15、CAD.EXEFILE1FILE2 6. 有下列程序:(考點(diǎn):for循環(huán)嵌套、continue語(yǔ)句、break語(yǔ)句)# include "stdio.h"void main() int i,j,x=0; for(i=0;i<2;i+) x+; for(j=0;j<=3;j+) if(j%2) continue; x+; x+; printf("%dn",x);(1)該程序的運(yùn)行結(jié)果是( 32 )32 (A) 6(B) 4(C) 8(D) 2(2)若將程序中的continue 改為break,則輸出結(jié)果為( 33 )33 (A) 6(B) 4(

16、C) 8(D) 2 7. 有如下程序:(考點(diǎn):文件打開方式、文件操作函數(shù)、函數(shù)調(diào)用)# include "stdio.h"# include "string.h"void fun(char *fname,char *st) FILE *myf; int i; myf=fopen(fname,"w"); for(i=0;i<strlen(st);i+) fputc(sti,myf); fclose(myf);void main() fun("text","world"); fun("

17、;text","hello"); (1) 運(yùn)行該程序后,文件text中的內(nèi)容為( 34 )。34 (A) world (B) worldhello(C) hello(D) helloworld (2) 若將文件打開方式"w"改為"a",則運(yùn)行程序后,文件text中的內(nèi)容為( 35 )。35 (A) world (B) worldhello(C) hello(D) helloworld 8. 有如下程序:(考點(diǎn):遞歸函數(shù) )# include "stdio.h"int fun(int n) int y; i

18、f(n=1) y=1; else if(n=2) y=2; else y=n+fun(n-2); return y;void main() int x; scanf("%d",&x); printf("%d",fun(x);若輸入x的值為8,則程序的輸出結(jié)果為( 36 )。36 (A) 16(B) 36(C) 30(D) 20int fun(int n) int i,s=0; for(i=1;i<=n;i=i+2) s=s+i; return s;與函數(shù)fun等價(jià)的非遞歸程序?yàn)椋?37 )。37 (A) int fun(int n) (B)

19、 int i,s=0; for(i=n;i>=1;i=i-2) s=s+i; return s;int fun(int n) int i,s=0; for(i=1;i<=n;i+) s=s+i; return s;(C) int fun(int n) (D) int i,s=0; for(i=n;i>=1;i-) s=s+i; return s; 9. 有如下程序:(考點(diǎn):數(shù)組、函數(shù)、靜態(tài)存儲(chǔ)類型)# include <stdio.h>int fun(int *x,int n) static int s=0,i; for(i=0;i<n;i+) s=s+xi

20、; return s;void main() int x5=1,2,3,4,5,y4=6,7,8,9,s; s=fun(x,5)+fun(y,4); printf("%dn",s); (1) 程序的運(yùn)行結(jié)果為( 38 )。38 (A) 15(B) 30(C) 45(D) 60 (2) 若將fun函數(shù)中的static去掉,則程序的運(yùn)行結(jié)果為( 39 )。39 (A) 15(B) 30(C) 45(D) 6010. 有如下程序:(考點(diǎn):循環(huán)、switch語(yǔ)句)# include <stdio.h>void main() char ch; while(ch=getch

21、ar()!='n') switch(ch) case '1': case '2': putchar(ch+2); case '3': case '4': putchar(ch+2); break; default: putchar(ch+2); 若輸入135<回車>,程序的運(yùn)行結(jié)果為( 40 )。40 (A) 135(B) 357(C) 3357(D) 3333557 注意: 請(qǐng)把下面“程序填空”中各小題答案寫在主觀題答題紙上 每一個(gè)空只填一個(gè)語(yǔ)句或一個(gè)語(yǔ)句所缺的部分內(nèi)容三、程序填空 ( 每空2分,共3

22、0分 ) 1. 函數(shù)fun的功能是:將n×n(1<n<=10)方陣的下三角(包括對(duì)角線元素)×m,例如:1 2 3 若m=2,則處理后的方陣為: 2 2 34 5 6 8 10 67 8 9 14 16 18在main函數(shù)中調(diào)用fun函數(shù),并分行輸出處理后的方陣。請(qǐng)?zhí)羁?。(考點(diǎn):矩陣處理算法)# include <stdio.h>void fun(int a10,int n,int m) int i,j; for(i=0;i<n;i+) for(j=0;j<= ;j+) aij=aij*m;void main() int w1010=1,

23、2,3,4,5,6,7,8,9,m,i,j; scanf("%d",&m); fun( ,3,m); for(i=0;i<3;i+) for(j=0;j<3;j+) printf("%4d",wij); printf( ); 2. 下面程序的功能是輸出所有的5位4倍反序數(shù)。請(qǐng)?zhí)羁?。說(shuō)明:當(dāng)一個(gè)5位整數(shù)的4倍剛好是其反序數(shù),則稱其為5位4倍反序數(shù)。例如21978的反序數(shù)是87912,而87912=4*21978,所以21978就是一個(gè)5位4倍反序數(shù)。輸出結(jié)果為:21978 87912(考點(diǎn):循環(huán)、逆置整數(shù)算法)# include <

24、;stdio.h>void main() long n,k,t,m,j=0; for(n=10000;n<=99999;n+) m=0; t=n; for(k=1;k<= ;k+) if(m=4*n) j+; printf("%ld %ldn",n,m); 3. 下面程序的功能是:對(duì)一整型數(shù)組中下標(biāo)是3的倍數(shù)的元素進(jìn)行升序排序,其余元素保持不變。請(qǐng)?zhí)羁?。(考點(diǎn):數(shù)組、排序算法)# include <stdio.h>void main() int a16=16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1; int i,

25、j,t; for(i=0;i<16; ) for(j=i+3;j<16; ) if( ) t=ai; ai=aj; aj=t; for(i=0;i<16;i+) printf("%4d",ai); 4. 已知磁盤文件test.dat中有10個(gè)大于2的正整數(shù),下列程序能判斷和輸出文件中10個(gè)數(shù)中的所有素?cái)?shù)。請(qǐng)?zhí)羁?。(考點(diǎn):文件、函數(shù)參數(shù)、判素?cái)?shù)算法)# include <stdio.h>int prime( ,int n) int i,j,k=0,flag=0; for(i=0;i<n;i+) for(j=2;j<ai;j+) if(

26、 =0) flag=0; break; else flag=1; if(flag) =ai; k+; return k;void main() int n,i,a10; FILE *fp; if(fp=fopen("test.dat","r")=NULL) printf("Can not open the file!n"); exit(0); for(n=0;n<10;n+) fscanf(fp,"%d",&an); n=prime(a,n); for(i=0;i<n;i+) printf(&q

27、uot;%3d",ai); fclose(fp); 5. 程序的功能是計(jì)算:s=1-12+123-1234+12345的值,請(qǐng)?zhí)羁?。(考點(diǎn):循環(huán)、序列處理算法)# include <stdio.h>void main() int i,s=0,t=0,k=1; for(i=1;i<=5;i+) t=t*10+ ; s=s+ ; k= ; printf("s=%dn",s);四川省普通高等學(xué)校計(jì)算機(jī)應(yīng)用知識(shí)和能力第二十七次等級(jí)考試二級(jí)(C與C+語(yǔ)言) 筆 試 試 卷時(shí)間: 2007年10月 27 日 上午 9:0011:00第一部分軟件技術(shù)基礎(chǔ)(共1

28、5分)一、是非判斷題(每小題1分,共10分)( 判斷下列各題是否正確,如正確,在客觀答題紙上對(duì)應(yīng)編號(hào)選A,否則選B )1. 數(shù)組也是一種數(shù)據(jù)結(jié)構(gòu),一維數(shù)組就是一種順序表結(jié)構(gòu)。( 1 )2. 遞歸算法的程序結(jié)構(gòu)比迭代算法的程序結(jié)構(gòu)更為精煉。( 2 )3. 進(jìn)程調(diào)度按一定的調(diào)度算法,從就緒隊(duì)列中挑選出合適的進(jìn)程。( 3 )4. 在單處理器系統(tǒng)中,程序的并發(fā)執(zhí)行,實(shí)質(zhì)上是程序的交替執(zhí)行。( 4 )5. 數(shù)據(jù)的基本單位是數(shù)據(jù)元素。( 5 )6. 分頁(yè)存儲(chǔ)管理中,頁(yè)面可以映射到不連續(xù)的內(nèi)存塊中。( 6 )7. 通道方式能實(shí)現(xiàn)外設(shè)與CPU之間直接進(jìn)行數(shù)據(jù)交換。( 7 )8. 軟件測(cè)試和軟件調(diào)試沒有任何區(qū)別

29、。( 8 )9. 白盒測(cè)試方法一般適合用于系統(tǒng)測(cè)試。 ( 9 )10.瀑布模型的突出缺點(diǎn)是不適應(yīng)用戶需求的變化。( 10 )二、選擇題(每小題1分,共5分)1. 線性表不具有的特點(diǎn)是 ( 11 )。 11 (A) 隨機(jī)訪問(B) 無(wú)須事先估計(jì)所需存儲(chǔ)空間大小 (C) 插入時(shí)不必移動(dòng)元素(D) 所需空間與線性表長(zhǎng)度成正比2. 以下 ( 12 )不是實(shí)時(shí)操作系統(tǒng)的特點(diǎn)。 12 (A) 高可靠性(B) 及時(shí)響應(yīng)(C) 中斷管理(D) 獨(dú)立性3. 若當(dāng)前進(jìn)程因時(shí)間片用完而讓出處理機(jī)時(shí),該進(jìn)程應(yīng)轉(zhuǎn)變?yōu)?( 13 )狀態(tài)。 13 (A) 運(yùn)行 (B) 就緒(C) 等待 (D) 完成4. 以下( 14 )

30、不是數(shù)據(jù)結(jié)構(gòu)研究的主要問題。 14 (A) 數(shù)據(jù)元素之間的邏輯關(guān)系(B) 數(shù)據(jù)元素之間的存儲(chǔ)結(jié)構(gòu)(C) 軟件開發(fā)方法 (D) 實(shí)現(xiàn)操作的算法5. 軟件開發(fā)中,模塊設(shè)計(jì)的原則是 ( 15 )。 15 (A) 低偶合、高內(nèi)聚 (B) 高偶合、高內(nèi)聚 (C) 高偶合、低內(nèi)聚 (D) 低偶合、低內(nèi)聚第二部分C與C+語(yǔ)言程序設(shè)計(jì)(共85分)一、單項(xiàng)選擇題 ( 每小題1分,共10分 ) 1. 以下程序的輸出結(jié)果是( 16 ) 。(考點(diǎn):邏輯運(yùn)算、自增自減運(yùn)算)# include <stdio.h>void main() int a=-1,b=4,k; k=(+a<0)&&

31、!(b-<=0); printf("%d %d %dn",k,a,b);16 (A)0 0 4(B) 1 0 3 (C) 0 0 3(D) 1 0 4 2. 以下對(duì)結(jié)構(gòu)體變量stu1中成員age的不正確引用是( 17 )。(考點(diǎn):結(jié)構(gòu)體及指針)struct st int age; int num;stu1,*p;p=&stu1;17 (A) stu1.age (B) age (C) p->age(D) (*p).age 3. 在下列條件語(yǔ)句中,功能與其他語(yǔ)句不同的是 ( 18 )。(考點(diǎn):條件語(yǔ)句)18 (A) if(a) printf("%d

32、n",x); else printf("%dn",y);(B) if(a=0) printf("%dn",y); else printf("%dn",x); (C) if(a!=0) printf("%dn",x); else printf("%dn",y);(D) if(a=0) printf("%dn",x); else printf("%dn",y); 4. 以下敘述中完全正確的是( 19 )。(考點(diǎn):文件)19 (A) C語(yǔ)言中的文件是流

33、式文件,因此只能順序存取文件(B) 對(duì)一個(gè)已存在的文件進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋(C) 在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫操作后,必須先關(guān)閉該文件后再打開,才能讀到第一個(gè)數(shù)據(jù)(D) 當(dāng)對(duì)文件的讀寫操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失 5. C+中,下列關(guān)鍵字中哪個(gè)不是類定義中使用的關(guān)鍵字 ( 20 )。(*考點(diǎn):C+)20 (A) class (B) public(C) switch(D) private 6. 以下程序的輸出結(jié)果是( 21 )。(考點(diǎn):帶參數(shù)的宏定義)# include <stdio.h># define f(x) (x*x)void m

34、ain() int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%dn",i1,i2);21 (A) 64,28(B) 4,4 (C) 4,3(D) 64,64 7. 有下面的說(shuō)明和語(yǔ)句,則輸出結(jié)果是( 22 )。(考點(diǎn):位運(yùn)算)char a=9,b=020;printf("%on",a&b<<1);22 (A) 0377 (B) 40 (C) 32 (D) 以上答案均不正確 8. 下列描述,錯(cuò)誤的是 ( 23 )。(考點(diǎn):數(shù)組)23 (A) n維數(shù)組可以用n級(jí)指針來(lái)表示(B)

35、數(shù)組下標(biāo)從0開始(C) 一個(gè)二維數(shù)組可以用一維指針數(shù)組表示(D) 使用沒有賦地址值的指針,只有當(dāng)程序比較長(zhǎng)時(shí)才可能造成系統(tǒng)崩潰 9. C語(yǔ)言中局部變量的存儲(chǔ)類別默認(rèn)值是 ( 24 )。 (考點(diǎn):存儲(chǔ)類型)24 (A) 自動(dòng)(auto)(B) 靜態(tài)(static)(C) 寄存器(register)(D) 外部(extern) 10. 下列關(guān)于C+重載函數(shù)的描述中,錯(cuò)誤的是 ( 25 ) 。(*考點(diǎn):C+)25 (A) 重載函數(shù)的參數(shù)個(gè)數(shù)和類型至少有一個(gè)不同(B) 重載函數(shù)的參數(shù)個(gè)數(shù)可以相同(C) 重載函數(shù)的參數(shù)個(gè)數(shù)不同但類型可以相同(D) 重載函數(shù)的返回值類型必須相同二、讀程序回答問題 ( 每個(gè)

36、選擇3分,共45分 ) 1. 閱讀下面程序,回答問題。(考點(diǎn):二維數(shù)組求最值算法)# include <stdio.h>void main() int i,j,row,column,m; static int array33=100,200,300,28,72,-30,-850,2,6; m=array00; for(i=0;i<3;i+) for(j=0;j<3;j+) if(arrayij<m) m=arrayij; row=i; column=j; printf("%d,%d,%dn",m,row,column);該程序的功能是( 26

37、)。26 (A) 計(jì)算二維數(shù)組的元素和(B) 求二維數(shù)組的最小值及其下標(biāo)(C) 對(duì)二維數(shù)組進(jìn)行排序(D) 求二維數(shù)組的最大值及其下標(biāo) 2. 閱讀下面程序,回答問題。(考點(diǎn):字符數(shù)組處理字符串中單詞數(shù)算法)# include <stdio.h># include <string.h>void main() int i=0,n=0; char s80,*p; p=s; strcpy(p,"This is test!"); for(;*p!='0'p+) if(*p=' ') i=0; else if(i=0) n+; i=

38、1; printf("n=%dn",n);該程序的功能是( 27 )。27 (A) 統(tǒng)計(jì)字符串中的單詞個(gè)數(shù)(B) 統(tǒng)計(jì)字符串中的空格個(gè)數(shù)(C) 統(tǒng)計(jì)字符串中的字母?jìng)€(gè)數(shù)(D) 統(tǒng)計(jì)字符串中全部字符個(gè)數(shù) 3. 讀程序,回答問題。(考點(diǎn):循環(huán)、switch語(yǔ)句)# include <stdio.h>void main() int i,m=0,n=0,k=0; for(i=9;i<=11;i+) switch(i%10) case 0: m+;n+;break; case 10:n+;break; default: k+,n+; printf("%4d%

39、4d%4dn",m,n,k);28 (A) 1 3 2(B) 1 4 2(C) 0 1 1(D) 0 3 2 4. 讀程序,回答問題。(考點(diǎn):命令行參數(shù))# include <stdio.h># include <string.h>void main(int argc,char *argv) int i=1,n=0; while(i<argc) n=n+strlen(argvi); i+; printf("%dn",n);若該程序生成的可招待文件名為2-4.exe,運(yùn)行時(shí)輸入命令行:2-4 123 45 67則程序的運(yùn)行結(jié)果是( 29

40、 )。29 (A) 3(B) 5(C) 7(D) 11 5. 讀程序,回答問題。(考點(diǎn):全局變量、靜態(tài)局部變量、函數(shù))# include <stdio.h>int a=2;int f(int n) static int a=3; int t=0; if(n%2) static int a=4; t+=a+; else static int a=5; t+=a+; return t+a+;void main() int s=a,i; for(i=0;i<3;i+) s+=f(i); printf("%dn",s);程序運(yùn)行結(jié)果是( 30 )。30 (A)26

41、(B) 28 (C) 29 (D) 25 6. 讀程序,回答問題。(考點(diǎn):結(jié)構(gòu)體數(shù)組)# include <stdio.h>struct mod int a,b,c;void main() struct mod st3=1,2,3,4,5,6,7,8,9; int total; total=st0.a+st1.b; printf("total=%dn",total);程序的運(yùn)行結(jié)果是( 31 )。31 (A) total=5(B) total=6(C) total=7(D) total=8 7. 讀程序,回答問題。(考點(diǎn):函數(shù)、循環(huán)處理圖形輸出)# includ

42、e <stdio.h>pic(int len,char c) int k; for(k=1;k<=len;k+) putchar(c);void main() int i=4,j; pic(27,' '); j=i; pic(i+2*j-2,'*'); putchar('n'); for(j-=2;j>=0;j-) pic(30-j,' '); pic(i+2*j,'*'); putchar('n');程序的運(yùn)行結(jié)果是( 32 )。32 (A)(B)(C) (D) 8. 以下

43、程序的功能是:建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,并將存儲(chǔ)在數(shù)組中的字符依次轉(zhuǎn)儲(chǔ)到鏈表的各個(gè)結(jié)點(diǎn)中,請(qǐng)選擇填空。(考點(diǎn):結(jié)構(gòu)體處理單鏈表建立算法)# include <stdio.h>struct node char data; struct node *next;( 33 ) CreatList(char *s) struct node *h,*p,*q; h=(struct node *)malloc(sizeof(struct node); p=q=h; while(*s!=NULL) p=(struct node *)malloc(sizeof(struct node); p-&

44、gt;data=( 34 ); q->next=p; q=( 35 ); s+; p->next=NULL; return h; void main() char str="link list" struct node *head; head=CreatList(str);33 (A) char *(B) char(C)struct node (D) struct node *34 (A) *s(B) s(C) *s+(D) *(s)+35 (A) p->next(B) p(C) s(D) s->next 9. 讀程序并回答問題。(考點(diǎn):遞歸函數(shù))#

45、 include <stdio.h># include <string.h>void fun(char *s,char *t) char k; k=*s; *s=*t; *t=k; s+;t-; if(*s) fun(s,t);void main() char str10="abcdefg",*p; p=str+strlen(str)/2+1; fun(p,p-2); printf("%sn",str);程序中的fun函數(shù)被調(diào)用的次數(shù)是( 36 )。36 (A) 2 (B)3 (C) 4 (D) 5程序的運(yùn)行結(jié)果為( 37 )。3

46、7 (A) abcdefg(B)defgabc(C) acegbdf(D) gfedcba 10. 讀程序并回答問題。(考點(diǎn):指針數(shù)組)# include <stdio.h>void main() int m12,k; int *p3,sum=0; for(k=0;k<12;k+) mk=2*k; if(k<3) pk=m+2*k*k; for(k=0;k<3;k+) sum+=(*(p+k)4-k; printf("%dn",sum); 程序的運(yùn)行結(jié)果是( 38 )。38 (A) 18(B) 28(C) 38(D) 8 int *p3定義的是

47、( 39 )。39 (A) 指針數(shù)組(B) 指向函數(shù)的指針(C) 指向一維數(shù)組的指針(D) 指向指針的指針 11. 以下程序的輸出結(jié)果是( 40 )。(考點(diǎn):帶參數(shù)的宏定義)# include <stdio.h># define FUN(x,y) x<y?y:xvoid main() int x=5,y=10,z; z=10*FUN(x+y,x*y); printf("%dn",z);40 (A) 100(B) 150(C) 15 (D) 60注意: 請(qǐng)把下面“程序填空”中各小題答案寫在主觀題答題紙上 每一個(gè)空只填一個(gè)語(yǔ)句或一個(gè)語(yǔ)句所缺的部分內(nèi)容三、程序填

48、空 ( 每空2分,共30分 ) 1. 下面函數(shù)的功能是將一個(gè)字符串逆序存放,請(qǐng)?zhí)羁铡#键c(diǎn):字符串逆置算法)# include <stdio.h># include <string.h>void fun(char str) int i,j; for(i=0,j=strlen(str); ;i+,j-) m=stri; stri= ; strj-1=m; printf("%sn",str); 2. 下面程序功能是將命令行指定的一個(gè)文件內(nèi)容追加到另一個(gè)文件末尾。(考點(diǎn):文件追加算法)# include <stdio.h>void main(i

49、nt argc,char *argv) FILE *fp1,*fp2; char ch; if(argc!=3) printf("usage:linenum filenamen"); else if(fp1=fopen( ,"a")=NULL) printf("Can't open %sn",argv1); return; else if(fp2=fopen(argv2,"r")=NULL) printf("Can't open %sn",argv2); return; else

50、 while( )!=EOF) fclose(fp1); fclose(fp2); 3. 程序功能是:用篩選法求2100之間的所有素?cái)?shù)。方法是:首先將2100的數(shù)放入一個(gè)數(shù)組中,然后從2開始,將數(shù)組中所有2的倍數(shù)的數(shù)置為0;接著從數(shù)組中找到下一個(gè)非0數(shù),并將數(shù)組中所有該的倍數(shù)的數(shù)置為0;依此類推,直到所找到的下一個(gè)數(shù)大于100為止,最后將數(shù)組中不為0的數(shù)輸出即為2100之間的素?cái)?shù),一行輸出10個(gè)。(考點(diǎn):篩選法求素?cái)?shù)算法)# include <stdio.h>void main() int a100; int i,j,count=0; for(i=0;i<99;i+) ai= ; for(i=0;i<=50;

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論