電大C語言程序設(shè)計形成性考核冊答案2013_第1頁
電大C語言程序設(shè)計形成性考核冊答案2013_第2頁
電大C語言程序設(shè)計形成性考核冊答案2013_第3頁
電大C語言程序設(shè)計形成性考核冊答案2013_第4頁
電大C語言程序設(shè)計形成性考核冊答案2013_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計形成性考核冊共26頁-29 -C語言程序設(shè)計形成性考核作業(yè)1一、選擇題1. 在每個C語言程序中都必須包含有這樣一個函數(shù),該函數(shù)的函數(shù)名為(A )。A. main B . MAIN C . name D . funtion2. C語言原程序文件的缺省擴展名為( D )。A. cppB. exeC. objD. C3. 由C語言目標文件連接而成的可執(zhí)行的缺省擴展名為( B )。A. cppB. exeC. objD. C4. 程序運行中需要從鍵盤輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間應(yīng)使用(D )符號作為分隔符。A.空格或逗號 B .逗號或回車C .回車或分號D .空格或回車5. 每個C語言

2、程序的編譯錯誤分為( 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 )。A. 12 B . 144 C . 156 D . 288& x>0 && x<=10的相反表達式為(A )。A. x<=0 | X>10 B . x<=0 && x>10 C . x<=0 | x

3、<=10 D . x>0 && x>109.字符串“ a+b=12n ”的長度為(B )。A. 6 B . 7 C . 8 D . 910 .在下列符號常量定義中。錯誤的定義語句格式為(C )。A. const M仁 10; B . con st int M2=20;C . con st M3 10 D . co nst charmark=' 3';11 .帶有隨機函數(shù)的表達式rand()%20的值在(C )區(qū)間內(nèi),A. 119 B . 120 C . 019 D . 02012 .當處理特定問題時的循環(huán)次數(shù)已知時,通常采用(A )循環(huán)來解決。

4、A . for B . while C . do-while D . switch13 .在switch語句的每個case塊中,假定都是以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(i nt i=0;i <n ;i+)if( i>n /2)cout<<i<<e ndl;break;A. n/2 B . n

5、/2+1C . n/2-1 D . n-116. 在下面循環(huán) w語句中內(nèi)層循環(huán)體 S語句的執(zhí)行次數(shù)為( D )。for(i nt i=O;i <n ;i+)for(i nt j=i;j <n ;j+)S;2A. n B . (n+1)/2C . n(n-1)/2D . n(n +1)/217. 在下面的do循環(huán)語句中,其循環(huán)體被執(zhí)行的次數(shù)為( A )。in t i=0;do i+;while(i*i<10);A. 4 B . 3 C . 5 D . 2二、填空題1 . C語言中的每條簡單語句以 ;作為結(jié)束符。2 . C語言中的每條復(fù)合語句以 作為結(jié)束符。3. 在C語言程序的每

6、個程序行后面或單獨一行的開始使用注釋的標記符為/4. 單行或多行注釋的結(jié)束標記符為_*/。5. 在一個C程序文件中,若要包含另外一個頭文件或程序文件,則應(yīng)使用以_#include 標識符開始的預(yù)處理命令。6. 在#“ clude命令中所包含的頭文件,可以是系統(tǒng)定義的頭文件,也可以是用戶定 義的頭文件。7. 一個函數(shù)定義由函數(shù)頭和函數(shù)體兩部分組成。&用于輸出表達式的標準輸出函數(shù)是_printf( ) 。9. 當不需要函數(shù)返回任何值時,則應(yīng)使用_void標識符定義函數(shù)類型。10 .執(zhí)行“printf(“d-%d=%” ,43,18,43 -18); ”語句后得到的輸出結(jié)果為_43-18=2

7、5。11 .每個C程序文件在編譯時可能出現(xiàn)有警告性錯誤,其對應(yīng)的標識符為_warning12 .每個C程序文件在編譯時可能出現(xiàn)有致命性錯誤,其對應(yīng)的標識符為_error。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,當執(zhí)行“int x=' C' +5; ”語句所x的值為_7217 .假定一個枚舉類型的定義為“enum RBab,a

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

9、_7_。27. 表達式(float)25/4的值為 _6.25_。28. 表達式(int)14.6%5的值為 _4_。29. 表達式x=x+1表示成增量表達式為 _x+。30. 增量表達式+y表示成賦值表達式為 y+=1_。31. 關(guān)系表達式(x!=0)的等價表達式為x (x>0|x<0)。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,貝

