




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、c 語(yǔ)言程序設(shè)計(jì)形成性作業(yè)一一、選擇題1.在每個(gè) c 語(yǔ)言程序中都必須包含有這樣一個(gè)函數(shù),該函數(shù)的函數(shù)名為(a) 。amain bmain cname dfuntion 2c 語(yǔ)言原程序文件的缺省擴(kuò)展名為(d) 。acpp bexe cobj d c 3由 c 語(yǔ)言目標(biāo)文件連接而成的可執(zhí)行的缺省擴(kuò)展名為(b) 。acpp bexe cobj d c 4程序運(yùn)行中需要從鍵盤(pán)輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用(d)符號(hào)作為分隔符。a空格或逗號(hào)b逗號(hào)或回車(chē)c回車(chē)或分號(hào)d空格或回車(chē)5每個(gè) c 語(yǔ)言程序的編譯錯(cuò)誤分為(b)類(lèi)。a1 b 2 c3 d4 6設(shè) x 和 y 均為邏輯值,則x & y
2、 為真的條件是(a) 。a它們均為真b其中一個(gè)為真c它們均為假d其中一個(gè)為假7設(shè)有語(yǔ)句“ int a=12;a+=a*a; ” ,則執(zhí)行結(jié)束后,a 的值為( c) 。a12 b144 c156 d 288 8x0 & x=10的相反表達(dá)式為(a) 。ax10 bx10 cx=0 | x0 & x10 9字符串“ a+b=12n”的長(zhǎng)度為(b) 。a6 b 7 c8 d9 10在下列符號(hào)常量定義中。錯(cuò)誤的定義語(yǔ)句格式為(c) 。aconst m1=10; bconst int m2=20; cconst m3 10 dconst char mark= 311帶有隨機(jī)函數(shù)的表達(dá)式r
3、and()%20 的值在( c)區(qū)間內(nèi),a119 b120 c 019 d020 12當(dāng)處理特定問(wèn)題時(shí)的循環(huán)次數(shù)已知時(shí),通常采用(a)循環(huán)來(lái)解決。afor bwhile cdo-while dswitch 13在 switch 語(yǔ)句的每個(gè)case 塊中,假定都是以break 語(yǔ)句結(jié)束的,則此switch 語(yǔ)句容易被改寫(xiě)為( b)語(yǔ)句。afor b if cdo dwhile 14 for 語(yǔ)句能夠被改寫(xiě)為(d)語(yǔ)句。a復(fù)合bif cswitch dwhile 15下面循環(huán)語(yǔ)句執(zhí)行結(jié)束后輸出的i 值為( b) 。for(int i=0;in/2)coutiendl;break;an/2 bn/2
4、+1 cn/2-1 dn-1 16在下面循環(huán)w 語(yǔ)句中內(nèi)層循環(huán)體s 語(yǔ)句的執(zhí)行次數(shù)為(d) 。for(int i=0;in;i+) for(int j=i;jn;j+)s; an2 b(n+1)/2 c n(n-1)/2 dn(n+1)/2 17在下面的do 循環(huán)語(yǔ)句中,其循環(huán)體被執(zhí)行的次數(shù)為(a ) 。int i=0;do i+;while(i*i5 的相反表達(dá)式為_(kāi)x+yb | b=5 的相反表達(dá)式為_(kāi)a5 | by 邏輯值為 _false_。35若 x=5,y=10 ,則 x=y 邏輯值為 _true_。36假定 x=5,則執(zhí)行“ a=(x?10:20);”語(yǔ)句后a的值為 _10_。37
5、執(zhí)行“ typedef int datatype;”語(yǔ)句后,在使用int 定義整型變量的地方都可以使用_datatype_來(lái)定義整型變量。38在 switch 語(yǔ)句中,每個(gè)語(yǔ)句標(biāo)號(hào)所含保留字case 后面的表達(dá)式必須是_整型 _。39作為語(yǔ)句標(biāo)號(hào)使用的c 保留字 case和 default 只能用于 _switch_語(yǔ)句的定義體中。40在switch 語(yǔ)句時(shí),在進(jìn)行作為條件的表達(dá)式求值后,將從某個(gè)匹配的標(biāo)號(hào)位置起向下執(zhí)行,當(dāng)碰到下一個(gè)標(biāo)號(hào)位置時(shí)(停止/不停止) _不停止 _執(zhí)行。41若 do 循環(huán)的“尾”為“while(+i10) ” ,并且i 的初值為0,同時(shí)在循環(huán)體不會(huì)修改i的值,由循環(huán)體
6、將被重復(fù)執(zhí)行_10_次后正常結(jié)束。42當(dāng)在程序執(zhí)行到_break_語(yǔ)句時(shí),將結(jié)束本層循環(huán)語(yǔ)句或switch 語(yǔ)句的執(zhí)行。43在程序中執(zhí)行到_return_語(yǔ)句時(shí),將結(jié)束所在函數(shù)的執(zhí)行過(guò)程,返回到調(diào)用該函數(shù)的位置。44在程序執(zhí)行完_主(main)_函數(shù)調(diào)用后,將結(jié)束整個(gè)程序的執(zhí)行過(guò)程,返回到操作系統(tǒng)或 c 語(yǔ)句集成開(kāi)發(fā)環(huán)境界面窗口。三、寫(xiě)出下列每個(gè)程序運(yùn)行后的輸出結(jié)果1. #include 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
7、-1);break; default:printf(%s ,defaultn); printf(%sn,switch end.); 輸出結(jié)果為:11 14 switch end. press any key to continue 2. #include void main() int i,s=0; for(i=1;i=6;i+) s+=i*i; printf(s=%dn,s); 輸出結(jié)果為:s=91. press any key to continue 3. #include void main() int i,s1=0,s2=0; for(i=0;i10;i+) if(i%2)s1+=i;
8、 else s2+=i; printf(%d %dn,s1,s2); 輸出結(jié)果為:25 20. press any key to continue 4. #include void main() int n=10,y=1; while(n-)y+;y+; printf(y=%dn,y); 輸出結(jié)果為: y=21. press any key to continue 5. #include 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%
9、5=0)printf(n); f1=f2; f2=f; printf(n); 輸出結(jié)果為:1 1 2 3 5 8 13 21 34 55 press any key to continue 6. #include #include void main() int i,n; for(n=2;n=20;n+) int temp=(int)sqrt(n);/sqrt(n)求出 n 的平方根并取整for(i=2;itemp)printf(%d ,n); printf(n); 輸出結(jié)果為:2 3 5 7 11 13 17 19 press any key to continue 7. #include
10、#include 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 4 press any key to continue 8. #include #include const int m=20; void main() int i,s; for(i=1,s=0;i15;i+) if(i%2=0 | i%3=0)continue; print
11、f(%d ,i); s+=i; printf(%dn,s); 輸出結(jié)果為:1 5 7 11 13 37 press any key to continue c 語(yǔ)言程序設(shè)計(jì)形成性考核冊(cè)參考答案作業(yè)二一、選擇題1.在下面的一維數(shù)組定義中,(c)語(yǔ)句有語(yǔ)法錯(cuò)誤。a int a=1,2,3; bint a10=0; c int a; dint a5;n 2在下面的二維數(shù)組定義中,(c)語(yǔ)句是正確的。a int a5; bint a5; cint a3=1,3,5,2; dint a(10) 3 假定一個(gè)二維數(shù)組的定義語(yǔ)句為“int a34=3,4,2,8,6;” , 則元素 a12 的值為(c) 。
12、a2 b 4 c6 d8 4 假定一個(gè)二維數(shù)組的定義語(yǔ)句為“int a34=3,4,2,8,6;” , 則元素 a21 的值為(a) 。a0 b 4 c8 d6 5將兩個(gè)字符串連接起來(lái)組成一個(gè)字符串時(shí),選用(c)函數(shù)。astrlen() bstrcap() cstrcat() dstrcmp() 二、填空題1假定一維數(shù)組的定義為“char * a8; ” ,則該數(shù)組所含元素的個(gè)數(shù)為_(kāi)8_。2假定一維數(shù)組的定義為“char * a8; ” ,則該數(shù)組所占存儲(chǔ)空間的字節(jié)數(shù)為_(kāi)32_。3假定二維數(shù)組的定義為“int a35 ” ,則該數(shù)組所占存儲(chǔ)空間的字節(jié)數(shù)為_(kāi)60_。4假定二維數(shù)組的定義為“cha
13、r amn; ” ,則該數(shù)組所所含元素的個(gè)數(shù)為_(kāi)m*n_ 。5假定二維數(shù)組的定義為“double amn; ” ,則每個(gè)數(shù)組元素的行下標(biāo)取值范圍在_0m-1_ 之間。6假定二維數(shù)組的定義為“double amn; ” ,則每個(gè)數(shù)組元素的列下標(biāo)取值范圍在_0n-1_ 之間。7使用“typedef char bb1050;”語(yǔ)句定義 _bb_為含有 10 行 50 列的二維字符數(shù)組類(lèi)型。8存儲(chǔ)字符 a需要占用存儲(chǔ)器的_1_個(gè)字節(jié)空間。9空字符串的長(zhǎng)度為_(kāi)0_。10存儲(chǔ)一個(gè)空字符串需要占用_1_個(gè)字節(jié)。11字符串”數(shù)據(jù)”的長(zhǎng)度為_(kāi)11_。12用于存儲(chǔ)一個(gè)長(zhǎng)度為n 的字符串的字符數(shù)組的長(zhǎng)度至少為_(kāi)n+
14、1_。13 strcmp 函數(shù)用于進(jìn)行兩個(gè)字符串之間的_大小比較 _。14 strcpy 函數(shù)用于把一個(gè)字符串_復(fù)制到 _另一個(gè)字符數(shù)組空間中。15一個(gè)二維字符數(shù)組a1020 能夠存儲(chǔ) _ 10_個(gè)字符串。16一個(gè)二維字符數(shù)組a1020 能夠存儲(chǔ)的每個(gè)字符串的長(zhǎng)度至多為_(kāi)19_. 三、寫(xiě)出下列每個(gè)程序運(yùn)行后的輸出結(jié)果1. #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);
15、 輸出結(jié)果為:6 4 press any key to continue 2. #include #include void main() int i; char *a5=student,worker,cadre,soldier,peasant; char *p1,*p2; p1=p2=a0; for(i=0;i0)p1=ai; if(strcmp(ai,p2)0)p2=ai; printf(%s %sn,p1,p2); 輸出結(jié)果為: worker cadre press any key to continue 3. #include int a10=4,5,6,15,20,13,12,7,8
16、,9; void main() int i,s0,s1,s2; s0=s1=s2=0; for(i=0;i10;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 33 press any key to continue 4. #include void main() char a=abcdbfbgacd; int i1=0,i2=0,i=0; while(ai) if(ai=a)i1+; if(ai=b)
17、i2+; i+; printf(%d %d %dn,i1,i2,i); 輸出結(jié)果為: 2 3 11 press any key to continue 5. #include 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;i3;i+) for(j=0;jm)m=aij;ii=i;jj=j; printf(%d %d %dn,ii,jj,aiijj); 輸出結(jié)果為: 2 1 12 press any key to continue 6. #include void
18、 main() int a,b; for(a=1,b=2;b50;) printf(%d %d ,a,b); a=a+b; b=a+b; printf(n); 輸出結(jié)果為: 1 2 3 5 8 13 21 34 press any key to continue 四、寫(xiě)出下列每個(gè)函數(shù)的功能1. #include int sa(int a,int b) if(ab)return 1; else if(a=b)return 0; else return -1; 函數(shù)功能為:根據(jù)實(shí)參a 大于、等于或小于實(shí)參b,返回 1,0 或-1 2. #include int sc(int a,int b,int
19、 c) if(a=b & a=c)return a; if(b=a & b=c)return b; return 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 int sc(int x) int a=(int)sqrt(x); int i=2; while(i=a) if(x%i=0)b
20、reak; i+; if(i=0)return 0;else return 1; 函數(shù)功能為:判斷一個(gè)整數(shù)是否是素?cái)?shù)5. #include void trans(int x) char a10; int i=0,rem; do rem=x%16; x=x/16; if(rem0)printf(%c,a-i); printf(n); 函數(shù)功能為: 將一個(gè)整數(shù)化成十六進(jìn)制數(shù)五、根據(jù)下列每個(gè)題目要求編寫(xiě)程序1.編寫(xiě)一個(gè)函數(shù),函數(shù)頭格式為“void fun4(char *a , int b) ” ,分別求出由字符指針a所指向的字符串中包含的每種十進(jìn)制數(shù)字出現(xiàn)的次數(shù),把統(tǒng)計(jì)結(jié)果保存在數(shù)組b的相應(yīng)元素。#
21、include void fun4(char* a,int b) do if(*a=0 & *a=9)b*a-48+; while(*a+); /*void main() char * a=122333444499888; int b10=0; fun4(a,b); for(int i=0;i10;i+) printf(%d ,bi); */ 2. 編寫(xiě)一個(gè)函數(shù),函數(shù)頭格式為“double mean(double amn , int m , int n)” ,要求返回二維數(shù)組amn中所有元素的平均值,假定在計(jì)算過(guò)程是采用變量v 存放平均值。#include const int m=2,
22、n=3; double mean(double amn, int m,int n ) double v=0; for(int i=0;im;i+)for(int j=0;jn;j+) v+=aij; return v/(m*n); /*void main() double a23=1,2,3,4,5,6; printf(%lfn,mean(a,2,3); */ 3. 編寫(xiě)一個(gè)遞歸函數(shù) “int ff(int a , int n) ” , 求出數(shù)組a 中所有元素n 個(gè)元素之積并返回。#include int ff(int a , int n) int mul=1; if(n=1)mul*=a0;
23、 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. 編寫(xiě)一個(gè)主函數(shù),利用while 循環(huán),求出并顯示滿(mǎn)足不等式1+1/2+1/3+ ,+1/n5 的最小 n 值。#include void main() double sum=0; int n=1; while(true) if(sum + 1/(double)n 5)break; else sum += 1/(double)n; n+; printf(%d, %lfn,n,sum); 5. 編寫(xiě)一個(gè)主
24、函數(shù),求滿(mǎn)足不等式22+42+,+n21000 的最大 n 值,假定分別用i和 s 為取偶數(shù)值和累加值的變量,并限定使用do 循環(huán)編程。#include void main() int s=0,i=2; do s+=i*i; if(s+(i+2)*(i+2)=1000)break; else i+=2; while(true); printf(i=%d,s=%d,i,s); 6.編寫(xiě)一個(gè)主函數(shù),計(jì)算并輸出n 的值,其中n 值由鍵盤(pán)輸入。#include void main() int s=0,n; printf( 請(qǐng)輸入 n 的值: ); scanf(%d,&n); for(int i
25、=1;i=n;i+)s+=i*i; printf(n=%d,s=%d,n,s); c 語(yǔ)言程序設(shè)計(jì)形成性考核冊(cè)參考答案作業(yè)三1. 在下面的( c)函數(shù)聲明語(yǔ)句存在語(yǔ)法錯(cuò)誤。a aa(int a,int b); baa(int ,int) caa(int a;int b) daa(int a,int) 2在下面的( c)不能作為函數(shù)的返回類(lèi)型。avoid b int cnew dlong 3下面正確的函數(shù)原型語(yǔ)句是(b) 。a int function(void a); b void function(int); cint function(a); d void int(double a); 4
26、函數(shù)調(diào)用func(exp1,exp2),exp3*exp4-exp5) 中所含實(shí)參的個(gè)數(shù)為(b)個(gè)。a1 b 2 c4 d5 5下面的標(biāo)識(shí)符中, (c)是文件級(jí)作用域。a函數(shù)形參b語(yǔ)句標(biāo)號(hào)c外部靜態(tài)類(lèi)標(biāo)識(shí)符d自動(dòng)類(lèi)標(biāo)識(shí)符6下面的標(biāo)識(shí)符中, (b)具有全局級(jí)作用域。a函數(shù)形參b全局變量c內(nèi)部靜態(tài)類(lèi)標(biāo)識(shí)符d自動(dòng)變量符7假定p 是一個(gè)指向float 型數(shù)據(jù)的指針,則p+1 所指數(shù)據(jù)的地址比p 所指數(shù)據(jù)的地址大( c )字節(jié)。a1 b2 c4 d8 8假定 a 為一個(gè)字符數(shù)組名,則a8的地址比該數(shù)組的首地址大(b )個(gè)字節(jié)。a4 b8 c16 d32 9假定 a 為一個(gè)數(shù)組名,則下面的(b )表示有錯(cuò)
27、誤。aai b *a+ c *a d*(a+1) 10用 calloc 函數(shù)創(chuàng)建具有10 個(gè)整型元素的一維數(shù)組的正確語(yǔ)句是(c ) 。a int *p=calloc(10,2); bint *p=callo(10; cint *p=calloc(10,4); dint *p=malloc(10); 11假定變量m 定義為 “int m=7;”,則定義p 的正確語(yǔ)句為(b ) 。a int p=&m; bint *p=&m; cint &p=*m; d int *p=m; 12假定 k 是一個(gè) double 類(lèi)型的變量,則定義指向k 的變量 p 的正確語(yǔ)句為(b ) 。a
28、double p=&k; bdouble *p=&k; cdouble &p=*k; dchar *p=”thank you! ”;13假定一條定義語(yǔ)句為“int a10,x,*pa=a; ” ,若要把數(shù)組a 中下標(biāo)為3 的元素賦值給x,則不正確的語(yǔ)句為(d ) 。ax=pa3; bx=*(a+3); ca=a3; dx=*pa+3; 14假定有定義“int b10;int *pb; ” ,則不正確的賦值語(yǔ)句為(c ) 。apb=b; bpb=&b0; cpb=b+2; dpb=b5; 15假定指針變量p 定義為“ int *p=new int(100); ”
29、,要釋放p 所指向的動(dòng)態(tài)內(nèi)存,應(yīng)使用語(yǔ)句(d ) 。adeletep; bdelete *p; cdelete &p; d delete p; 16假定指針變量p 定義為“ int *p=calloc(30,sizeof(int);” ,要釋放 p 所指向的動(dòng)態(tài)內(nèi)存,應(yīng)使用語(yǔ)句(d ) 。adeletep; bdeldete(p); cfreep; dfree(p); 1在 c 語(yǔ)言中,一個(gè)函數(shù)由函數(shù)頭和_函數(shù)體 _組成。2在函數(shù)外定義的變量稱(chēng)為全局變量,若沒(méi)有被初始化則系統(tǒng)隱含對(duì)它所賦的初值為_(kāi)0_。3如果一個(gè)函數(shù)只允許同一程序文件中的函數(shù)調(diào)用,則應(yīng)在訪(fǎng)函數(shù)定義前加上的c 保留字為為
30、 _static_。4如果一個(gè)函數(shù)直接或間接地調(diào)用自身,這樣的調(diào)用被稱(chēng)為_(kāi)遞歸 _調(diào)用。5調(diào)用系統(tǒng)函數(shù)時(shí),要先使用#include 命令包含該函數(shù)的原型語(yǔ)句所在_頭_文件。6函數(shù)形參的作用域是該函數(shù)的_內(nèi)部 _。7假定 p 所指對(duì)象的值為25,p+1 所指對(duì)象的值為46,則 *p+的值為 _25_。8假定 p 所指對(duì)象的值為25,p+1 所指對(duì)象的值為46,則 *+p 的值為 _46_。9假定 p 所指對(duì)象的值為25,p+1 所指對(duì)象的值為46,則執(zhí)行“ *(p+); ”語(yǔ)句后, p 所指對(duì)象的值為 _46_。10假定 a 是一個(gè)指針數(shù)組,則a+1 所指對(duì)象的地址比a 地址大 _4_字節(jié)。11
31、 若要把一個(gè)整型指針p 轉(zhuǎn)換為字符指針, 則采用的強(qiáng)制轉(zhuǎn)換表達(dá)式為_(kāi)(char*)p_ 。12假定一個(gè)數(shù)據(jù)對(duì)象為int* 類(lèi)型,則指向該對(duì)象的指針類(lèi)型為_(kāi)int*_ 。13假定 p 是一個(gè)指向整數(shù)對(duì)象的指針,則用_&p_ 表示指針變量p 的地址。14若 p 指向 x,則 _*p_與 x 的等價(jià)的。15 null 是一個(gè)符號(hào)常量,通常作為空指針值,它值為_(kāi) 0 (ascii 碼 0)_。三、寫(xiě)出下列每個(gè)程序運(yùn)行后的輸出結(jié)果1. #include void sb(char ch) switch (ch) case a:case a: printf(ww);break; case b:cas
32、e b: printf(gg);break; case c:case c: printf(pp);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é)果為:ggppbbww press any key to continue 2. #include #include double sd(int a,int b,char op) double x; switch(op) case +:x=a+b;break; case -:x=a-
33、b;break; case *:x=a*b;break; case /:if(b)x=(double)a/b; else exit(1); break; default:( 運(yùn)算符錯(cuò)! 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(%3.2lf ,sd(x,y,/); 輸出結(jié)果為:12.00 160.00 2.50 press any key to continue 3. #include void wf(int x,int y
34、) 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,x,y); 輸出結(jié)果為:main:x,y=18,23 subs:x,y=41,64 main:x,y=36,23 press any key to continue 4. #include #include void fun(char ss); void main() char s15=567891234; fun(s
35、); printf(%sn,s); void fun(char ss) int i,n=strlen(ss); for(i=0;in/2;i+) char c=ssi; ssi=ssn-1-i; ssn-1-i=c; 輸出結(jié)果為:432198765 press any key to continue 5. #include void insertsort(int a,int n) int i,j,x; for(i=1;i=0;j-)/為 x 順序向前尋找合適的插入位置if(xaj)aj+1=aj; else break; aj+1=x; void main() int i; int a6=20
36、,15,32,47,36,28; insertsort(a,6); for(i=0;i6;i+)printf(%d ,ai);printf(n); 輸出結(jié)果為:47 36 32 28 20 15 press any key to continue 6. #include void main() int a8=3,5,7,9,11,13,15,17; int i,*p=a; for(i=0;i8;i+); printf(%5d ,*p+); if( (i+1)%4=0 )printf(n); 輸出結(jié)果為:3 5 7 9 11 13 15 17 press any key to continue
37、7. #include int la(int *a,int n) int i,s=0; for(i=0;in;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 60 press any key to continue 8. #include int lb(int *a,int n) int i,s=1; for(i=0;in;i+)s*=*a+; return s; void main() int a=1,2
38、,3,4,2,4,5,2; int b=lb(a,4)+lb(&a3,4); printf(b=%dn,b); 輸出結(jié)果為:b=184 press any key to continue 四、寫(xiě)出下列每個(gè)函數(shù)的功能1. #include int wb(int a,int n,int x) for(int i=0;in;i+) if(ai=x)return 1; return 0; 函數(shù)功能為:根據(jù)整型數(shù)組元素中是否能找到整數(shù)x,返回 1 或 0 2. #include int wc(int a,int n,int k) int c=0;for(int i=0;i=k)c+; retur
39、n c; 函數(shù)功能為:返回?cái)?shù)組中前n 個(gè)其值大于等于k 的元素之和3. #include #include #include const int n=10; int ff(int x,int y) int z; printf(%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;in;i+) a=rand()%20+1; /rand90 函數(shù)產(chǎn)生0-32767 之間的一個(gè)隨機(jī)數(shù)b=rand()%2
40、0+1; c+=ff(a,b); printf( 得分: %dn,c*10); 函數(shù)功能為:函數(shù) ff 讓兩個(gè)數(shù)相加,要求輸入其和,判斷結(jié)果是否正確。在主函數(shù)中用隨機(jī)函數(shù)產(chǎn)生兩個(gè) 20 以?xún)?nèi)的隨機(jī)整數(shù),通過(guò)10 次調(diào)用這個(gè)函數(shù),算對(duì)一次得10 分,計(jì)算所得分4. int fun6(int m,int n,int b=2) if(mb & nb)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)值,則通過(guò)遞歸調(diào)用,
41、返回前2 參數(shù)的最小公倍數(shù);不使用默認(rèn)值時(shí),若最后一個(gè)參數(shù)不小于前2 個(gè)參數(shù),則返回前2 參數(shù)之乘積;否則,通過(guò)遞歸調(diào)用,返回前2 參數(shù)最小公倍數(shù)的n 倍數(shù)。5. #include #include void li(int n) int * a= 電腦商場(chǎng)特別版2 malloc(n*sizeof(int); int i; for(i=0;i=0;i-)printf(%d ,*(a+i); printf(n); free(a); 函數(shù)功能為:將從鍵盤(pán)輸入的n 個(gè)整數(shù)逆序輸出6. #include int lk(double a,int n) double s=0;int i,m=0; for(i
42、=0;in;i+)s+=ai; s/=n; for(i=0;i=s)m+; return m; 函數(shù)功能為:求不小于數(shù)組元素之平均值的各元素之和(前n 個(gè))c 語(yǔ)言程序設(shè)計(jì)形成性考核冊(cè)參考答案作業(yè)四1. 假定有“ struct bookchar title40;float price;struct book *book;” ,則不正確的語(yǔ)句為( a) 。astruct book *x=malloc(book); bstruct book x= “c+ programming” ,27.0; cstruct book *x=malloc(sizeof(book); dstruct book *x
43、=&book; 2. 假定有“ struct bookchar title40;float price; book;” ,則正確的語(yǔ)句為(b) 。astruct book x=&book; bstruct book *x=&book; cstruct book x=calloc(book); dstruct book *x=book; 3表示文件結(jié)束的符號(hào)常量為(c) 。aeof beof ceof dfeof 4c 語(yǔ)言中系統(tǒng)函數(shù)fopen() 是( d)一個(gè)數(shù)據(jù)文件的函數(shù)。a讀取b寫(xiě)入c關(guān)閉d打開(kāi)5從一個(gè)數(shù)據(jù)文件中讀入以換行符結(jié)束的一行字符串的函數(shù)為(b) 。age
44、ts() b fgets() c getc() dfgetc() 6向一個(gè)二進(jìn)制文件寫(xiě)入信息的函數(shù)fwrite() 帶有( d)參數(shù)。a1 b2 c3 d 4 1假定一個(gè)結(jié)構(gòu)類(lèi)型的定義為“struct aint a,b;a*c; ” ,則該類(lèi)型的大小為_(kāi)12_字節(jié)。2 假定一個(gè)結(jié)構(gòu)類(lèi)型的定義為“struct bint a5,char *b;” , 則該類(lèi)型的大小為_(kāi)24_字節(jié)。3假定一個(gè)結(jié)構(gòu)類(lèi)型的定義為“struct dint a;unionint b;double c;struct d* d2;” ,則該類(lèi)型的大小為 _20 _字節(jié)。4假定要?jiǎng)討B(tài)分配一個(gè)類(lèi)型為struct worker 的具
45、有 n 個(gè)元素的數(shù)組,并由r 指向這個(gè)動(dòng)態(tài)數(shù)組,則使用語(yǔ)句的表達(dá)式為struct worker* r=_(worker*)malloc(n*sizeof(worker);_。5假定要訪(fǎng)問(wèn)一個(gè)結(jié)構(gòu)x 中的由 a 指針成員所指向的對(duì)象,則表示方法為_(kāi)x.(*a)_ 。6假定要訪(fǎng)問(wèn)一個(gè)結(jié)構(gòu)指針p 所指向?qū)ο笾械腷 指針成員所指的對(duì)象,則表示方法為 _ *(p-b)_ 7與結(jié)構(gòu)成員訪(fǎng)問(wèn)表達(dá)式(*fp).score 等價(jià)的表達(dá)式是_fp-score_。三、寫(xiě)出下列每個(gè)程序運(yùn)行后的輸出結(jié)果1. #include struct worker char name15; / 姓名int age; /年齡floa
46、t 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); printf(%s %d %6.2fn,p-name,p-age,p-pay); 輸出結(jié)果為: wanghua 52 23.50 wanghua 52 23.50 press any key to continue 2. #include #include struct worker char name15; / 姓名int a
47、ge; /年齡float pay; / 工資; void main() struct worker x; char *t=louting; int d=38;float f=493; strcpy(,t); x.age=d;x.pay=f; x.age+;x.pay*=2; printf(%s %d %6.2fn,,x.age,x.pay); 輸出結(jié)果為:louting 39 986.00 press any key to continue 3. #include #include struct worker char name15; / 姓名int age; /年齡f
48、loat pay; / 工資; int less(struct worker r1,struct worker r2) if(r1.ager2.age)return 1; else return 0; void main() struct worker a4=abc,25,420,def,58,638,ghi,49,560,jkl,36,375; struct worker x=a0; int i; for(i=1;i4;i+) if(less(x,ai)x=ai; printf(%s %d %6.2fn,,x.age,x.pay); 輸出結(jié)果為: def 58 638.00 press any key to continue 四、寫(xiě)出下列每個(gè)函數(shù)的功能1. void qa(struct worker a,int n) int i; for(i=0;in;i+) scanf(%s %d %f,&,ai.age,ai.pay); 假定結(jié)構(gòu)struct worker 的定義如下:#
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年 湖南株洲消防招聘考試筆試試題附答案
- 2025年 貴州水利水電職業(yè)技術(shù)學(xué)院招聘教師附答案
- 2025年養(yǎng)護(hù)機(jī)械市場(chǎng)分析現(xiàn)狀
- 中國(guó)背投電視行業(yè)發(fā)展?jié)摿︻A(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 焦化耐火設(shè)備項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 2025年中國(guó)兔毛手袋行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 長(zhǎng)江存儲(chǔ)培訓(xùn)課件
- 視頻拍攝制作合同
- 技術(shù)服務(wù)合同
- 中國(guó)電子特種氣體行業(yè)市場(chǎng)調(diào)查研究及投資前景預(yù)測(cè)報(bào)告
- 大腸癌的診治及預(yù)防措施
- (完整版)附:《檔案目錄清單》
- 有機(jī)硅化學(xué)課件-有機(jī)硅化學(xué)概述
- 丹尼森組織文化模型
- 中藥煎藥室應(yīng)急預(yù)案
- 華東師大版七年級(jí)數(shù)學(xué)上冊(cè)教學(xué)課件
- 中國(guó)航天(航天科普知識(shí))PPT
- GB/T 27806-2011環(huán)氧瀝青防腐涂料
- GB/T 17949.1-2000接地系統(tǒng)的土壤電阻率、接地阻抗和地面電位測(cè)量導(dǎo)則第1部分:常規(guī)測(cè)量
- 4配電柜安全風(fēng)險(xiǎn)點(diǎn)告知牌
- 旋挖機(jī)操作手知識(shí)試卷含參考答案
評(píng)論
0/150
提交評(píng)論