2015年電大本科C語言程序設(shè)計(jì)A試題_第1頁
2015年電大本科C語言程序設(shè)計(jì)A試題_第2頁
2015年電大本科C語言程序設(shè)計(jì)A試題_第3頁
2015年電大本科C語言程序設(shè)計(jì)A試題_第4頁
2015年電大本科C語言程序設(shè)計(jì)A試題_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)2015年電大本科C語言程序設(shè)計(jì)A一、單選題1在每個(gè)C語言程序中都必須包含有這樣一個(gè)函數(shù),該函數(shù)的函數(shù)名為(A)。A. main B. MAIN C. name D. function 2每個(gè)C語言程序文件的編譯錯(cuò)誤分為(B)類。 A. 1 B. 2 C. 3 D. 4 3. 字符串a(chǎn)+b=12n的長度為(B)。 A. 6 B. 7 C. 8 D. 94. 在switch語句的每個(gè)case塊中,假定都是以break語句結(jié)束的,則此switch語句容易被改寫為(D)語句。

2、 A. for B. while C. do D. if 5. 在下面的do-while循環(huán)語句中,其循環(huán)體語句被執(zhí)行的次數(shù)為(C)。int i=0; do i+; while(i0 & x=10)的相反表達(dá)式為(A)。 Ax10 Bx10 Cx=0 | x0 & x10 13當(dāng)處理特定問題時(shí)的循環(huán)次數(shù)已知時(shí),通常采用(A)循環(huán)來解決。Afor Bwhile Cdo-while Dswitch 14假定i的初值為0,則在循環(huán)語句“while(in) s+=i*i; i+;”中循環(huán)體被執(zhí)行的總次數(shù)為(B)。An-1 Bn Cn+1 Dn/215假定一個(gè)二維數(shù)組的定義語句為“int a34=3,4

