電大C語言程序設(shè)計作業(yè)答案_第1頁
電大C語言程序設(shè)計作業(yè)答案_第2頁
電大C語言程序設(shè)計作業(yè)答案_第3頁
電大C語言程序設(shè)計作業(yè)答案_第4頁
電大C語言程序設(shè)計作業(yè)答案_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、A6 B 7 C 8D 9請你核對,并做更改。C語言程序設(shè)計形成性作業(yè)一C 語言程序設(shè)計形成性考核冊參考答案作業(yè) 2009-06-30 23:01 閱讀 355 評論 1 字號: 大大 中中 小小 一、 選擇題1. 在每個C語言程序中都必須包含有這樣一個函數(shù),該函數(shù)的函數(shù)名為(A)。A main B MAIN C nameD funtion2. C語言原程序文件的缺省擴展名為(D)。AcppB exeCobjD C3由C語言目標(biāo)文件連接而成的可執(zhí)行的缺省擴展名為(B)。A. cppB. exeC. objD. C4程序運行中需要從鍵盤輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間應(yīng)使用(D)符號作為分隔符。A

2、.空格或逗號 B 逗號或回車C 回車或分號D空格或回車5 每個C語言程序的編譯錯誤分為(B)類。A. 1 B 2 C 3 D 46. 設(shè)x和y均為邏輯值,則 x && y為真的條件是(A)。A.它們均為真 B 其中一個為真C 它們均為假D其中一個為假7設(shè)有語句“ int a=12;a+=a*a; ”,則執(zhí)行結(jié)束后, a 的值為( C)。A12 B 144 C 156 D2888x>0 && x<=10 的相反表達式為( A)。A x<=0 | X>10 B x<=0 && x>10 C x<=0 | x&

3、lt;=10 D x>0 && x>10 9.字符串“ a+b=12n ”的長度為(B)。10在下列符號常量定義中。錯誤的定義語句格式為(C)。Aconst M1=10; B const int M2=20; C const M310 Dconst char mark='3'11. 帶有隨機函數(shù)的表達式rand()%20的值在(C)區(qū)間內(nèi),A119B120C019 D02012. 當(dāng)處理特定問題時的循環(huán)次數(shù)已知時,通常采用(A)循環(huán)來解決。A . forB. whileC . do-whileD .switch13. 在 switch 語句的每個 c

4、ase 塊中,假定都是以 break 語句結(jié)束的,則此 switch 語句容 易被改寫為(B)語句。A. for B . if C . do D . while14. for語句能夠被改寫為(D)語句。A.復(fù)合 B . if C . switch D . while15下面循環(huán)語句執(zhí)行結(jié)束后輸出的i 值為( B)。for(int i=0;i<n;i+)if(i>n/2)cout<<i<<endl;break;An/2Bn/2+1Cn/2-1D n-116.在下面循環(huán) w語句中內(nèi)層循環(huán)體 S語句的執(zhí)行次數(shù)為(D)。for(int i=0;i<n;i+)f

5、or(int j=i;j<n;j+)S;An2B (n+1)/2 C n(n-1)/2 Dn(n+1)/217在下面的 do 循環(huán)語句中,其循環(huán)體被執(zhí)行的次數(shù)為( A )。int i=0;do i+;while(i*i<10);A4 B 3 C 5D 2、填空題1C 語言中的每條簡單語句以 _; 作為結(jié)束符。2C 語言中的每條復(fù)合語句以 _ 作為結(jié)束符。3在 C 語言程序的每個程序行后面或單獨一行的開始使用注釋的標(biāo)記符為_/_ 。4單行或多行注釋的結(jié)束標(biāo)記符為_*/ 。5. 在一個C程序文件中,若要包含另外一個頭文件或程序文件,則應(yīng)使用以_#include 標(biāo)識符開始的預(yù)處理命令。

