電大2012年春《C語言程序設(shè)計(jì)》形成性考核冊答案_第1頁
電大2012年春《C語言程序設(shè)計(jì)》形成性考核冊答案_第2頁
電大2012年春《C語言程序設(shè)計(jì)》形成性考核冊答案_第3頁
電大2012年春《C語言程序設(shè)計(jì)》形成性考核冊答案_第4頁
電大2012年春《C語言程序設(shè)計(jì)》形成性考核冊答案_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上C語言程序設(shè)計(jì)形成性考核 作業(yè)一一、選擇題1.       在每個(gè)C語言程序中都必須包含有這樣一個(gè)函數(shù),該函數(shù)的函數(shù)名為( A )。Amain BMAIN Cname Dfuntion2C語言原程序文件的缺省擴(kuò)展名為( D )。Acpp Bexe Cobj DC3由C語言目標(biāo)文件連接而成的可執(zhí)行的缺省擴(kuò)展名為( B )。Acpp Bexe Cobj DC4程序運(yùn)行中需要從鍵盤輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用( D )符號作為分隔符。A空格或逗號 B逗號或回車 C回車或分號 D空格或回車5每個(gè)C語言程序的編

2、譯錯誤分為( B )類。A1 B2 C3 D46設(shè)x 和y 均為邏輯值,則x && y為真的條件是( A )。A它們均為真 B其中一個(gè)為真 C它們均為假 D其中一個(gè)為假7設(shè)有語句“int a=12;a+=a*a;”,則執(zhí)行結(jié)束后,a 的值為( C )。A12 B144 C156 D2888x>0 && x<=10的相反表達(dá)式為( A )。Ax<=0 | X>10 Bx<=0 && x>10 Cx<=0 | x<=10 Dx>0 && x>109字符串“a+b=12n”的長

3、度為( B )。A6 B7 C8 D910在下列符號常量定義中。錯誤的定義語句格式為( C )。Aconst M1=10; Bconst int M2=20; Cconst M3 10 Dconst char mark=3;11帶有隨機(jī)函數(shù)的表達(dá)式rand()%20的值在( C )區(qū)間內(nèi),A119 B120 C019 D02012當(dāng)處理特定問題時(shí)的循環(huán)次數(shù)已知時(shí),通常采用( A )循環(huán)來解決。 Afor Bwhile Cdo-while Dswitch13在switch語句的每個(gè)case塊中,假定都是以break語句結(jié)束的,則此switch語句容易被改寫為( B )語句。Afor Bif Cd

4、o Dwhile14for語句能夠被改寫為( D )語句。A復(fù)合 Bif Cswitch Dwhile15下面循環(huán)語句執(zhí)行結(jié)束后輸出的i值為( B )。for(int i=0;i<n;i+)if(i>n/2)cout<<i<<endl;break;An/2 Bn/2+1 Cn/2-1 Dn-116在下面循環(huán)w語句中內(nèi)層循環(huán)體S語句的執(zhí)行次數(shù)為( D )。for(int i=0;i<n;i+)for(int j=i;j<n;j+)S;An2 B(n+1)/2 Cn(n-1)/2 Dn(n+1)/217在下面的do循環(huán)語句中,其循環(huán)體被執(zhí)行的次數(shù)為(

5、 A )。int i=0;do i+;while(i*i<10);A4 B3 C5 D2二、填空題1C語言中的每條簡單語句以_;_作為結(jié)束符。2C語言中的每條復(fù)合語句以_作為結(jié)束符。3在C語言程序的每個(gè)程序行后面或單獨(dú)一行的開始使用注釋的標(biāo)記符為_/_。4單行或多行注釋的結(jié)束標(biāo)記符為_*/_。5在一個(gè)C程序文件中,若要包含另外一個(gè)頭文件或程序文件,則應(yīng)使用以_#include_標(biāo)識符開始的預(yù)處理命令。6在#include命令中所包含的頭文件,可以是系統(tǒng)定義的頭文件,也可以是_用戶_定義的頭文件。7一個(gè)函數(shù)定義由_函數(shù)頭_和函數(shù)體兩部分組成。8用于輸出表達(dá)式的標(biāo)準(zhǔn)輸出函數(shù)是_printf(

