廣播電視大學(xué)C評議程序設(shè)計C語言程序設(shè)計課程期末復(fù)習(xí)重點資料考試小抄【精編打印版】

上傳人:仙*** 文檔編號:28634755 上傳時間:2021-09-04 格式:DOC 頁數(shù):35 大?。?63KB
收藏 版權(quán)申訴 舉報 下載
廣播電視大學(xué)C評議程序設(shè)計C語言程序設(shè)計課程期末復(fù)習(xí)重點資料考試小抄【精編打印版】_第1頁
第1頁 / 共35頁
廣播電視大學(xué)C評議程序設(shè)計C語言程序設(shè)計課程期末復(fù)習(xí)重點資料考試小抄【精編打印版】_第2頁
第2頁 / 共35頁
廣播電視大學(xué)C評議程序設(shè)計C語言程序設(shè)計課程期末復(fù)習(xí)重點資料考試小抄【精編打印版】_第3頁
第3頁 / 共35頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《廣播電視大學(xué)C評議程序設(shè)計C語言程序設(shè)計課程期末復(fù)習(xí)重點資料考試小抄【精編打印版】》由會員分享,可在線閱讀,更多相關(guān)《廣播電視大學(xué)C評議程序設(shè)計C語言程序設(shè)計課程期末復(fù)習(xí)重點資料考試小抄【精編打印版】(35頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、電大C評議程序設(shè)計A考試時長:60分鐘 單選題10題30分,填空題10題30分,寫出程序結(jié)果4題40分C語言程序設(shè)計課程期末復(fù)習(xí)練習(xí) 一、單選題 1在每個C語言程序中都必須包含有這樣一個函數(shù),該函數(shù)的函數(shù)名為( )。A. main 2每個C語言程序文件的編譯錯誤分為( )類。B. 2 3. 字符串a(chǎn)+b=12n的長度為( )。B. 7 4. 在switch語句的每個case塊中,假定都是以break語句結(jié)束的,則此switch語句容易被改寫為( )語句。 B. if 5. 在下面的do-while循環(huán)語句中,其循環(huán)體語句被執(zhí)行的次數(shù)為( )。 int i=0; do i+; while(i10

2、); D. 10 6. 將兩個字符串連接起來組成一個字符串時,選用的函數(shù)為( )。 C. strcat() 7. 若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是( )。 A. 數(shù)組的首地址 8. 假定a為一個整數(shù)類型的數(shù)組名,整數(shù)類型的長度為4,則元素a4的地址比a數(shù)組的首地址大( )個字節(jié)。 C. 16 9. 假定s被定義為指針類型char *的變量,初始指向的字符串為Hello world!,若要使變量p指向s所指向的字符串,則p應(yīng)定義為( )。A. char *p=s; 10. 從一個數(shù)據(jù)文件中讀入以換行符結(jié)束的一行字符串的函數(shù)為( )B. fgets() 11. 由C語言目標(biāo)文件連接而成

3、的可執(zhí)行文件的缺省擴展名為( ) B. exe 12. 設(shè)有兩條語句為“int a=12; a+=a*a;”,則執(zhí)行結(jié)束后,a的值為( )。C. 156 13. 帶有隨機函數(shù)調(diào)用的表達(dá)式rand()%20的值在( )區(qū)間內(nèi)。C. 019 14. for循環(huán)語句“for(i=0; i0 & x=10)的相反表達(dá)式為( )。A. x10 23. 當(dāng)處理特定問題時的循環(huán)次數(shù)已知時,通常采用( )循環(huán)來解決。 A. for 24. 假定i的初值為0,則在循環(huán)語句“while(ib | b=5的相反表達(dá)式為a5)的相反表達(dá)式為 (x!=0 | y=5) 或:(x | y5的相反表達(dá)式為_ x+yname

4、等價的訪問表達(dá)式為_(*p).name _。 三、寫出下列每個程序運行后的輸出結(jié)果 1. #includevoid 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.);default switch end. 2. #includevoid main() int f1,f2,i;f1=1;printf(%d

5、 ,f1);for(i=2;i=5;i+) f2=3*f1+1; printf(%d ,f2);f1=f2;printf(n); 1 4 13 40 121 3. #includevoid 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); 6 4 4. #include#includevoid main( ) char s15=567891234;int i, n=strlen(s) ;for(

6、i=0; in/2; i+) char c=si;si=sn-1-i;sn-1-i=c;printf(%sn,s); 432198765 5. #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); b=56 6. #includevoid main() int i,s=0;for(i=1;i6;i+) s+=i*i;printf(“s=%dn”,s); s=5

7、5 7. #include#define N 6void main()int i,aN=2,5,8,10,15,21;for(i=0; iN; i+) if(ai%5) printf(%d ,ai);printf(n); 2 8 21 8. #include#includevoid 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); 10 9. #includevoi