10、U x>y 邏輯值為 false_(0)_ 。35. 若 x=5,y=10,則 x<=y 邏輯值為true_(1)_ 。36. 假定x=5,則執(zhí)行“ a=(x?10:20); ”語句后a的值為_10_。37. 執(zhí)行“ typedef int DataType; ”語句后,在使用int定義整型變量的地方都可以使用DataType來定義整型變量。38. 在switch語句中,每個語句標號所含保留字case后面的表達式必須是 _整型_。39. 作為語句標號使用的C保留字case和default只能用于_switch_ 語句的定義體中。40. 在switch語句時,在進行作為條件的表達式求

11、值后,將從某個匹配的標號位置起向下執(zhí)行,當碰到下一個標號位置時(停止/不停止)不停止執(zhí)行。41. 若do循環(huán)的“尾”為“ while(+i<10)”,并且i的初值為0,同時在循環(huán)體不會修改i的值,由循環(huán)體將被重復(fù)執(zhí)行_10次后正常結(jié)束。42. 當在程序執(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. #i nclude&

12、lt;stdio.h>void mai n()int x=5;switch(2*x-3)case 4:pri ntf("%d ",x);case 7:pri ntf("%d ",2*x+1);case 10:pri ntf("%d ",3*x-1);break; default:pri ntf("%s ",”default'n");printf("%sn",”switch end.");輸出結(jié)果為:11 14 switch endPress any key to

13、 con ti nue2. #i nclude<stdio.h> void mai n()int i,s=0;for(i=1;i<=6;i+) s+=i*i;prin tf("s=%dn",s);輸出結(jié)果為:s=91Press any key to con ti nue3. #i nclude<stdio.h>void mai n()in t i,s1= 0,s2=0;for(i=0;i<10;i+) if(i%2)s1+=i;else s2+=i;prin tf("%d %dn",s1,s2);輸出結(jié)果為:25 20

14、Press any key to con ti nue4. #i nclude<stdio.h>void mai n()int n=10,y=1;while( n_)y+;y+;prin tf("y=%dn",y);輸出結(jié)果為:y=21Press any key to con ti nue5. #i nclude<stdio.h>void mai n()int f,f1,f2,i;f1=f2=1;printf("%d %d ”,f1,f2); for(i=3;i<=10;i+) f=f1+f2;prin tf("%d &qu

15、ot;,f);if(i%5=0)pri ntf("n");f1= f2;f2=f;prin tf("n");輸出結(jié)果為:1 1 2 3 58 13 21 34 55Press any key to con ti nue6. #i nclude<stdio.h>#in clude<math.h>void mai n()int i,n;for(n=2; n<=20; n+)求出n的平方根并取整int temp=(i nt)sqrt (n );/sqrt (n) for(i=2;i<=temp;i+) if(n %i=0)b

16、reak; if(i>temp)printf("%d ”,n);prin tf("n");輸出結(jié)果為:2 3 5 7 11 13 17 19Press any key to con ti nue7. #i nclude<stdio.h>#in clude<math.h>con st int M=20;void mai n()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+;prin tf("%d %d %d

17、n" ,c2,c3,c5);輸出結(jié)果為:10 6 4Press any key to con ti nue8. #i nclude<stdio.h>#in clude<math.h>con st int M=20;void mai n()int i,s;for(i=1,s=0;i<15;i+)if(i%2=0 | i%3=0)continue; prin tf("%d ",i);s+=i;prin tf("%dn",s);輸出結(jié)果為:1 5 7 11 13 37Press any key to con ti nue

18、C語言程序設(shè)計形成性考核作業(yè)2一、選擇題D .int a5;n1. 在下面的一維數(shù)組定義中,(c)語句有語法錯誤。A . int a=1,2,3;B. int a10=0;C. int a;2. 在下面的二維數(shù)組定義中,(A .int a5; B. int a5;3. 假定一個二維數(shù)組的定義語句為A .2B.4C.64. 假定一個二維數(shù)組的定義語句為A .0B .4C .8C )語句是正確的。C. int a3=1,3,5,2;D .int a(10)“ int a34=3,4,2,8,6;D . 8“ int a34=3,4,2,8,6;D . 6”,則元素a12的值為(C)。”,則元素a2

19、1的值為(A)。5. 將兩個字符串連接起來組成一個字符串時,選用(C )函數(shù)。A. strlen()B. strcap() C. strcat()D. strcmp()、填空題1.假定維數(shù)組的定義為“char * a8;,則該數(shù)組所含兀素的個數(shù)為8。2.假定維數(shù)組的定義為“char * a8; ”,則該數(shù)組所占存儲空間的字節(jié)數(shù)為323.假定二二維數(shù)組的定義為“int a35 ”,則該數(shù)組所占存儲空間的字節(jié)數(shù)為60。4.假定二二維數(shù)組的定義為“char aMN;,則該數(shù)組所所含兀素的個數(shù)為_M*N。5 .假定二維數(shù)組的定義為"double aMN; ”,則每個數(shù)組元素的行下標取值范圍在

20、_0M-1_之間。6 .假定二維數(shù)組的定義為"double aMN; ”,則每個數(shù)組元素的列下標取值范圍在_0N-1_之間。7.使用“typedef char BB1050; ”語句定義_BB為含有10行50列的二維字符數(shù)組類型。&存儲字符需要占用存儲器的_1個字節(jié)空間。9. 空字符串的長度為 _0。10. 存儲一個空字符串需要占用_1個字節(jié)。11. 字符串” a:數(shù)據(jù)”的長度為 11。12. 用于存儲一個長度為 n的字符串的字符數(shù)組的長度至少為_n+1。13. strcmp函數(shù)用于進行兩個字符串之間的 大小比較。14. Strcpy函數(shù)用于把一個字符串 復(fù)制到另一個字符數(shù)組

21、空間中。15. 一個二維字符數(shù)組a1020能夠存儲_ 10_個字符串。16. 一個二維字符數(shù)組a1020能夠存儲的每個字符串的長度至多為_19.三、寫出下列每個程序運行后的輸出結(jié)果1. #i nclude<stdio.h>void mai n()int a10=12,39,26,41,55,63,72,40,83,95;int i,i 仁0,i2=0;for(i=0;i<10;i+)if(ai%2=1)i1+;else i2+;prin tf("%d %dn",i1,i2);輸出結(jié)果為:6 4Press any key to con ti nue2. #i

22、n clude<stdio.h>#in clude<stri ng.h>void mai n()int i;char *a5="stude nt","worker","cadre","soldier","peasa nt"char *p1,*p2;p仁 p2=a0;for(i=0;i<5;i+)if(strcmp(ai,p1)>0)p1=ai;if(strcmp(ai,p2)<0)p2=ai;prin tf("%s %sn",p1,p

23、2);輸出結(jié)果為:worker cadrePress any key to con ti nue3. #i nclude<stdio.h>int a10=4,5,6,15,20,13,12,7,8,9;void mai n()int i,s0,s1,s2;s0=s仁s2=0;for(i=0;i<10;i+)switch(ai%3)case O:sO+=ai;break;case 1:s1+=ai;break;case 2:s2+=ai;break;prin tf("%d %d %dn" ,s0,s1,s2);輸出結(jié)果為:42 24 33Press any

24、key to con ti nue4. #i nclude<stdio.h>void mai n()char a="abcdbfbgacd"int i1=0,i2=0,i=0;while(ai)if(ai='a')i1+;if(ai='b')i2+;i+;printf("%d %d %dn”,i1,i2,i);輸出結(jié)果為:2 3 11Press any key to con ti nue5. #i nclude<stdio.h>void mai n()int a34=1,2,7,8,5,6,10,6,9,12

25、,3,4;int m=a00;int ii=O,jj=O;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 tf("%d %d %dn",ii,jj,aiijj);輸出結(jié)果為:2 1 12Press any key to con ti nue6. #i nclude<stdio.h>void mai n()int a,b;for(a=1,b=2;b<50;) prin tf("%d %d ",a,b); a=a+b;b=a+b;pr

26、in tf("n");輸出結(jié)果為:1 2 3 5 8 13 21 34Press any key to con ti nue四、寫出下列每個函數(shù)的功能1. #in clude<stdio.h>int SA(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. #in clude<stdio.h>int SC(int a,int b,int c)if(a>=b && a>=c)r

27、etur n a;if(b>=a && b>=c)retur n b; return c;函數(shù)功能為:返回實參a、 b、c中的最大數(shù)3. double SF(double x,int n) n 為大于等于 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. #in clude<math.h>int SC(i nt x)int a=(i nt)sqrt(x);int i=2;while(i<=a)i

28、f(x%i=0)break;i+;if(i<=0)return 0;else return 1;函數(shù)功能為:判斷一個整數(shù)是否是素數(shù)5. #in clude<stdio.h>void tran s(i nt x)char a10;int i=O,rem;dorem=x%16;x=x/16;if(rem<1O)ai=48+rem;'O'字符的 ASCII 碼為 48/'A'字符的ASCII碼為55else ai=65+rem; i+;while(x!=O);while(i>O)pri ntf("%c",a-i); p

29、rin tf("n");函數(shù)功能為:將一個整數(shù)化成十六進制數(shù)五、根據(jù)下列每個題目要求編寫程序1編寫一個函數(shù),函數(shù)頭格式為"void fun4(char *a , int b)”,分別求出由字符指針 a所指向的字符串中包含的每種十進制數(shù)字出現(xiàn)的次數(shù),把統(tǒng)計結(jié)果保存在數(shù)組b的相應(yīng)元素。#in clude<stdio.h>void fun4(char* a,int b)doif(*a>='0' && *a<='9')b*a-48+;while(*a+);/*void mai n()char * a=

30、"122333444499888"int b10=0;fun 4(a,b);for(i nt i=0;i<10;i+)prin tf("%d ”,bi);*/2.編寫一個函數(shù),函數(shù)頭格式為"double Mean(double aMN , int m , int n) ”,要求返回二維數(shù)組amn中所有元素的平均值,假定在計算過程是采用變量v存放平均值。#in clude<stdio.h>const int M=2,N=3;double Mean(double aMN, int m,int n )double v=0;for(int i=

31、0;i<m;i+)for(i nt j=O;j< n;j+)v+=aij;return v/(m* n);/*void mai n()double a23=1,2,3,4,5,6;prin tf("%lfn ”,Mea n(a,2,3);*/3.編寫一個遞歸函數(shù)“int FF(int a , int n) ”,求出數(shù)組a中所有元素n個元素之積并返回。#in clude<stdio.h>int FF(int a , int n)int mul=1;if(n=1)mul*=a0;else mul=a n-1*FF(a, n-1);return mul;/*void

32、 mai n()int a6=1,2,3,4,5,6;prin tf("%dn",FF(a,6);*/4.編寫一個主函數(shù),利用while循環(huán),求出并顯示滿足不等式1+1/2+1/3+1/n>5的最小n值。#in clude<stdio.h>void mai n()double sum=0;int n=1;while(true)if(sum + 1/(double )n > 5)break;elsesum += 1/(double )n;n+;prin tf("%d, %lfn",n, sum);5. 編寫一個主函數(shù),求滿足不等式2

33、2+42+n2<1000的最大n值,假定分別用i和s為取偶數(shù)值和累加值的變量,并限定使用do循環(huán)編程。#in clude<stdio.h>void mai n()int s=0,i=2;dos+=i*i;if(s+(i+2)*(i+2)>=1000)break;else i+=2;while(true);prin tf("i=%d,s=%d",i,s);6. 編寫一個主函數(shù),計算并輸出n的值,其中n值由鍵盤輸入。#in clude<stdio.h>void mai n()int s=0,n;printf("請輸入n的值:”);s

34、can f("%d",&n);for(i nt i=1;i<=n ;i+)s+=i*i;prin tf(" n=%d,s=%d", n,s);C語言程序設(shè)計形成性考核作業(yè)3一、選擇題D . AA(int a,int)(B )個。1.在下面的(c )函數(shù)聲明語句存在語法錯誤。A . AA(int a,int b);B . AA(int ,int) C. AA(int a;int b)2在下面的(C )不能作為函數(shù)的返回類型。A . voidB .int C. newD .long3. 下面正確的函數(shù)原型語句是(B )。A . int Func

35、tion(void a);B. void Function(int);C. int Function(a);D. void int(double a);4. 函數(shù)調(diào)用func(exp1,exp2),exp3*exp4-exp5)中所含實參的個數(shù)為A. 1 B. 2 C. 4D. 55 下面的標識符中,(C )是文件級作用域。D.自動類標識符A 函數(shù)形參B 語句標號C.外部靜態(tài)類標識符6. 下面的標識符中,(B )具有全局級作用域。A .函數(shù)形參 B 全局變量 C.內(nèi)部靜態(tài)類標識符 D .自動變量符7假定p是一個指向float型數(shù)據(jù)的指針,則p+1所指數(shù)據(jù)的地址比p所指數(shù)據(jù)的地址大(C )字節(jié)。

36、A. 1 B. 2 C. 4&假定a為一個字符數(shù)組名,則D . 8a8的地址比該數(shù)組的首地址大(B )個字節(jié)。A . 4 B. 8 C. 16D. 329 .假定a為一個數(shù)組名,則下面的( B )表示有錯誤。A . ai B . *a+ C . *aD . *(a+1)10 .用calloc函數(shù)創(chuàng)建具有10個整型元素的一維數(shù)組的正確語句是(C )。A . int *p=calloc(10,2);B . int *p=callo(10;C .int *p=calloc(10,4);D .int *p=malloc(10);11.假定變量 m定義為“ int m=7; ”,則定義p的正確語

37、句為(B )。A . int p=&m; B . int *p=&m; C . int &p=*m;D . int *p=m;12 .假定k是一個double類型的變量,則定義變量p的正確語句為(B )。A . double p=&k;B . double *p=&k;C . double &p=*k;D . char *p= ” Thank you! ”;13 .假定一條定義語句為"int a10,x,*pa=a; ”,若要把數(shù)組a中下標為3的元素賦值給x,則不正確的語句為(D )。A .x=pa3;B. x=*(a+3);C . x

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

39、eletep;B . delete(p); C . freep;D . free(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ù)時,要先使用#inelude命令包含該函數(shù)的原型語句所在頭文件。6函數(shù)形參的作用域是該函數(shù)的內(nèi)部7 假定&假定9.假定對象的值為46p所指對象的值為25,p+1所指對象的值為46,則*

40、p+的值為_p所指對象的值為25,p+1所指對象的值為46,則*+p的值為_p所指對象的值為25,p+1所指對象的值為46,則執(zhí)行“ *(p+);O2546”語句后,p所指10 假定a是一個指針數(shù)組,則a+1所指對象的地址比a地址大 4字節(jié)。11. 若要把一個整型指針p轉(zhuǎn)換為字符指針,則采用的強制轉(zhuǎn)換表達式為 (char*)p12假定一個數(shù)據(jù)對象為int*類型,則指向該對象的指針類型為 _int*。13. 假定p是一個指向整數(shù)對象的指針,則用_&p_表示指針變量p的地址。14. 若p指向x,則*p與x的等價的。15. NULL是一個符號常量,通常作為空指針值,它值為_ 0_。三、寫出下

41、列每個程序運行后的輸出結(jié)果1. #i nclude<stdio.h>void SB(char ch)switch (ch)case 'A':case 'a':prin tf("WW");break;case 'B':case 'b':prin tf("GG");break;case C:case 'c':prin tf("PP");break;default:pri ntf("BB");break;void mai n()c

42、har a仁'b',a2='C',a3='f;SB(a1);SB(a2);SB(a3);SB('A');prin tf("n");輸出結(jié)果為:GGPPBBWWPress any key to con ti nue2. #i nclude<stdio.h>#in clude<stdlib.h>double SD(i nt a,i nt b,char op)double x;switch(op)case '+':x=a+b;break;case '-':x=a-b;b

43、reak;case '*':x=a*b;break;case 7':if(b)x=(double)a/b;else exit(1); break;default:("運算符錯!n");exit(1);return x;void mai n()int x=20,y=8;prin tf("%3.2lf ”,SD(x,y,'-');prin tf("%3.2lf ",SD(x,y,'*');prin tf("%3.2lf ",SD(x,y,'/');輸出結(jié)果為

44、:12.00 160.00 2.50Press any key to con ti nue3. #i nclude<stdio.h>void WF(i nt x,i nt y)x=x+y;y=x+y;prin tf("subs:x,y=%d,%dn",x,y);void mai n()int x=18,y=23;prin tf("mai n:x,y=%d,%dn",x,y); WF(x,y);x=2*x;prin tf("mai n:x,y=%d,%dn",x,y);輸出結(jié)果為:main :x,y=18,23subs:x,

45、y=41,64main:x,y=36,23Press any key to con ti nue4. #i nclude<stdio.h>#in clude<stri ng.h>void fun( char ss);void mai n()char s15="567891234"fun( s);prin tf("%sn",s);void fun( char ss)int i,n=strle n( ss);for(i=0;i< n/2;i+)char c=ssi;ssi=ss n _1_i; ss n_1_i=c;輸出結(jié)果為:

46、432198765Press any key to con ti nue5. #i nclude<stdio.h>void In sertSort(i nt a,i nt 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 mai n()int i;int a6=20,15,32,47,36,28;In sertSort(a,6);for(i=0;i<6;i+)pri ntf(&quo

47、t;%d ",ai);prin tf("n");輸出結(jié)果為:47 36 32 28 20 15Press any key to con ti nue6. #i nclude<stdio.h>void mai n()int a8=3,5,7,9,11,13,15,17;int i,*p=a;for(i=0;i<8;i+);prin tf("%5d ",*p+);if( (i+1)%4=0 )pri ntf("n");輸出結(jié)果為:357911131517Press any key to con ti nue7.

48、 #i nclude<stdio.h>int LA(i nt *a,i nt n)int i,s=0;for(i=0;i< n;i+)s+=ai;return s;void mai n()int a=5,10,15,20,25,30;int b=LA(a,4);int c=LA(a+2,3);prin tf("%d %dn",b,c);輸出結(jié)果為:50 60Press any key to con ti nue8. #i nclude<stdio.h>int LB(int *a,int n)int i,s=1;for(i=0;i< n;i

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

50、i nclude<stdio.h>int WC(i nt a,i nt n,i nt k)int c=0;for(i nt i=0;i <n ;i+) if(ai>=k)c+;return c;函數(shù)功能為:返回數(shù)組中前n個其值大于等于k的元素個數(shù)。3. #in clude<stdio.h>#in clude<stdlib.h>#in clude<time.h>con st int N=10;in t ff(i nt x,i nt y)int乙prin tf("%d + %d = ",x,y);scan f(&quo

51、t;%d", &z);if(x+y=z)retur n 1;else retur n 0;void mai n()int i,a,b,c=0;sran d(time(0);初始化隨機數(shù)系列for(i=0;i<N;i+)a=rand()%20+1;/rand90函數(shù)產(chǎn)生 0-32767之間的一個隨機數(shù) b=ra nd()%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)用這個函數(shù),算對一次得10分

52、,計算所得分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*fu n6(m/b, n/b,b);else retur n fun6(m,n,+b);函數(shù)功能為:此函數(shù)帶有一個默認參數(shù),若使用默認值,則通過遞歸調(diào)用,返回前2參數(shù)的最小公倍數(shù);不使用默認值時,若最后一個參數(shù)不小于前2個參數(shù),則返回前2參數(shù)之乘積;否則,通過遞歸調(diào)用,返回前2參數(shù)最小公倍數(shù)的n倍數(shù)。5. #i nclude<stdio.h>#in

53、 clude<stdlib.h>void LI(int n)int * a=(i nt *)malloc( n*sizeof( in t);int i;for(i=0;i< n;i+)sca nf("%d",a+i);for(i=n-1;i>=0;i-)pri ntf("%d ",*(a+i);prin tf("n");free(a);函數(shù)功能為:將從鍵盤輸入的n個整數(shù)逆序輸出6. #i nclude<stdio.h>int LK(double a,int n) double s=0;i nt i,

54、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ù)組元素之平均值的元素個數(shù)。C語言程序設(shè)計形成性考核作業(yè)4一、選擇題1. 假定有"struct BOOKchar title40;float price;struct BOOK *book; ”,則不正確的語句為(A )。A . struct BOOK *x=malloc(book);B . struct BOOK x= “ C+Programming ”,27.0;C. struct BOOK *x=ma

55、lloc(sizeof(BOOK);D . struct BOOK *x=&book;2. 假定有"struct BOOKchar title40;float price; book; ”,則正確的語句為(B )。A . struct BOOK x=&book;B . struct BOOK *x=&book;C. struct BOOK x=calloc(BOOK);D . struct BOOK *x=BOOK;3. 表示文件結(jié)束的符號常量為(C )。A . eof B . EofC. EOFD . feof4 . C語言中系統(tǒng)函數(shù)fopen()是(D )

56、一個數(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ù)。A . 1B . 2C . 3D . 4二、填空題1 .假定一個結(jié)構(gòu)類型的定義為"struct Aint a,b;A*c; ”,則該類型的大小為 12字節(jié)。2. 假定一個結(jié)構(gòu)類型的定義為“struct Bint a5,char *b;”,則該類型的大小為_24_字節(jié)。3. 假定一個結(jié)構(gòu)類型的定義為"struct Dint a;unionint b;double c;struct D* d2;”,則該類型的大小為 20字節(jié)。4. 假定要動態(tài)分配一個類型為struct Worker的具有n個元素的數(shù)組,并由 r指向這個動態(tài)數(shù)組,則使用語句的表達

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論