6、6. 在 #include 命令中所包含的頭文件,可以是系統(tǒng)定義的頭文件,也可以是_用戶_定 義的頭文件。7. 一個函數(shù)定義由 _函數(shù)頭 和函數(shù)體兩部分組成。8. 用于輸出表達式的標(biāo)準(zhǔn)輸出函數(shù)是_printf( )。9. 當(dāng)不需要函數(shù)返回任何值時,則應(yīng)使用 _void 標(biāo)識符定義函數(shù)類型。10 . 執(zhí) 行 “ printf( “ %d-%d=%d” ,43,18,43-18);” 語 句 后 得 到 的 輸 出 結(jié) 果 為_43-18=25 。11每個C程序文件在編譯時可能出現(xiàn)有警告性錯誤,其對應(yīng)的標(biāo)識符為_warning。12每個C程序文件在編譯時可能出現(xiàn)有致命性錯誤,其對應(yīng)的標(biāo)識符為_er

7、ror 。13. 十進制數(shù)25表示成符合C語言規(guī)則的十六進制數(shù)為 0x19_。14. 在 C 語言中,轉(zhuǎn)義字符序列 _n_ 表示一個換行符。15. 執(zhí)行“ printf( “%c”, 'F'-2); ”語句后得到的輸出結(jié)果為_D_。16. 已知A' ' Z'的 ASCII 碼為 65-90 ,當(dāng)執(zhí)行 “int x=' C' +5; ” 語句所 x 的值為 _72_.17. 假定一個枚舉類型的定義為“enum RBab,ac=3,ad,aex=ad; ”,則 x 的值為 _4_.18 char 類型的大小為 _1_個字節(jié)。19 int 類型

8、的大小為 _4_ 個字節(jié)。20 float 類型的大小為 _4_個字節(jié)。21十進制數(shù) 28 類型為 _int_ 。22十進制數(shù) 3.26 類型為 _double_ 。23若需要定義一個符號常量, 并且使 C 語言能夠進行類型檢查, 則應(yīng)在定義語句的開始使 用保留字 const_ 。24使用 const 語句定義一個符號常量時,則必須對它同時進行_ 定義類型和賦初值 _。25執(zhí)行“ int x=45,y=13;printf(“%d” ,x%y); ”語句序列后得到的輸出結(jié)果為_6_。26.假定x=5,則表達式2+X+的值為_7_。27表達式 (float)25/4的值為 _6.25_ 。28.

9、表達式 (int)14.6%5 的值為 _4_ 。29. 表達式 X=X+1 表示成增量表達式為 _X+_。30. 增量表達式 +y 表示成賦值表達式為 _y+=1_。31. 關(guān)系表達式 (X!=0) 的等價表達式為 X_ 。32. 假定不允許使用邏輯非操作符,則關(guān)系表達式X+y>5 的相反表達式為 _X+y<=5_。33. 假定不允許使用邏輯非操作符,則邏輯表達式 a>b | b=5的相反表達式為 a<=b && (b>5 | b<5)。34. 若 X=5,y=10 ,則 X>y 邏輯值為 _false_ 。35. 若 X=5,y=1

10、0 ,則 X<=y 邏輯值為 _true_ 。36. 假定x=5,則執(zhí)行“ a=(x?10:20); ”語句后a的值為_10_。37. 執(zhí)行“ typedef int DataType;”語句后,在使用 int 定義整型變量的地方都可以使用_DataType_ 來定義整型變量。38.在 switch 語句中,每個語句標(biāo)號所含保留字 case 后面的表達式必須是 _整型40在 switch 語句時,在進行作為條件的表達式求值后,將從某個匹配的標(biāo)號位置起向下 執(zhí)行,當(dāng)碰到下一個標(biāo)號位置時(停止/不停止) _不停止 _執(zhí)行。41若 do 循環(huán)的“尾”為“ while(+i<10) ”,并

11、且 i 的初值為 0,同時在循環(huán)體不會修改 i 的值,由循環(huán)體將被重復(fù)執(zhí)行 _10_次后正常結(jié)束。42當(dāng)在程序執(zhí)行到 _break_ 語句時,將結(jié)束本層循環(huán)語句或 switch 語句的執(zhí)行。43在程序中執(zhí)行到 _return_ 語句時, 將結(jié)束所在函數(shù)的執(zhí)行過程, 返回到調(diào)用該函數(shù)的44在程序執(zhí)行完 _主 (main)_ 函數(shù)調(diào)用后, 將結(jié)束整個程序的執(zhí)行過程, 返回到操作系統(tǒng) 或 C 語句集成開發(fā)環(huán)境界面窗口。三、寫出下列每個程序運行后的輸出結(jié)果1. #include<stdio.h>void main()int x=5;switch(2*x-3)case 4:printf(&q