3、,2,8,6;”,則元素a12的值為(C)。 A2 B4 C6 D8 16在下列選項(xiàng)中,不正確的函數(shù)原型格式為(C)。 Aint Function(int a); B.void Function (char); Cint Function(a); D.void int(double* a); 17假定p是一個(gè)指向float型數(shù)據(jù)的指針,則p+1所指數(shù)據(jù)的地址比p所指數(shù)據(jù)的地址大(C)個(gè)字節(jié)。A1 B2 C4 D8 18假定有定義為“int m=7, *p;”,則給p賦值的正確表達(dá)式為(B)。Ap=m Bp=&m C*p=&m Dp=*m 19假定指針變量p定義為“int *p=malloc(s

4、izeof(int);”,要釋放p所指向的動(dòng)態(tài)存儲(chǔ)空間,應(yīng)調(diào)用的函數(shù)為(A)。Afree(p) Bdelete(p) Cfree(*p) Dfree(&p)20C語言中的系統(tǒng)函數(shù)fopen()是( D)一個(gè)數(shù)據(jù)文件的函數(shù)。A讀取 B寫入 C關(guān)閉 D打開 21. C語言源程序文件的缺省擴(kuò)展名為(D)。A. cpp B. exe C. obj D. C 22設(shè)x和y均為邏輯值,則x & y為真的條件是(A)。 A. 它們均為真 B. 其中一個(gè)為真 C. 它們均為假 D. 其中一個(gè)為假23. 在下列的符號(hào)常量定義中,正確的定義格式為(C)。 A. #define M1 B. const int M2

5、 20 C. #define M3 10 D. const char mark 24. for循環(huán)語句能夠被改寫為(D)語句。A. 復(fù)合 B. if C. switch D. while 25. 在下面的一維數(shù)組定義中,錯(cuò)誤的定義格式為(C)。 A. int a=1,2,3 B. int a10=0 C. int a D. int a5 26下面的函數(shù)原型聲明中存在語法錯(cuò)誤的是(C)。 A. AA(int a, int b) B. AA(int, int) C. AA(int a; int b;) D. AA(int a, int)27. 假定a為一個(gè)數(shù)組名,則下面存在錯(cuò)誤的表達(dá)式為的(B)。

6、 A. ai B. *a+ C. *a D. *(a+1) 28. 假定有定義為“int a10, x, *pa=a;”,若要把數(shù)組a中下標(biāo)為3的元素值賦給x,則不正確的賦值為(D)。 A. x=pa3 B. x=*(a+3)C. x=a3 D. x=*pa+329char類型的長度為(A)個(gè)字節(jié)。A. 1 B. 2 C. 3 D. 4 30. 向一個(gè)二進(jìn)制文件中寫入信息的函數(shù)為(D)。 A. fgets() B. fputs()C. fread() D. fwrite()31. 由C語言目標(biāo)文件連接而成的可執(zhí)行文件的缺省擴(kuò)展名為(B)。A. cpp B. exe C. obj D. c32.

7、 設(shè)有兩條語句為“int a=12; a+=a*a;”,則執(zhí)行結(jié)束后,a的值為(C)。A. 12 B. 144 C. 156 D. 28833. 帶有隨機(jī)函數(shù)調(diào)用的表達(dá)式rand()%20的值在(C)區(qū)間內(nèi)。 A. 119 B. 120 C. 019 D. 020 34. for循環(huán)語句“for(i=0; i0|y=5)的相反表達(dá)式為(B)。A.x=O|y!=5 B.xO|y!=5 D.xO&y=5 43.循環(huán)體至少被執(zhí)行一次的循環(huán)語句為 (C)。 A.for B.while C.do-while D.任一種循環(huán) 44.假定 n的值為5,則表達(dá)式n+的值為(B)。 A.6 B.5 C.4 D.

8、745.假定一個(gè)二維數(shù)組的定義為int a34=3,4,2,8,6號(hào),則元素a2O值為(A)。 A.0 B.2 C.4 D.646.假定一個(gè)函數(shù)原型為char *func(int n),則該函數(shù)的返回類型為(D)。A. int B. int* c.char D.char*47.假定a為一個(gè)字符數(shù)組名,則元素ai的指針訪問方式為(B)。A.a+i B.*(a+i) C.&a+i D.*a+i48.假定有語句為int *p=calloc(10+20,sizeof(int),則p所指向的動(dòng)態(tài)數(shù)組中所包含的元素個(gè)數(shù)為(C)。 A.10 B.20 c.30 D.4049.十進(jìn)制數(shù) 50表示成符合C語言規(guī)

9、定的八進(jìn)制數(shù)為(D)。 A. 20 B.32 C.62 D.06250.若要以讀和寫兩種操作方式打開一個(gè)二進(jìn)制文件,當(dāng)文件不存在時(shí)返回打開失敗信息,則選用的打開方式字符串為(C)。 A.r+ B.ab+ C. rh+ D.wb+二、填空題1.在一個(gè)C語言程序文件中,若要包含另外一個(gè)頭文件或程序文件,則應(yīng)使用的預(yù)處理命令為(#include )2.用于從鍵盤上為變量輸入值的標(biāo)準(zhǔn)輸入函數(shù)的函數(shù)名為(scanf) 3.假定一個(gè)枚舉類型的定義為enum RAab,ac,ad,ae;,則ac的值為(1)4. double類型的長度為(8)5.執(zhí)行int x=45, y=13; printf(%d,x/y

10、);語句序列后得到的輸出結(jié)果為(3)6.把表達(dá)式x=x+y轉(zhuǎn)換成復(fù)合賦值表達(dá)式為(x+=y)7.假定x的值為5,則執(zhí)行a=(!x)?10:20);語句后a的值為(20) 8.假定一維字符指針數(shù)組的定義為char* a8;,則該數(shù)組占用的存儲(chǔ)空間的字節(jié)數(shù)為(32)9.假定二維數(shù)組的定義為double aMN;則數(shù)組元素的行下標(biāo)取值范圍在(0M-1)之間 10.空字符串的長度為 (0)11.在所有函數(shù)定義之外定義的變量,若沒有被初始化則系統(tǒng)隱含對(duì)它所賦的初值為(0)12.若p指向x,則(*p)與x的表示是等價(jià)的。13. 直接訪問表達(dá)式(*fp).score所對(duì)應(yīng)的間接訪問表達(dá)式為(fp-score

11、)14一個(gè)函數(shù)定義由 函數(shù)頭_和函數(shù)體兩部分組成。15. 執(zhí)行“printf(%c,F-2);”語句后得到的輸出結(jié)果為 D 。 16int類型的長度為 4 。17. 表達(dá)式(float)25/4的值為 6.25 。18若x=5,y=10,則xy的值為0(假)。33. 假定二維數(shù)組的定義為“int a35;”,則該數(shù)組所含元素的個(gè)數(shù)為15 。34. 執(zhí)行“typedef int ABC10;”語句把ABC定義為具有10個(gè)整型元素的_數(shù)組_類型。35. strcat()函數(shù)用于連接兩個(gè)字符串。36假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為46,則*p+的值為 25 。37. 若要把一個(gè)整型指針

12、p轉(zhuǎn)換為字符指針,則采用的強(qiáng)制轉(zhuǎn)換表達(dá)式為(char*)p 。38. NULL是一個(gè)符號(hào)常量,通常作為空指針值,它對(duì)應(yīng)的值為 0 。 39. 假定要?jiǎng)討B(tài)分配一個(gè)類型為struct Worker的對(duì)象,并由r指針指向這個(gè)對(duì)象,則使用的表達(dá)式為 struct Worker* r =malloc(sizeof(struct Worker)。40. 在一個(gè)C語言程序文件中,若要包含另外一個(gè)頭文件或程序文件,則應(yīng)使用的預(yù)處理命令為#include。41. 用于從鍵盤上為變量輸入值的標(biāo)準(zhǔn)輸入函數(shù)的函數(shù)名為scanf 。42. 假定一個(gè)枚舉類型的定義為“enum RAab,ac,ad,ae;”,則ac的值為

13、_1 。43double類型的長度為_8_。44. 執(zhí)行“int x=45,y=13;printf(%d,x/y);”語句序列后得到的輸出結(jié)果為_3_。45. 表達(dá)式x=x+y表示成復(fù)合賦值表達(dá)式為 x+=y 。46. 假定x=5,則執(zhí)行“a=(!x? 10: 20);”語句后a的值為_20_。 47. 假定一維字符指針數(shù)組的定義為“char* a8;”,則該數(shù)組占用的存儲(chǔ)空間的字節(jié)數(shù)為_32_。48. 假定二維數(shù)組的定義為“double aMN;”,則每個(gè)數(shù)組元素的行下標(biāo)取值范圍在_0M-1 之間。 49. 空字符串的長度為_0_。50. 在函數(shù)外定義的變量,若沒有被初始化則系統(tǒng)隱含對(duì)它所賦

14、的初值為 0_。51. 若p指向x,則 *p 與x的表示是等價(jià)的。52. 與結(jié)構(gòu)成員訪問表達(dá)式(*fp).score等價(jià)的表達(dá)式為 fp-score 。53執(zhí)行“printf(%c,A+2);”語句后得到的輸出結(jié)果為_C_。 54short int類型的長度為_2_。55. 用類型關(guān)鍵字表示十進(jìn)制常數(shù)3.26f的類型為 float 。 56. 假定y=10,則表達(dá)式+y*3的值為_33_。57. 邏輯表達(dá)式(x=0 & y5)的相反表達(dá)式為(x!=0 | y=5) 或:(x | y=5)。58若x=5,y=10,則x!=y的邏輯值為_1(真,true)_。 59. 假定二維數(shù)組的定義為“int

15、 a35;”,則該數(shù)組所占存儲(chǔ)空間的字節(jié)數(shù)為_60_。60. 使用“typedef char BB1050;”語句定義_BB_為含有10行50列的二維字符數(shù)組類型。61. 字符串a(chǎn):xxkfile.txt的長度為_15_。62假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為46,則*+p的值為_46_。63. 假定一個(gè)數(shù)據(jù)對(duì)象為int*類型,則指向該對(duì)象的指針類型為_int*_。64假定一個(gè)結(jié)構(gòu)類型的定義為 “struct Aint a,b; A* c;”,則該類型的理論長度為_12_。65. 假定要訪問一個(gè)結(jié)構(gòu)對(duì)象x中的數(shù)據(jù)成員a,則表示方式為_x.a_。三、寫出下列每個(gè)程序運(yùn)行后的輸出結(jié)果

16、1. #include void main() int i,j,k=0; for(i=0; i5; i+)for(j=i; j5; j+) k+; printf(%dn,k); 運(yùn)行結(jié)果:152. #include void main() int x=20; int i=2; while(ix) if(x%i=0) printf(%d ,i); x/=i; i+; 運(yùn)行結(jié)果:2 53. #include void main() int a8=70,63,54,95,40,75,90,66; int i, s=0; for(i=0; i=70 & ai=90) s+=ai; printf(s=%

17、dn,s); 運(yùn)行結(jié)果:s=2354. #include int WF(int x, int y) x=x+y; y+=x; return x+y; void main() int x=3, y=5;printf(%dn,WF(x,y); 運(yùn)行結(jié)果: 215. #include int LA(int *a, int n) int i,s=0;for(i=0;in;i+) s+=ai; return s; void main() int a5=1,2,3,4,5; int b=LA(a,5)+LA(a+1,3); printf(b=%dn,b); 運(yùn)行結(jié)果: b=246. #include vo