6、 )_。9當(dāng)不需要函數(shù)返回任何值時(shí),則應(yīng)使用_void_標(biāo)識符定義函數(shù)類型。10執(zhí)行“printf(“%d-%d=%d”,43,18,43-18); ”語句后得到的輸出結(jié)果為_43-18=25_。11每個(gè)C程序文件在編譯時(shí)可能出現(xiàn)有警告性錯誤,其對應(yīng)的標(biāo)識符為_warning_。12每個(gè)C程序文件在編譯時(shí)可能出現(xiàn)有致命性錯誤,其對應(yīng)的標(biāo)識符為_error_。13十進(jìn)制數(shù)25表示成符合C語言規(guī)則的十六進(jìn)制數(shù)為_0x19_。14在C語言中,轉(zhuǎn)義字符序列_n_表示一個(gè)換行符。15執(zhí)行“printf(“%c”,F-2);”語句后得到的輸出結(jié)果為_D_。16已知AZ的ASCII碼為65-90,當(dāng)執(zhí)行“i

7、nt x=C+5;”語句所x的值為_72_.17假定一個(gè)枚舉類型的定義為“enum RBab,ac=3,ad,aex=ad;”,則x的值為_4_.18char類型的大小為_1_個(gè)字節(jié)。19int類型的大小為_4_個(gè)字節(jié)。20float類型的大小為_4_個(gè)字節(jié)。21十進(jìn)制數(shù)28類型為_int_。22十進(jìn)制數(shù)3.26類型為_double_。23若需要定義一個(gè)符號常量,并且使C語言能夠進(jìn)行類型檢查,則應(yīng)在定義語句的開始使用保留字_const_。24使用const語句定義一個(gè)符號常量時(shí),則必須對它同時(shí)進(jìn)行_定義類型和賦初值_。25執(zhí)行“int x=45,y=13;printf(“%d”,x%y);”語

8、句序列后得到的輸出結(jié)果為_6_。26假定x=5,則表達(dá)式2+x+的值為_7_。27表達(dá)式(float)25/4的值為_6.25_。28表達(dá)式(int)14.6%5的值為_4_。29表達(dá)式x=x+1表示成增量表達(dá)式為_x+_。30增量表達(dá)式+y表示成賦值表達(dá)式為_y+=1_。31關(guān)系表達(dá)式(x!=0)的等價(jià)表達(dá)式為_x_(x>0|x<0)_。32假定不允許使用邏輯非操作符,則關(guān)系表達(dá)式x+y>5的相反表達(dá)式為_x+y<=5_。33假定不允許使用邏輯非操作符,則邏輯表達(dá)式a>b | b=5的相反表達(dá)式為_a<=b && (b>5 | b&l

9、t;5)_。34若x=5,y=10,則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語句中,每個(gè)語句標(biāo)號所含保留字case后面的表達(dá)式必須是_整型_。39作為語句標(biāo)號使用的C保留字case和default只能用于_switch_語句的定義體中。40在switch語句時(shí),在進(jìn)行作為條件的表達(dá)式求值后,將

10、從某個(gè)匹配的標(biāo)號位置起向下執(zhí)行,當(dāng)碰到下一個(gè)標(biāo)號位置時(shí)(停止/不停止)_不停止_執(zhí)行。41若do循環(huán)的“尾”為“while(+i<10)”,并且i的初值為0,同時(shí)在循環(huán)體不會修改i的值,由循環(huán)體將被重復(fù)執(zhí)行_10_次后正常結(jié)束。42當(dāng)在程序執(zhí)行到_break_語句時(shí),將結(jié)束本層循環(huán)語句或switch語句的執(zhí)行。43在程序中執(zhí)行到_return_語句時(shí),將結(jié)束所在函數(shù)的執(zhí)行過程,返回到調(diào)用該函數(shù)的位置。44在程序執(zhí)行完_主(main)_函數(shù)調(diào)用后,將結(jié)束整個(gè)程序的執(zhí)行過程,返回到操作系統(tǒng)或C語句集成開發(fā)環(huán)境界面窗口。三、寫出下列每個(gè)程序運(yùn)行后的輸出結(jié)果1. #include<stdi