12、uot;%d ",x);case 7:printf("%d ",2*x+1);case 10:printf("%d ",3*x-1);break;default:printf("%s ","defaultn");printf("%sn","switch end.");輸出結(jié)果為:11 14 switch end.Press any key to continue2. #include<stdio.h>void main()int i,s=0;for(i=

13、1;i<=6;i+) s+=i*i;printf("s=%dn",s);輸出結(jié)果為:s=91.Press any key to continue3. #include<stdio.h>void main()int i,s1=0,s2=0;for(i=0;i<10;i+)if(i%2)s1+=i;else s2+=i;printf("%d %dn",s1,s2);輸出結(jié)果為:25 20.Press any key to continue4. #include<stdio.h>void main()int n=10,y=1

14、;while(n-)y+;y+;printf("y=%dn",y);輸出結(jié)果為:y=21.Press any key to continue5. #include<stdio.h>int f,f1,f2,i;f1=f2=1;printf("%d %d ",f1,f2);for(i=3;i<=10;i+)f=f1+f2;printf("%d ",f);if(i%5=0)printf("n");f1=f2;f2=f;printf("n");輸出結(jié)果為:1 1 2 3 58 13 2

15、1 34 55Press any key to continue6. #include<stdio.h>#include<math.h>void main()int i,n;for(n=2;n<=20;n+)int temp=(int)sqrt(n);/sqrt(n)求出 n 的平方根并取整for(i=2;i<=temp;i+)if(n%i=0)break;if(i>temp)printf("%d ",n);printf("n");輸出結(jié)果為:2 3 5 7 11 13 17 19Press any key to

16、 continue7. #include<stdio.h> #include<math.h> const int M=20;void main()int i,c2,c3,c5;c2=c3=c5=0;for(i=1;i<=M;i+)if(i%2=0)c2+;if(i%3=0)c3+;if(i%5=0)c5+;printf("%d %d %dn",c2,c3,c5);輸出結(jié)果為:10 6 4Press any key to continue8. #include<stdio.h>#include<math.h>const i

17、nt M=20;void main()int i,s;for(i=1,s=0;i<15;i+)if(i%2=0 | i%3=0)continue;printf("%d ",i);s+=i;printf("%dn",s);輸出結(jié)果為:1 5 7 11 13 37Press any key to continueC語言程序設(shè)計形成性考核冊參考答案作業(yè)C 語言程序設(shè)計形成性考核冊參考答案作業(yè) 2009-06-30 23:03 閱讀 298 評論 1 字號: 大大 中中 小小 一、 選擇題1. 在下面的一維數(shù)組定義中, (C)語句有語法錯誤。Aint a=

18、1,2,3; Bint a10=0;C int a; D int a5;n2在下面的二維數(shù)組定義中,(C)語句是正確的。Aint a5; B a(10)int a5;int a3=1,3,5,2;int3假定一個二維數(shù)組的定義語句為值為( C)。inta34=3,4,2,8,6;則元素 a12A2 B 4 C 6 D84假定一個二維數(shù)組的定義語句為 值為( A)。inta34=3,4,2,8,6;則元素 a21A0 B 4 C 8 D65將兩個字符串連接起來組成一個字符串時,選用(C)函數(shù)。A strlen() B strcap()C strcat() D strcmp()二、填空題1假定一維