18、id main() int x=5; switch(2*x-1) case 4: printf(%d ,x); break; case 7: printf(%d ,2*x); break; case 10: printf(%d ,3*x); break; default: printf(%s ,default); printf(%sn,switch end.); 運(yùn)行結(jié)果:default switch end.7. #include void main() int f1,f2,i; f1=1;printf(%d ,f1); for(i=2;i=5;i+) f2=3*f1+1; printf(%

19、d ,f2); f1=f2; printf(n); 運(yùn)行結(jié)果: 1 4 13 40 1218. #include void main() int a10=12,39,26,41,55,63,72,40,83,95; int i, i1=0, i2=0; for(i=0;i10;i+)if(ai%2=1) i1+; else i2+; printf(%d %dn,i1,i2); 運(yùn)行結(jié)果:6 4 9. #include #include void main( ) char s15=; int i, n=strlen(s) ; for(i=0; in/2; i+) char c=si; si=sn

20、-1-i; sn-1-i=c; printf(%sn,s); 運(yùn)行結(jié)果:10. #includeint LB(int *a, int n) int i,s=1;for(i=0;in;i+) s*=*a+; return s; void main() int a=1,2,3,4,2,4,5,2; int b=LB(a,4)+LB(a+3,3); printf(b=%dn,b); 運(yùn)行結(jié)果: b=5611. #include void main() int i, s=0; for(i=1;i+) if(s30) break; if(i%2=0) s+=i; printf(s=%dn,s); 運(yùn)行結(jié)

