四川省計算機二級C語言試題(集)_第1頁
四川省計算機二級C語言試題(集)_第2頁
四川省計算機二級C語言試題(集)_第3頁
四川省計算機二級C語言試題(集)_第4頁
四川省計算機二級C語言試題(集)_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

2、在設備管理中,通道是處理輸入、輸出的軟件。( 4 )5. 鏈表可以隨機訪問任意一個結點,而順序表則不能。( 5 )6. 棧頂?shù)奈恢檬请S著進棧和退棧操作而變化的。( 6 )7. 處于等待狀態(tài)的進程,若其等待的事件已發(fā)生,就立即轉入運行狀態(tài)。( 7 )8. 任何兩個并發(fā)進程之間一定存在互斥關系。( 8 )9. 在面向過程方法的軟件生存期內,能準確確定軟件系統(tǒng)必須做什么和必須具備的功能階段是需求分析。( 9 )10.在軟件測試的基本方法中,靜態(tài)測試不用測試用例。 ( 10 )二、選擇題(每小題1分,共5分)1. 若進棧序列為1,2,3,4,且進棧過程中可以出棧,則不可能出棧的序列是( 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)本身是計算機系統(tǒng)軟件的重要組成部分,而其物質基礎是( 12 )。 12 (A) 系統(tǒng)硬件(B) 程序(C) 數(shù)據(jù)結構(D) 標準程序庫3. 外部設備完成了預定的輸入/輸出操作所引起的中斷是( 13 )。 13 (A) 外中斷(B) I/O中斷(C) 程序中斷 (D) 標準程序庫4. 以下的準則中哪個不是軟件設計應遵循的( 14 )。 14 (A) 抽象準則(B) 模塊化準則(C) 信息屏蔽準則(D) 綜合性準則5. 在結構化設計方法中,設計功能模塊算法屬于軟件開發(fā)中的 ( 15 )階段