19、數(shù)組的定義為“char * a8; ”,則該數(shù)組所含元素的個數(shù)為_8。2假定一維數(shù)組的定義為 “char * a8; ”,則該數(shù)組所占存儲空間的字節(jié)數(shù)為 _323假定二維數(shù)組的定義為 “int a35 ”,則該數(shù)組所占存儲空間的字節(jié)數(shù)為 _604假定二維數(shù)組的定義為“ char aMN; ”,則該數(shù)組所所含元素的個數(shù)為 _M*N。5假定二維數(shù)組的定義為“ double aMN; ”,則每個數(shù)組元素的行下標(biāo)取值范圍在_0M-1_之間。6假定二維數(shù)組的定義為“double aMN; ”,則每個數(shù)組元素的列下標(biāo)取值范圍在_0N-1_之間。7使用“ typedef char BB1050;”語句定義

20、_BB為含有 10 行 50 列的二維字符數(shù)組類型。&存儲字符a'需要占用存儲器的_1個字節(jié)空間。9空字符串的長度為 _0。10存儲一個空字符串需要占用_1_個字節(jié)。11字符串”數(shù)據(jù)”的長度為 _1 1 。12用于存儲一個長度為n 的字符串的字符數(shù)組的長度至少為_n+1 。13 strcmp 函數(shù)用于進行兩個字符串之間的_大小比較 _。14 Strcpy 函數(shù)用于把一個字符串 _復(fù)制到 _另一個字符數(shù)組空間中。15一個二維字符數(shù)組a1020 能夠存儲 _ 10_ 個字符串。16一個二維字符數(shù)組a1020 能夠存儲的每個字符串的長度至多為_19_.三、寫出下列每個程序運行后的輸出

21、結(jié)果1. #include<stdio.h>void main()int a10=12,39,26,41,55,63,72,40,83,95;int i,i1=0,i2=0;for(i=0;i<10;i+)if(ai%2=1)i1+;else i2+;printf("%d %dn",i1,i2);輸出結(jié)果為:6 4Press any key to continue2. #include<stdio.h>#include<string.h>void main()int i;char *a5="student",&q

22、uot;worker","cadre","soldier","peasant"char *p1,*p2;p1=p2=a0;for(i=0;i<5;i+)if(strcmp(ai,p1)>0)p1=ai;if(strcmp(ai,p2)<0)p2=ai;printf("%s %sn",p1,p2);輸出結(jié)果為:worker cadrePress any key to continue3. #include<stdio.h>int a10=4,5,6,15,20,13,12,7,

23、8,9;void main()int i,s0,s1,s2;s0=s1=s2=0;for(i=0;i<10;i+)switch(ai%3)case 0:s0+=ai;break;case 1:s1+=ai;break;case 2:s2+=ai;break;printf("%d %d %dn",s0,s1,s2);輸出結(jié)果為:42 24 33Press any key to continue4. #include<stdio.h> void main()char a="abcdbfbgacd"int i1=0,i2=0,i=0;whil

24、e(ai)if(ai='a')i1+;if(ai='b')i2+;i+;printf("%d %d %dn",i1,i2,i);輸出結(jié)果為:2 3 11Press any key to continue5. #include<stdio.h>void main()int a34=1,2,7,8,5,6,10,6,9,12,3,4;int m=a00;int ii=0,jj=0;int i,j;for(i=0;i<3;i+)for(j=0;j<4;j+) if(aij>m)m=aij;ii=i;jj=j; prin

25、tf("%d %d %dn",ii,jj,aiijj);輸出結(jié)果為:2 1 12Press any key to continue6. #include<stdio.h>void main()int a,b;for(a=1,b=2;b<50;)printf("%d %d ",a,b);a=a+b;b=a+b;printf("n");輸出結(jié)果為:1 2 3 5 8 13 21 34Press any key to continue四、寫出下列每個函數(shù)的功能1. #include<stdio.h> int S

26、A(int a,int b)if(a>b)return 1;else if(a=b)return 0;else return -1;函數(shù)功能為:根據(jù)實參a大于、等于或小于實參b,返回1,0或-12. #include<stdio.h>int SC(int a,int b,int c)if(a>=b && a>=c)return a;if(b>=a && b>=c)return b;return c;函數(shù)功能為:返回實參 a、 b 、 c 中的最大數(shù)3. double SF(double x,int n) /n 為大于等于