11、o.h>void main()int x=5;switch(2*x-3)case 4:printf("%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 endPress any key to continu

12、e2. #include<stdio.h>void main()int i,s=0;for(i=1;i<=6;i+)s+=i*i;printf("s=%dn",s);輸出結(jié)果為:s=91Press 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 20Press any key to contin

13、ue4. #include<stdio.h>void main()int n=10,y=1;while(n-)y+;y+;printf("y=%dn",y);輸出結(jié)果為:y=21Press any key to continue5. #include<stdio.h>void main()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&

14、quot;);f1=f2;f2=f;printf("n");輸出結(jié)果為:1 1 2 3 58 13 21 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);prin

15、tf("n");輸出結(jié)果為:2 3 5 7 11 13 17 19Press any key to 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 contin

16、ue8. #include<stdio.h>#include<math.h>const int 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è)計(jì)形成性考核 作業(yè)二一、 選擇題1.      

17、 在下面的一維數(shù)組定義中,( C )語句有語法錯誤。Aint a=1,2,3; Bint a10=0; Cint a; Dint a5;n2在下面的二維數(shù)組定義中,( C )語句是正確的。Aint a5; Bint a5; Cint a3=1,3,5,2; Dint a(10)3假定一個(gè)二維數(shù)組的定義語句為“int a34=3,4,2,8,6;”,則元素a12的值為(C)。A2 B4 C6 D84假定一個(gè)二維數(shù)組的定義語句為“int a34=3,4,2,8,6;”,則元素a21的值為(A)。A0 B4 C8 D65將兩個(gè)字符串連接起來組成一個(gè)字符串時(shí),選用( C )函數(shù)。Astrlen() B

18、strcap() Cstrcat() Dstrcmp() 二、填空題1假定一維數(shù)組的定義為“char * a8;”,則該數(shù)組所含元素的個(gè)數(shù)為_8_。2假定一維數(shù)組的定義為“char * a8;”,則該數(shù)組所占存儲空間的字節(jié)數(shù)為_32_。3假定二維數(shù)組的定義為“int a35”,則該數(shù)組所占存儲空間的字節(jié)數(shù)為_60_。4假定二維數(shù)組的定義為“char aMN;”,則該數(shù)組所所含元素的個(gè)數(shù)為_M*N_。5假定二維數(shù)組的定義為“double aMN;”,則每個(gè)數(shù)組元素的行下標(biāo)取值范圍在_0M-1_之間。6假定二維數(shù)組的定義為“double aMN;”,則每個(gè)數(shù)組元素的列下標(biāo)取值范圍在_0N

19、-1_之間。7使用“typedef char BB1050;”語句定義_BB_為含有10行50列的二維字符數(shù)組類型。8存儲字符a需要占用存儲器的_1_個(gè)字節(jié)空間。9空字符串的長度為_0_。10存儲一個(gè)空字符串需要占用_1_個(gè)字節(jié)。11字符串”a:xxk數(shù)據(jù)”的長度為_11_。12用于存儲一個(gè)長度為n的字符串的字符數(shù)組的長度至少為_n+1_。13strcmp函數(shù)用于進(jìn)行兩個(gè)字符串之間的_大小比較_。14Strcpy函數(shù)用于把一個(gè)字符串_復(fù)制到_另一個(gè)字符數(shù)組空間中。15一個(gè)二維字符數(shù)組a1020能夠存儲_ 10_個(gè)字符串。16一個(gè)二維字符數(shù)組a1020能夠存儲的每個(gè)字符串的長度至多為_19_.&

20、#160;三、寫出下列每個(gè)程序運(yùn)行后的輸出結(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 continue 2. #include<stdio.h>#include<string.h>void main()int i;char

21、 *a5="student","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 continue 3. #include<stdio.

22、h>int a10=4,5,6,15,20,13,12,7,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="abcdbfb

23、gacd"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 continue 5. #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

24、;j+)if(aij>m)m=aij;ii=i;jj=j;printf("%d %d %dn",ii,jj,aiijj);輸出結(jié)果為:2 1 12Press any key to continue 6. #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