8、d main()int a,b;for(a=2,b=3; b20;) printf(%d %d ,a,b);a=a+b;b=a+b;printf(%d %dn,a,b);2 3 5 8 13 21 10. #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); 15 26 26 15 11. #includevoid main() int i, s=0;for(i=1;i+) if(s30)

9、break;if(i%2=0) s+=i;printf(s=%dn,s);s=42 12. #includevoid 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;printf(%d %dn,b1,b2);66 18 13. #includevoid SB(char ch) switch(ch) case A: case a:printf(WW ); break;case B: case b:printf(GG ); break;default

10、:printf(BB ); break; void main() char a1=a,a2=B,a3=f;SB(a1);SB(a2);SB(a3);printf(n); WW GG BB14. #include#define M 6void 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);58 46 37 22 15 10 15. #includestruct Worker char name

11、15; 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);104 2370.00 16. #includevoid main() int i,j,k=0;for(i=0; i5; i+)for(j=i; j5; j+) k+;printf(%dn,k); 15 17. #includevoid main() int x=60;int i=2, p=1;while(1) if(x%

12、i=0) p*=i; x/=i;if(ix) i+; else break;printf(%dn,p);30 18. #includevoid main() int a8=76,63,54,62,40,75,90,58;int i;for(i=0; i70) printf(%d ,ai);printf(n);76 75 90 19. #includevoid WF(int x, int y) x=x+y;y+=x;printf(%d %dn,x,y);void main() int x=3, y=8;WF(x,y);11 19 20. #includeint LA(int *a, int n)

13、 int i,s=0;for(i=0;in;i+) s+=ai;return s;void main() int a5=3,4,6,10,20;int b=LA(a,5);int c=LA(a+2,3);printf(%d %dn,b,c); 43 36 四、寫出下列每個函數(shù)的功能 1. #include int SG(int x) /x為大于等于2的整數(shù) int a=(int)sqrt(x); /sqrt(x)取x的平方根 int i=2; while(i=a) if(x%i=0) break; i+; if(idata; f=f-next; while(f) if(f-datax) x=f

14、-data; f=f-next; return x; 假定struct IntNode的類型定義為: struct IntNode int data; struct IntNode* next; 3. #include int SA(int a, int b) if(ab) return 1; else if(a=b) return 0; else return -1; 4. void Output(struct IntNode *f) /f為單鏈表的表頭指針 if(!f) return; while(f) printf(%d ,f-data); f=f-next; printf(n); 假定