21、果:s=4212. #include void main() int a9=36,25,48,24,55,40,18,66,20; int i, b1, b2; b1=b2=a0;for(i=1; ib1) b1=ai; if(aib2) b2=ai; 第4/8頁 printf(%d %dn,b1,b2); 運(yùn)行結(jié)果:66 1813. #include void SB(char ch) switch(ch) case A: case a: printf(WW ); break; case B: case b: printf(GG ); break; default:printf(BB ); b

22、reak; void main() char a1=a,a2=B,a3=f; SB(a1);SB(a2);SB(a3); printf(n); 運(yùn)行結(jié)果:WW GG BB14. #include #define M 6 void main() int i,x;int aM=10,15,22,37,46,58; for(i=0; iM/2; i+)x=ai; ai=aM-1-i; aM-1-i=x;for(i=0; i6; i+) printf(%d ,ai); printf(n); 運(yùn)行結(jié)果:58 46 37 22 15 1015. #include struct Worker char na

23、me15; int age; float pay; ; void main() struct Worker x=wanghua,52,2350; struct Worker y, *p; y=x; p=&x;printf(%d %7.2fn, y.age+p-age, p-pay+20); 運(yùn)行結(jié)果:104 2370.0016. #include void main() int i,s=0;for(i=1;i6;i+) s+=i*i; printf(“s=%dn”,s); 運(yùn)行結(jié)果: s=5517. #include #define N 6 void main() int i,aN=2,5,8

24、,10,15,21; for(i=0; iN; i+)if(ai%5) printf(%d ,ai); printf(n); 運(yùn)行結(jié)果: 2 8 2118. #include #include void main() int i;unsigned int len;char* a5=student,worker,cadre,soldier,zzeasan123; len=strlen(a0); for(i=1; ilen) len=strlen(ai); printf(%dn,len); 運(yùn)行結(jié)果:1019. #include void main() int a,b;for(a=2,b=3; b

25、20;) printf(%d %d ,a,b); a=a+b; b=a+b; printf(%d %dn,a,b); 運(yùn)行結(jié)果:2 3 5 8 13 2120. #includevoid LE(int* a, int* b) int x=*a; *a=*b; *b=x; void main() int x=15, y=26; printf(%d %dn,x,y); LE(&x,&y);printf(%d %dn,x,y); 運(yùn)行結(jié)果:15 26 26 1521. #include void main() 第5/8頁 int i, s1=0, s2=0; for(i=0;i10;i+) if(i

26、%2) s1+=i; else s2+=i;printf(%d %dn,s1,s2); 運(yùn)行結(jié)果: 25 2022. #include const int M=20; void main() int i=2; while(1) if(iM/2) break;if(M%i=0) printf(%d ,i); i+; printf(n); 運(yùn)行結(jié)果: 2 4 5 1023. #includeint a6=4,5,6,15,20,12; void main() int i,s1,s2; s1=s2=0;for(i=0; i6; i+) switch(ai%2) case 0: s2+=ai;brea