25、60; 四、寫出下列每個(gè)函數(shù)的功能 1. #include<stdio.h>int SA(int a,int b)if(a>b)return 1;else if(a=b)return 0;else return -1;函數(shù)功能為:根據(jù)實(shí)參a大于、等于或小于實(shí)參b,返回1,0或-1 2. #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

26、 c;函數(shù)功能為:返回實(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ù)功能為:計(jì)算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ù)功能為

27、:判斷一個(gè)整數(shù)是否是素?cái)?shù) 5. #include<stdio.h>void trans(int x)char a10;int i=0,rem;dorem=x%16;x=x/16;if(rem<10)ai=48+rem;/'0'字符的ASCII碼為48else ai=65+rem; /'A'字符的ASCII碼為55i+;while(x!=0);while(i>0)printf("%c",a-i);printf("n");函數(shù)功能為:將一個(gè)整數(shù)化成十六進(jìn)制數(shù)五、根據(jù)下列每個(gè)題目要求編寫程序&#

28、160;1.編寫一個(gè)函數(shù),函數(shù)頭格式為“void fun4(char *a , int b)”,分別求出由字符指針a所指向的字符串中包含的每種十進(jìn)制數(shù)字出現(xiàn)的次數(shù),把統(tǒng)計(jì)結(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="9888"int b10=0;fun4(a,b);for(int i=0;i<

29、10;i+)printf("%d ",bi);*/ 2.       編寫一個(gè)函數(shù),函數(shù)頭格式為“double Mean(double aMN , int m , int n)”,要求返回二維數(shù)組amn中所有元素的平均值,假定在計(jì)算過程是采用變量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&

30、lt;n;j+)v+=aij;return v/(m*n); /*void main()double a23=1,2,3,4,5,6;printf("%lfn",Mean(a,2,3);*/ 3.       編寫一個(gè)遞歸函數(shù)“int FF(int a , int n)”,求出數(shù)組a中所有元素n個(gè)元素之積并返回。#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);

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

32、n;n+;printf("%d, %lfn",n,sum);5.       編寫一個(gè)主函數(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+2)*(i+2)>=1000)break;else i+=2;while(true);printf("i=%d,s=%d",i,s); 6.&

33、#160;      編寫一個(gè)主函數(shù),計(jì)算并輸出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è)計(jì)形成性考核 作業(yè)三一、選擇題1.       在下面的( C )函數(shù)

34、聲明語句存在語法錯誤。AAA(int a,int b); BAA(int ,int) CAA(int a;int b) DAA(int a,int)2在下面的( C )不能作為函數(shù)的返回類型。Avoid Bint Cnew Dlong3下面正確的函數(shù)原型語句是( B )。Aint Function(void a); Bvoid Function(int);Cint Function(a); Dvoid int(double a);4函數(shù)調(diào)用func(exp1,exp2),exp3*exp4-exp5)中所含實(shí)參的個(gè)數(shù)為( B )個(gè)。A1 B2 C4 D55下面的標(biāo)識符中,( C )是文件級作用

35、域。A函數(shù)形參 B語句標(biāo)號 C外部靜態(tài)類標(biāo)識符 D自動類標(biāo)識符6下面的標(biāo)識符中,( B )具有全局級作用域。A函數(shù)形參 B全局變量 C內(nèi)部靜態(tài)類標(biāo)識符 D自動變量符7假定p是一個(gè)指向float型數(shù)據(jù)的指針,則p+1所指數(shù)據(jù)的地址比p所指數(shù)據(jù)的地址大( C )字節(jié)。A1 B2 C4 D88假定a為一個(gè)字符數(shù)組名,則a8的地址比該數(shù)組的首地址大( B )個(gè)字節(jié)。A4 B8 C16 D329假定a為一個(gè)數(shù)組名,則下面的( B )表示有錯誤。Aai B*a+ C*a D*(a+1)10用calloc函數(shù)創(chuàng)建具有10個(gè)整型元素的一維數(shù)組的正確語句是( C )。Aint *p=calloc(10,2);