27、 0 的整數(shù) double p=1,s=1;for(i=1;i<=n;i+)p*=x;s+=p/(i+1);return s;函數(shù)功能為:計算 x+x2/2+x3/3+ +xn/(n +1)的值4. #include<math.h>int SC(int x)int a=(int)sqrt(x);int i=2;while(i<=a)if(x%i=0)break;i+;if(i<=0)return 0;else return 1;函數(shù)功能為: 判斷一個整數(shù)是否是素數(shù)5. #include<stdio.h>void trans(int x)char a10

28、;int i=0,rem;dorem=x%16;x=x/16;字符的 ASCII 碼為 48字符的 ASCII 碼為 55if(rem<10)ai=48+rem;/'0'else ai=65+rem; /'A' i+;while(x!=0);while(i>0)printf("%c",a-i);printf("n");函數(shù)功能為:將一個整數(shù)化成十六進制數(shù)五、根據(jù)下列每個題目要求編寫程序1. 編寫一個函數(shù),函數(shù)頭格式為“ void fun4(char *a , int b) ”,分別求出由字符指針 a 所指向的字

29、符串中包含的每種十進制數(shù)字出現(xiàn)的次數(shù),把統(tǒng)計結(jié)果保存在數(shù)組 b 的相應(yīng)元素。#include<stdio.h>void fun4(char* a,int b)doif(*a>='0' && *a<='9')b*a-48+;while(*a+);/*void main()char * a="122333444499888"int b10=0;fun4(a,b);for(int i=0;i<10;i+)printf("%d ",bi);*/2. 編寫一個函數(shù),函數(shù)頭格式為“ dou

30、ble Mean(double aMN , int m , int n) ”, 要求返回二維數(shù)組 amn 中所有元素的平均值, 假定在計算過程是采用變量 v 存放平均值。#include<stdio.h>const int M=2,N=3;double Mean(double aMN, int m,int n )double v=0;for(int i=0;i<m;i+)for(int j=0;j<n;j+)v+=aij;return v/(m*n);/*void main()double a23=1,2,3,4,5,6;printf("%lfn",

31、Mean(a,2,3);*/3. 編寫一個遞歸函數(shù)“ int FF(int a , int n) ”,求出數(shù)組 a 中所有元素 素之積并返回。#include<stdio.h>int FF(int a , int n)int mul=1;if(n=1)mul*=a0;else mul=an-1*FF(a,n-1);return mul;/*void main()int a6=1,2,3,4,5,6;printf("%dn",FF(a,6);*/4.編寫一個主函數(shù),利用while循環(huán),求出并顯示滿足不等式1+1/2+1/3+ 的最小 n 值。#include<

32、;stdio.h>n 個元+1/n>5void main()double sum=0;int n=1;while(true)if(sum + 1/(double)n > 5)break;elsesum += 1/(double)n;n+;printf("%d, %lfn",n,sum);5.編寫一個主函數(shù),求滿足不等式22+42+n2<1000的最大n值,假定分別用i和 s 為取偶數(shù)值和累加值的變量,并限定使用 do 循環(huán)編程。#include<stdio.h>void main()int s=0,i=2;dos+=i*i;if(s+(i

33、+2)*(i+2)>=1000)break;else i+=2;while(true);printf("i=%d,s=%d",i,s);6. 編寫一個主函數(shù),計算并輸出 n 的值,其中 n 值由鍵盤輸入。#include<stdio.h>void main()int s=0,n;printf(" 請輸入 n 的值: ");scanf("%d",&n);for(int i=1;i<=n;i+)s+=i*i;printf("n=%d,s=%d",n,s);C語言程序設(shè)計形成性考核冊參考答

34、案作業(yè)三C 語言程序設(shè)計形成性考核冊參考答案作業(yè) 2009-06-30 23:05 閱讀 342 評論 0 字號: 大大 中中 小小 一、 選擇題1. 在下面的(C)函數(shù)聲明語句存在語法錯誤。AAA(int a,int b); B AA(int ,int) CAA(int a;int b) DAA(int a,int)2在下面的(C)不能作為函數(shù)的返回類型。A.void B. int C.new D . long3.下面正確的函數(shù)原型語句是(B)。A.int FunCtion(void a); B. void FunCtion(int);C.int FunCtion(a);D. void in