27、k; case 1: s1+=ai;break; printf(%d %dn,s1,s2); 運(yùn)行結(jié)果:20 4224. #include void main() int a33=3,5,7,9,11,13,6,8,20; int i,*p=&a00; for(i=0;i10) printf(%d ,*p); p+; printf(n); 運(yùn)行結(jié)果:11 13 2025. #include #includestruct Worker char name15; int age; float pay; void main() struct Worker x; char *t=liouting;in

28、t d=38; float f=400; strcpy(,t); x.age=d; x.pay=f; x.age+; x.pay*=2;printf(%s %d %6.2fn,,x.age,x.pay); 運(yùn)行結(jié)果: liouting 39 800.0026. #include void main() int i,j ,k=0; for (i=O;i5;i+) for(j=i;j5;j+) k+; printf(%dn,k) ; 運(yùn)行結(jié)果:1527. #include void main() int x=20; int i=2; while(ix) if(x%i=0)

29、printf(%d,i); x/=i; i+; 運(yùn)行結(jié)果:2528. #include void main() int a8=76,63,54,95,40,75,90,66; int i, s=0; for(i=0;i=70 & ai=90) s+=ai; printf(s=%dn,s) ; 運(yùn)行結(jié)果:s=24129. #include int WF(int x , int y) x=x+y; y+=x; return x+y; void main() int x=3 , y=8;printf(%dn ,WF(x,y); 運(yùn)行結(jié)果:3030. #include int LA(int *a,in

30、t n) int i,s=O;第6/8頁 for(i=O; in;i+) s+=ai; return s; void main() int a5=1 ,2,3,4,5; int b=LA(a,5)+LA(a+2,3); printf(b=%dn,b); 運(yùn)行結(jié)果:b=27四、寫出下列每個(gè)函數(shù)的功能 1. int WC(int a,int n, int k) int i, c=O; for(i=O; i=k) c+; return c; 函數(shù)功能:統(tǒng)計(jì)并返回一維整型數(shù)組an中大于等于k的值的個(gè)數(shù)。2. void QA(struct Worker a,int n) int i;for(i=O; i

31、n; i+)scanf(%s%d%f, ,&ai.age,&ai.pay); 假定結(jié)構(gòu)類型 struct Worker的定義如下:struct Workerchar name15;int age;float pay;函數(shù)功能:從鍵盤上為具有struct Worker類型的數(shù)組an輸入n個(gè)記錄。3. #includeint SA(int a, int b) if(ab) return 1; else if(a=b) return 0; else return -1; 函數(shù)功能:比較兩個(gè)整數(shù)a和b的大小,若ab則返回1,若a=b則返回0,若adata); f=f-next; prin

32、tf(n); 假定struct IntNode的類型定義為:struct IntNode int data; struct IntNode* next; 函數(shù)功能:遍歷并輸出由f所指向的單鏈表中每個(gè)結(jié)點(diǎn)的值。5. int SG(int x) /x為大于等于2的整數(shù) int i=2;if(x=2 | x=3) return 1; while(i*i=x) if(x%i=0) break; i+; if(i*idata; f=f-next; while(f) if(f-datax) x=f-data; f=f-next; return x; 假定struct IntNode的結(jié)點(diǎn)類型定義為:str

33、uct IntNode int data; struct IntNode* next; 函數(shù)功能:求出并返回由f所指向的單鏈表中所有結(jié)點(diǎn)的最大值。五、按題目要求編寫程序或函數(shù)1. 編寫一個(gè)程序,計(jì)算1+3+32+.+310的值并輸出,假定分別用i,p,s作為循環(huán)變量、累乘變量和累加變量的標(biāo)識(shí)符。 程序?yàn)椋?include void main() int i;int p=1; int s=1; for(i=1;i=10;i+) p*=3; s+=p; printf(%dn,s); 2. 根據(jù)函數(shù)原型“int FF(int a, int n)”,編寫函數(shù)定義,計(jì)算并返回?cái)?shù)組an中所有元素之和。 程序?yàn)椋篿nt FF(int a, int n) int i,sum=0; for(i=0; in; i+) sum+=ai; return sum; 3. 編寫一個(gè)主函數(shù),計(jì)算1+3+32+.+310的值并輸出,假定分別用i,p,s作為循環(huán)變量、累乘變量和累加變量的標(biāo)識(shí)符。 程序?yàn)椋?include void main()第7/8頁 int i;int p=1; int s=1; for(i=1;i=10;i+) p*=3; s+=p; printf(%dn,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論