36、Bint *p=callo(10;Cint *p=calloc(10,4); Dint *p=malloc(10);11假定變量m定義為“int m=7;”,則定義p的正確語句為( B )。Aint p=&m; Bint *p=&m; Cint &p=*m; Dint *p=m;12假定k是一個(gè)double類型的變量,則定義變量p的正確語句為( B )。Adouble p=&k; Bdouble *p=&k; Cdouble &p=*k; Dchar *p=”Thank you!”;13假定一條定義語句為“int a10,x,*pa=a;”,若要

37、把數(shù)組a中下標(biāo)為3的元素賦值給x,則不正確的語句為( D )。Ax=pa3; Bx=*(a+3); Cx=a3; Dx=*pa+3;14假定有定義“int b10;int *pb;”,則不正確的賦值語句為( D )。Apb=b; Bpb=&b0; Cpb=b+2; Dpb=b5;15假定指針變量p定義為“int *p=new int(100);”,要釋放p所指向的動態(tài)內(nèi)存,應(yīng)使用語句( A )。Adelete p; Bdelete *p; Cdelete &p; Ddelete p;16假定指針變量p定義為“int *p=calloc(30,sizeof(int);”,要釋放p

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

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

40、常作為空指針值,它值為_ 0_。三、寫出下列每個(gè)程序運(yùn)行后的輸出結(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("PP");break;default:printf("BB&

41、quot;);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 continue 2. #include<stdio.h>#include<stdlib.h>double SD(int a,int b,char op)double x;switch(op)case '+':x

42、=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:("運(yùn)算符錯!n");exit(1);return x;void main()int x=20,y=8;printf("%3.2lf ",SD(x,y,'-');printf("%3.2lf ",SD(x,y,'*');printf("

43、;%3.2lf ",SD(x,y,'/'); 輸出結(jié)果為:12.00 160.00 2.50Press any key to continue 3. #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("main:x,y=%d,%dn

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

45、=ssn-1-i;ssn-1-i=c; 輸出結(jié)果為:Press any key to continue 5. #include<stdio.h>void InsertSort(int a,int n)int i,j,x;for(i=1;i<n;i+)/進(jìn)行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(a,6);for(i=0;i<

46、;6;i+)printf("%d ",ai);printf("n");輸出結(jié)果為:47 36 32 28 20 15Press any key to continue 6. #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 9 11 13 15 1

47、7Press any key to continue 7. #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 continue 8. #include<stdio.h>int LB(int

48、 *a,int n)int 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 四、寫出下列每個(gè)函數(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

49、;return 0;函數(shù)功能為:根據(jù)整型數(shù)組元素中是否能找到整數(shù)x,返回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ù)功能為:返回?cái)?shù)組中前n個(gè)其值大于等于k的元素個(gè)數(shù)。 3. #include<stdio.h>#include<stdlib.h>#include<time.h>const int N=10;int ff(int x,int y)int z;printf(&quo

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

51、生兩個(gè)20以內(nèi)的隨機(jī)整數(shù),通過10次調(diào)用這個(gè)函數(shù),算對一次得10分,計(jì)算所得分 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);函數(shù)功能為:此函數(shù)帶有一個(gè)默認(rèn)參數(shù),若使用默認(rèn)值,則通過遞歸調(diào)用,返回前2參數(shù)的最小公倍數(shù);不使用默認(rèn)值時(shí),若最后一個(gè)參數(shù)不小于前2個(gè)參數(shù),則返回前2參數(shù)之乘積;否則,通過遞歸調(diào)用,返回前2參數(shù)最小公倍數(shù)的

52、n倍數(shù)。5. #include<stdio.h>#include<stdlib.h>void LI(int n)int * a=(int *)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個(gè)整數(shù)逆序輸出 6. #include<stdio.h>int LK(doubl

53、e a,int n)double 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ù)組元素之平均值的元素個(gè)數(shù)。C語言程序設(shè)計(jì)形成性考核 作業(yè)四一、選擇題1.       假定有“struct BOOKchar title40;float price;struct BOOK *book;”,則不正確的語句為( A )。Astruct BOOK *x=malloc(book); Bstruct BOOK x=“C+ Programming”,27.0; Cstruct BOOK *x=malloc(sizeof(BOOK); Dstruct BOOK *x=&book;2.       假定有“struct BOOKchar title40;float price; book;”,則正確的語句為( B )。Astruct BOOK x=&book; Bstruct BOOK *x=&book;Cstruct BOOK x=calloc(BOOK); Dstruct BOO

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論