35、t(double a);4.函數(shù)調(diào)用funC(exp1,exp2),exp3*exp4-exp5)中所含實參的個數(shù)為( B)個。A. 1 B . 2 C . 4 D . 55 .下面的標(biāo)識符中,(C)是文件級作用域。A.函數(shù)形參B.語句標(biāo)號C .電腦商場特別版1變量p的正確語句為(B )。A double p=&k;Bdouble *p=&k;C double &p=*k;DChar *p= ”Thank you!”;13. 假定一條定義語句為"int a10,x,*pa=a;”,若要把數(shù)組a中下標(biāo)為3的元素賦值給 x,則不正確的語句為(D )。A x=pa3

36、;B x=*(a+3); C a=a3; D x=*pa+3;14. 假定有定義“ int b10;int *pb; ”,則不正確的賦值語句為( C )。A. pb=b; B . pb=&b0; C . pb=b+2; D . pb=b5;15. 假定指針變量 p 定義為“ int *p=new int(100); ”,要釋放 p 所指向的動態(tài)內(nèi)存,應(yīng)使 用語句( D )。A. deletep; Bdelete *p; Cdelete &p; D. delete p;16假定指針變量 p 定義為“ int *p=calloc(30,sizeof(int); 內(nèi)存,應(yīng)使用語句(

37、D )。,要釋放 p 所指向的動態(tài)A deletep; Bdeldete(p); C freep;Dfree(p);二、填空題1在C語言中,一個函數(shù)由函數(shù)頭和函數(shù)體組成。2在函數(shù)外定義的變量稱為全局變量,若沒有被初始化則系統(tǒng)隱含對它所賦的初值為_0 。3如果一個函數(shù)只允許同一程序文件中的函數(shù)調(diào)用,則應(yīng)在訪函數(shù)定義前加上的C保留字為為 _static 。4 如果一個函數(shù)直接或間接地調(diào)用自身,這樣的調(diào)用被稱為遞歸調(diào)用。5 調(diào)用系統(tǒng)函數(shù)時,要先使用#in elude命令包含該函數(shù)的原型語句所在_頭文件。6函數(shù)形參的作用域是該函數(shù)的內(nèi)部。7.假定p所指對象的值為25, p+1所指對象的值為46,則*p

38、+的值為_25。&假定p所指對象的值為 25, p+1所指對象的值為46,則*+p的值為_46。9.假定p所指對象的值為25, p+1所指對象的值為46,則執(zhí)行“ *(p+); ”語句后,p所指 對象的值為 _46。10假定a是一個指針數(shù)組,則a+1所指對象的地址比 a地址大_4_字節(jié)。11 若 要把一 個整型指 針 p 轉(zhuǎn)換為 字符指針 , 則采 用 的 強制轉(zhuǎn)換表達式 為_(char*)p 。12假定一個數(shù)據(jù)對象為int* 類型,則指向該對象的指針類型為_int*13. 假定p是一個指向整數(shù)對象的指針,則用_&p_表示指針變量p的地址。14. 若p指向x,則*p與x的等價的

39、。15. NULL是一個符號常量,通常作為空指針值,它值為_ ' 0 ' (ASCII碼0).三、寫出下列每個程序運行后的輸出結(jié)果1. #include<stdio.h>void SB(char ch)switch (ch)case 'A':case 'a':printf("WW");break;case 'B':case 'b':printf("GG");break;case 'C':case 'c':printf("P

40、P");break;default:printf("BB");break;void main()char a1='b',a2='C',a3='f'SB(a1);SB(a2); SB(a3);SB('A');printf("n");輸出結(jié)果為:GGPPBBWWPress any key to continue2. #include<stdio.h>#include<stdlib.h>double SD(int a,int b,char op)double x;

41、switch(op)case '+':x=a+b;break;case '-':x=a-b;break;case '*':x=a*b;break;case '/':if(b)x=(double)a/b;else exit(1);break;default:(" 運算符錯! n");exit(1);return x;void main()int x=20,y=8;printf("%3.2lf ",SD(x,y,'-');printf("%3.2lf ",SD

42、(x,y,'*');printf("%3.2lf ",SD(x,y,'/');輸出結(jié)果為:12.00 160.00 2.50Press any key to continue3. #include<stdio.h>void WF(int x,int y)x=x+y;y=x+y;printf("subs:x,y=%d,%dn",x,y);void main()int x=18,y=23;printf("main:x,y=%d,%dn",x,y);WF(x,y);x=2*x;printf(&qu

43、ot;main:x,y=%d,%dn",x,y);輸出結(jié)果為:main:x,y=18,23subs:x,y=41,64main:x,y=36,23Press any key to continue4. #include<stdio.h>#include<string.h>void fun(char ss);void main()char s15="567891234"fun(s);printf("%sn",s);void fun(char ss)int i,n=strlen(ss);for(i=0;i<n/2;i+

44、)char c=ssi;ssi=ssn-1-i;ssn-1-i=c;輸出結(jié)果為:432198765Press any key to continue5. #include<stdio.h>void InsertSort(int a,int n)int i,j,x;for(i=1;i<n;i+)/ 進行 n 次循環(huán)x=ai;for(j=i-1;j>=0;j-)/為 x 順序向前尋找合適的插入位置if(x>aj)aj+1=aj;else break;aj+1=x;void main()int i;int a6=20,15,32,47,36,28;InsertSort(

45、a,6);for(i=0;i<6;i+)printf("%d ",ai);printf("n");輸出結(jié)果為:47 36 32 28 20 15Press any key to continue6. #include<stdio.h>void main()int a8=3,5,7,9,11,13,15,17;int i,*p=a;for(i=0;i<8;i+);printf("%5d ",*p+);if( (i+1)%4=0 )printf("n");輸出結(jié)果為:3 5 7 911 13 1

46、5 17Press any key to continue7. #include<stdio.h>int LA(int *a,int n)int i,s=0;for(i=0;i<n;i+)s+=ai;return s;void main()int a=5,10,15,20,25,30;int b=LA(a,4);int c=LA(a+2,3);printf("%d %dn",b,c);輸出結(jié)果為:50 60Press any key to continue8. #include<stdio.h> int LB(int *a,int n)int

47、i,s=1;for(i=0;i<n;i+)s*=*a+;return s;void main()int a=1,2,3,4,2,4,5,2;int b=LB(a,4)+LB(&a3,4);printf("b=%dn",b);輸出結(jié)果為:b=184Press any key to continue四、寫出下列每個函數(shù)的功能1. #include<stdio.h>int WB(int a,int n,int x)for(int i=0;i<n;i+)if(ai=x)return 1;return 0;函數(shù)功能為:根據(jù)整型數(shù)組元素中是否能找到整數(shù)x

48、 ,返回 1 或 02. #include<stdio.h>int WC(int a,int n,int k)int c=0;for(int i=0;i<n;i+)if(ai>=k)c+;return c;函數(shù)功能為:返回數(shù)組中前 n 個其值大于等于 k 的元素之和3. #include<stdio.h> #include<stdlib.h> #include<time.h> const int N=10;int ff(int x,int y)int z;printf("%d + %d = ",x,y);scanf

49、("%d",&z);if(x+y=z)return 1;else return 0;void main()int i,a,b,c=0;srand(time(0); / 初始化隨機數(shù)系列for(i=0;i<N;i+)a=rand()%20+1; /rand90 函數(shù)產(chǎn)生 0-32767 之間的一個隨機數(shù)b=rand()%20+1;c+=ff(a,b);printf(" 得分: %dn",c*10);函數(shù)功能為:函數(shù) ff 讓兩個數(shù)相加,要求輸入其和,判斷結(jié)果是否正確。在主函數(shù)中用隨機函數(shù)產(chǎn)生兩 個 20 以內(nèi)的隨機整數(shù),通過 10 次調(diào)用這個

50、函數(shù),算對一次得 10 分,計算所得分4. int fun6(int m,int n,int b=2)if(m<b && n<b)return m*n;else if(m%b=0 && n%b=0)return b*fun6(m/b,n/b,b);else return fun6(m,n,+b);2 參數(shù)的最小公倍數(shù);2 參數(shù)之乘積;函數(shù)功能為: 此函數(shù)帶有一個默認參數(shù),若使用默認值,則通過遞歸調(diào)用,返回前 不使用默認值時,若最后一個參數(shù)不小于前 2 個參數(shù),則返回前 否則,通過遞歸調(diào)用,返回前 2參數(shù)最小公倍數(shù)的 n 倍數(shù)。5. #include&

51、lt;stdio.h>#include<stdlib.h>void LI(int n)int * a= 電腦商場特別版 2 malloc(n*sizeof(int);int i;for(i=0;i<n;i+)scanf("%d",a+i);for(i=n-1;i>=0;i-)printf("%d ",*(a+i);printf("n");free(a);函數(shù)功能為: 將從鍵盤輸入的 n 個整數(shù)逆序輸出6. #include<stdio.h> int LK(double a,int n)doub

52、le s=0;int i,m=0;for(i=0;i<n;i+)s+=ai;s/=n;for(i=0;i<n;i+)if(ai>=s)m+;return m;函數(shù)功能為: 求不小于數(shù)組元素之平均值的各元素之和(前 n 個)字號: 大大 中中 小小選擇題C語言程序設(shè)計形成性考核冊參考答案作業(yè)四閱讀 497 評論 0C 語言程序設(shè)計形成性考核冊參考答案作業(yè)2009-06-30 23:071. 假定有“ struct BOOKchar title40;float price;struct BOOK *book; ” 則不正確的語句為( A)。A struct BOOK *x=mal

53、loc(book); B struct BOOK x= “C+ Programming ” ,27.0;C struct BOOK *x=malloc(sizeof(BOOK);D struct BOOK *x=&book;2.(B)。假定有“ struct BOOKchartitle40;float price; book;”,則正確的語句為Astruct BOOK x=&book; struct BOOK *x=&book;Cstruct BOOK x=calloc(BOOK); struct BOOK *x=BOOK;3表示文件結(jié)束的符號常量為(C)。Aeof B

54、 EofCEOFD feof4C 語言中系統(tǒng)函數(shù) fopen() 是(D) 個數(shù)據(jù)文件的函數(shù)。A讀取 B 寫入 C關(guān)閉 D 打開5從一個數(shù)據(jù)文件中讀入以換行符結(jié)束的一行字符串的函數(shù)為(B)。A gets()B fgets()C getc() D fgetc()6.向一個二進制文件寫入信息的函數(shù)fWrite() 帶有(D)參數(shù)。A1B 2 C3D 4、填空題1假定一個結(jié)構(gòu)類型的定義為 “ struct Aint a,b;A*c; ”,則該類型的大小為 _12字節(jié)。2假定一個結(jié)構(gòu)類型的定義為_24字節(jié)。struct Bint a5,char *b;,則該類型的大小為3假定一個結(jié)構(gòu)類型的定義為d2;

55、 ”,則該類型的大小為struct Dint a;unionint b;double c;struct D*20 字節(jié)。4假定要動態(tài)分配一個類型為 態(tài)數(shù)組,則使struct Worker 的具有 n 個元素的數(shù)組,并由 r 指向這個動用 語 句 的 表 達 式 為 structWorker*r=_(Worker*)malloc(n*sizeof(Worker);5假定要訪問一個結(jié)構(gòu) x 中的由 a 指針成員所指向的對象,則表示方法為_x.(*a)6假定要訪問一個結(jié)構(gòu)指針 p所指向?qū)ο笾械腷指針成員所指的對象, 則表示方法為 *(p->b)7.與結(jié)構(gòu)成員訪問表達式(*fp).score等價的表達式是_fp->score三、寫出下列每個程序運行后的輸出結(jié)果1. #include<stdio.h>struct Workerchar name15; /姓名int age; /年齡float pay; /工資;void main()struct Worker x="wanghua",52,23.50;struct Worker y,*p;y=x;p=&x;printf("%s %d %6.2fn",,y.age,y.pay);print

溫馨提示

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

評論

0/150

提交評論