15、struct IntNode的類型定義為: struct IntNode int data; struct IntNode* next; 5. int SC(int a, int b, int c) if(a=b & a=c) return a; if(b=a & b=c) return b; return c; 6. int* LI(int n) int* a=malloc(n*sizeof(int); int i; for(i=0;in;i+) scanf(%d,a+i); return a; 7. int WC(int a, int n, int k) int i, c=0; for(i

16、=0;i=k) c+; return c; 8. void QA(struct Worker a, int n) int i; for(i=0; ib則返回1,若a=b則返回0,若ab則返回-1。 4. 遍歷并輸出由f所指向的單鏈表中每個結(jié)點的值。 5. 求出a,b,c三個數(shù)中的最大值并返回。 6. 首先建立一個動態(tài)整型數(shù)組an,接著從鍵盤上輸入n個整數(shù)到an中,最后返回數(shù)組an的首地址。 7. 統(tǒng)計并返回一維整型數(shù)組an中大于等于k的值的個數(shù)。 8. 從鍵盤上為具有struct Worker類型的數(shù)組an輸入n個記錄。 五、按題目要求編寫程序或函數(shù) 1. 編寫一個程序,輸出50以內(nèi)(含50)

17、的、能夠被3或者5整除的所有整數(shù)。 2. 編寫一個遞歸函數(shù)“int FF(int a, int n)”,求出數(shù)組a中所有n個元素之積并返回。 3. 編寫一個程序,利用while循環(huán),計算并打印輸出的值,其中正整數(shù)n值由鍵盤輸入。假定求和變量用sum表示,計數(shù)變量用i表示,sum、i和n均定義為全局變量,sum和i的初值分別被賦予0和1。 4. 根據(jù)函數(shù)原型“void DD(int a, int n, int MM)”編寫函數(shù)定義,利用雙重循環(huán)查找并打印輸出數(shù)組an中任何兩個元素的值等于MM值的元素值。假定ai+aj等于MM,則輸出格式為:(ai,aj)。 5. 編寫一個程序,計算1+3+32+

18、.+310的值并輸出,假定分別用i,p,s作為循環(huán)變量、累乘變量和累加變量的標(biāo)識符。 6. 根據(jù)函數(shù)原型“int FF(int a, int n)”,編寫函數(shù)定義,計算并返回數(shù)組an中所有元素之和。 7. 根據(jù)函數(shù)原型“double Mean(double aMN,int m,int n)”,編寫函數(shù)定義,要求返回二維數(shù)組amn中所有元素的平均值。假定在計算過程中采用變量v存放累加值和最后的平均值。 8. 根據(jù)函數(shù)原型“int MM(int a,int m)”,編寫函數(shù)定義,計算并返回數(shù)組am中元素最大值和最小值之差。 參考解答: 1. #include void main() int i;

19、for(i=3; i=50; i+) if(i%3=0 | i%5=0) printf(%d ,i); printf(n); 2. int FF(int a, int n) if(n=0) printf(n值非法n),exit(1); if(n=1) return an-1; else return an-1*FF(a,n-1); 3. #include int n,i=1; double sum=0; void main() scanf(%d,&n); while(i=n) sum+=(double)1/i+; printf(sum=%lfn,sum); 4. void DD(int a,

20、int n, int MM) int i,j; for(i=0; in; i+) for(j=i+1; jn; j+) if(ai+aj=MM) printf(%d, %dn, ai,aj); 5. #include void main() int i; int p=1; int s=1; for(i=1;i=10;i+) p*=3; s+=p; printf(%dn,s); 6. int FF(int a, int n) int i,sum=0; for(i=0; in; i+) sum+=ai; return sum; 7. double Mean(double aMN,int m,int

21、 n) int i,j; double v=0.0; for(i=0; im; i+) for(j=0; jn; j+) v+=aij; v/=m*n; return v; 注:函數(shù)體的最后兩行可以合并為一條返回語句:return v/=m*n 8. int MM(int a,int m) int i,x1,x2; x1=x2=a0; for(i=1; ix1) x1=ai; if(ai0 & x=10的相反表達(dá)式為(A)。Ax10 Bx10 Cx=0 | x0 & x109字符串“a+b=12n”的長度為(B)。A6 B7 C8 D910在下列符號常量定義中。錯誤的定義語句格式為(C)。Ac

22、onst M1=10; Bconst int M2=20; Cconst M3 10 Dconst char mark=3;11帶有隨機函數(shù)的表達(dá)式rand()%20的值在(C)區(qū)間內(nèi),A119 B120 C019 D02012當(dāng)處理特定問題時的循環(huán)次數(shù)已知時,通常采用(A)循環(huán)來解決。 Afor Bwhile Cdo-while Dswitch13在switch語句的每個case塊中,假定都是以break語句結(jié)束的,則此switch語句容易被改寫為(B)語句。Afor Bif Cdo Dwhile14for語句能夠被改寫為(D)語句。A復(fù)合 Bif Cswitch Dwhile15下面循環(huán)語

23、句執(zhí)行結(jié)束后輸出的i值為(B)。for(int i=0;in/2)coutiendl;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;in;i+) for(int j=i;jn;j+)S;An2 B(n+1)/2 Cn(n-1)/2 Dn(n+1)/217在下面的do循環(huán)語句中,其循環(huán)體被執(zhí)行的次數(shù)為(A )。int i=0;do i+;while(i*i5的相反表達(dá)式為_x+yb | b=5的相反表達(dá)式為_a5 | by邏輯值為_false_。35若x=5,y=10,則x=y邏輯值為_true_。36

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

25、同時在循環(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)境界面窗口。1假定一維數(shù)組的定義為“char * a8;”,則該數(shù)組所含元素的個數(shù)為_8_。2假定一維數(shù)組的定義為“char * a8;”,則該數(shù)組所占存儲空間的字節(jié)數(shù)為_32_。3假定二維數(shù)組的定義為“int a35”,則該數(shù)組所占存儲空間的字節(jié)數(shù)

26、為_60_。4假定二維數(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;”語句定義_BB_為含有10行50列的二維字符數(shù)組類型。8存儲字符a需要占用存儲器的_1_個字節(jié)空間。9空字符串的長度為_0_。10存儲一個空字符串需要占用_1_個字節(jié)。11字符串”a:xxk數(shù)據(jù)”的長度為_11_。12用于存儲一個長度為n的字符串的字符數(shù)

27、組的長度至少為_n+1_。13strcmp函數(shù)用于進(jìn)行兩個字符串之間的_大小比較_。14Strcpy函數(shù)用于把一個字符串_復(fù)制到_另一個字符數(shù)組空間中。15一個二維字符數(shù)組a1020能夠存儲_ 10_個字符串。16一個二維字符數(shù)組a1020能夠存儲的每個字符串的長度至多為_19_.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ù)時,要先使用#include命令包含該函數(shù)的原型語句所在_頭_文件。6函數(shù)形參的作用域是該函數(shù)的_內(nèi)部_。7假定p所指對象的值為25,p+1所指對象的值為46,則*p+的值為_25_。8假定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)換表達(dá)式為_(char*)p_

展開閱讀全文
溫馨提示:
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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!