4、。 15 (A) 詳細設計 (B) 需求分析 (C) 總體設計 (D) 編程調試第二部分C與C+語言程序設計(共85分)一、單項選擇題 ( 每小題1分,共10分 ) 1. 已知:char s="China",*p; (考點:字符指針) p=s;則下列敘述正確的是( 16 ) 。16 (A) s和p完全相同(B) *p與s0不等(C) *p與 s0相等(D) *s與p相等 2. 以下可以作為函數(shù)fopen中第一個參數(shù)的正確格式是(17)。(*考點:文件)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)。(考點:共用體類型)18 (A) 2(B) 5(C) 11(D) 0 4. 下面四個選項中,合法的用戶自定義標識是( 19 )。(考點:標識符命名)19 (A) int(B) a_b3(C) 3_bc(D) #mm 5. 已知結構體:( 20 )。(考點:存儲類型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. 下面程序的輸出結果是( 21 )。(考點:宏定義)# 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. 有以下結構體及其變

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

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的選項是( 24 )。(考點:字符數(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語言語法的表達式是 ( 25 ) 。(考點:表達式)25 (A) a:=b+1(B) a=b=c+2(C) int 18.5%3(D) a=a+7=c+b二、讀程序回答問題 ( 每個選擇3分,共45分 ) 1. 在下面程序中(考點:數(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個printf輸出的結果為( 26 )。26 (A) 8 8 (B) 20 8(C) 20 20(D)

11、20 4(2) 第2個printf輸出的結果為( 27 )。27 (A) abcd(B) ab12cd(C) 1234(D) ab12cd34 2. 下列程序的輸出結果是( 28 )。(考點:函數(shù)(地址參數(shù)和普通參數(shù))、指針運算)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. 下列程序的輸出結果是( 29 )。(考點

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. 下列程序運行后的輸出結果是( 30 )。(考點:結構體類型、函數(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>表示回車)程序的運行結果是( 31 )。(考點:命令行參數(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. 有下列程序:(考點:for循環(huán)嵌套、continue語句、break語句)# 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)該程序的運行結果是( 32 )32 (A) 6(B) 4(C) 8(D) 2(2)若將程序中的continue 改為break,則輸出結果為( 33 )33 (A) 6(B) 4(

16、C) 8(D) 2 7. 有如下程序:(考點:文件打開方式、文件操作函數(shù)、函數(shù)調用)# 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) 運行該程序后,文件text中的內容為( 34 )。34 (A) world (B) worldhello(C) hello(D) helloworld (2) 若將文件打開方式"w"改為"a",則運行程序后,文件text中的內容為( 35 )。35 (A) world (B) worldhello(C) hello(D) helloworld 8. 有如下程序:(考點:遞歸函數(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,則程序的輸出結果為( 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等價的非遞歸程序為( 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. 有如下程序:(考點:數(shù)組、函數(shù)、靜態(tài)存儲類型)# 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) 程序的運行結果為( 38 )。38 (A) 15(B) 30(C) 45(D) 60 (2) 若將fun函數(shù)中的static去掉,則程序的運行結果為( 39 )。39 (A) 15(B) 30(C) 45(D) 6010. 有如下程序:(考點:循環(huán)、switch語句)# 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<回車>,程序的運行結果為( 40 )。40 (A) 135(B) 357(C) 3357(D) 3333557 注意: 請把下面“程序填空”中各小題答案寫在主觀題答題紙上 每一個空只填一個語句或一個語句所缺的部分內容三、程序填空 ( 每空2分,共3

22、0分 ) 1. 函數(shù)fun的功能是:將n×n(1<n<=10)方陣的下三角(包括對角線元素)×m,例如:1 2 3 若m=2,則處理后的方陣為: 2 2 34 5 6 8 10 67 8 9 14 16 18在main函數(shù)中調用fun函數(shù),并分行輸出處理后的方陣。請?zhí)羁?。(考點:矩陣處理算法)# 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ù)。請?zhí)羁?。說明:當一個5位整數(shù)的4倍剛好是其反序數(shù),則稱其為5位4倍反序數(shù)。例如21978的反序數(shù)是87912,而87912=4*21978,所以21978就是一個5位4倍反序數(shù)。輸出結果為:21978 87912(考點:循環(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. 下面程序的功能是:對一整型數(shù)組中下標是3的倍數(shù)的元素進行升序排序,其余元素保持不變。請?zhí)羁?。(考點:數(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個大于2的正整數(shù),下列程序能判斷和輸出文件中10個數(shù)中的所有素數(shù)。請?zhí)羁?。(考點:文件、函數(shù)參數(shù)、判素數(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. 程序的功能是計算:s=1-12+123-1234+12345的值,請?zhí)羁铡#键c:循環(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);四川省普通高等學校計算機應用知識和能力第二十七次等級考試二級(C與C+語言) 筆 試 試 卷時間: 2007年10月 27 日 上午 9:0011:00第一部分軟件技術基礎(共1

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

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

30、不是數(shù)據(jù)結構研究的主要問題。 14 (A) 數(shù)據(jù)元素之間的邏輯關系(B) 數(shù)據(jù)元素之間的存儲結構(C) 軟件開發(fā)方法 (D) 實現(xiàn)操作的算法5. 軟件開發(fā)中,模塊設計的原則是 ( 15 )。 15 (A) 低偶合、高內聚 (B) 高偶合、高內聚 (C) 高偶合、低內聚 (D) 低偶合、低內聚第二部分C與C+語言程序設計(共85分)一、單項選擇題 ( 每小題1分,共10分 ) 1. 以下程序的輸出結果是( 16 ) 。(考點:邏輯運算、自增自減運算)# 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. 以下對結構體變量stu1中成員age的不正確引用是( 17 )。(考點:結構體及指針)struct st int age; int num;stu1,*p;p=&stu1;17 (A) stu1.age (B) age (C) p->age(D) (*p).age 3. 在下列條件語句中,功能與其他語句不同的是 ( 18 )。(考點:條件語句)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 )。(考點:文件)19 (A) C語言中的文件是流

33、式文件,因此只能順序存取文件(B) 對一個已存在的文件進行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋(C) 在一個程序中當對文件進行了寫操作后,必須先關閉該文件后再打開,才能讀到第一個數(shù)據(jù)(D) 當對文件的讀寫操作完成之后,必須將它關閉,否則可能導致數(shù)據(jù)丟失 5. C+中,下列關鍵字中哪個不是類定義中使用的關鍵字 ( 20 )。(*考點:C+)20 (A) class (B) public(C) switch(D) private 6. 以下程序的輸出結果是( 21 )。(考點:帶參數(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. 有下面的說明和語句,則輸出結果是( 22 )。(考點:位運算)char a=9,b=020;printf("%on",a&b<<1);22 (A) 0377 (B) 40 (C) 32 (D) 以上答案均不正確 8. 下列描述,錯誤的是 ( 23 )。(考點:數(shù)組)23 (A) n維數(shù)組可以用n級指針來表示(B)

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

36、選擇3分,共45分 ) 1. 閱讀下面程序,回答問題。(考點:二維數(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) 計算二維數(shù)組的元素和(B) 求二維數(shù)組的最小值及其下標(C) 對二維數(shù)組進行排序(D) 求二維數(shù)組的最大值及其下標 2. 閱讀下面程序,回答問題。(考點:字符數(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)計字符串中的單詞個數(shù)(B) 統(tǒng)計字符串中的空格個數(shù)(C) 統(tǒng)計字符串中的字母個數(shù)(D) 統(tǒng)計字符串中全部字符個數(shù) 3. 讀程序,回答問題。(考點:循環(huán)、switch語句)# 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. 讀程序,回答問題。(考點:命令行參數(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,運行時輸入命令行:2-4 123 45 67則程序的運行結果是( 29

40、 )。29 (A) 3(B) 5(C) 7(D) 11 5. 讀程序,回答問題。(考點:全局變量、靜態(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);程序運行結果是( 30 )。30 (A)26

41、(B) 28 (C) 29 (D) 25 6. 讀程序,回答問題。(考點:結構體數(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);程序的運行結果是( 31 )。31 (A) total=5(B) total=6(C) total=7(D) total=8 7. 讀程序,回答問題。(考點:函數(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');程序的運行結果是( 32 )。32 (A)(B)(C) (D) 8. 以下

43、程序的功能是:建立一個帶有頭結點的單向鏈表,并將存儲在數(shù)組中的字符依次轉儲到鏈表的各個結點中,請選擇填空。(考點:結構體處理單鏈表建立算法)# 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. 讀程序并回答問題。(考點:遞歸函數(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ù)被調用的次數(shù)是( 36 )。36 (A) 2 (B)3 (C) 4 (D) 5程序的運行結果為( 37 )。3

46、7 (A) abcdefg(B)defgabc(C) acegbdf(D) gfedcba 10. 讀程序并回答問題。(考點:指針數(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); 程序的運行結果是( 38 )。38 (A) 18(B) 28(C) 38(D) 8 int *p3定義的是

47、( 39 )。39 (A) 指針數(shù)組(B) 指向函數(shù)的指針(C) 指向一維數(shù)組的指針(D) 指向指針的指針 11. 以下程序的輸出結果是( 40 )。(考點:帶參數(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注意: 請把下面“程序填空”中各小題答案寫在主觀題答題紙上 每一個空只填一個語句或一個語句所缺的部分內容三、程序填

48、空 ( 每空2分,共30分 ) 1. 下面函數(shù)的功能是將一個字符串逆序存放,請?zhí)羁铡#键c:字符串逆置算法)# 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. 下面程序功能是將命令行指定的一個文件內容追加到另一個文件末尾。(考點:文件追加算法)# 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之間的所有素數(shù)。方法是:首先將2100的數(shù)放入一個數(shù)組中,然后從2開始,將數(shù)組中所有2的倍數(shù)的數(shù)置為0;接著從數(shù)組中找到下一個非0數(shù),并將數(shù)組中所有該的倍數(shù)的數(shù)置為0;依此類推,直到所找到的下一個數(shù)大于100為止,最后將數(shù)組中不為0的數(shù)輸出即為2100之間的素數(shù),一行輸出10個。(考點:篩選法求素數(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論