中央電大季C語言程序設(shè)計期末復(fù)習(xí)指導(dǎo)(本)小抄參考_第1頁
中央電大季C語言程序設(shè)計期末復(fù)習(xí)指導(dǎo)(本)小抄參考_第2頁
中央電大季C語言程序設(shè)計期末復(fù)習(xí)指導(dǎo)(本)小抄參考_第3頁
中央電大季C語言程序設(shè)計期末復(fù)習(xí)指導(dǎo)(本)小抄參考_第4頁
中央電大季C語言程序設(shè)計期末復(fù)習(xí)指導(dǎo)(本)小抄參考_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、專業(yè)好文檔中央廣播電視大學(xué)計算機科學(xué)與技術(shù)專業(yè)c語言程序設(shè)計a課程考核說明(2012)一、考核說明c語言程序設(shè)計課程是全國電大系統(tǒng)計算機科學(xué)與技術(shù)專業(yè)(本科)的一門基礎(chǔ)必修課程。本課程是學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、計算機網(wǎng)絡(luò)、數(shù)據(jù)庫、軟件工程等課程的先修課,在整個專業(yè)教學(xué)體系中占有非常重要的作用。本課程主要介紹c語言的基本語法規(guī)則和程序設(shè)計方法,包括c語言程序結(jié)構(gòu)和上機運行程序的基本過程,各種數(shù)據(jù)類型的常量和變量的定義與表示,各種運算符和表達式的表示與應(yīng)用,各種流程控制語句的定義與作用,各種常用函數(shù)的定義格式與調(diào)用方法,用戶函數(shù)的定義與調(diào)用,數(shù)組、指針、結(jié)構(gòu)、文件等數(shù)據(jù)類型的定義與使用,結(jié)構(gòu)化和模

2、塊化的程序設(shè)計方法等內(nèi)容。學(xué)習(xí)c語言程序設(shè)計需要理論與實踐相結(jié)合,只注重書本知識是空洞的,只注重上機實踐是迷茫的,必須兩者結(jié)合循序漸進,通過書本知識指導(dǎo)實踐,通過實踐加深理解和吸收知識,以及運用知識解決問題的能力。現(xiàn)將該課程考核的有關(guān)問題說明如下:1. 考核對象 全國電大系統(tǒng)開放教育計算機科學(xué)與技術(shù)專業(yè)(本科)的學(xué)生。2教學(xué)媒體 文字主教材c語言程序設(shè)計 任愛華主編 中央廣播電視大學(xué)出版社出版。 錄象教材 20講 任愛華等主講 中央廣播電視大學(xué)音像出版社出版,時間待定。 ip網(wǎng)絡(luò)課件 16講 徐孝凱主講 電大在線的該課程網(wǎng)站點播,2008年9月。 復(fù)習(xí)資料 c語言程序設(shè)計期末復(fù)習(xí)指導(dǎo)中央電大教

3、育雜志社出版發(fā)行。 平時考核 c語言程序設(shè)計形成性考核冊 中央電大教育雜志社出版發(fā)行。 網(wǎng)上輔導(dǎo) 在電大在線c語言程序設(shè)計課程教學(xué)網(wǎng)頁上發(fā)表。3. 命題依據(jù)本考核說明以中央電大計算機科學(xué)與技術(shù)專業(yè)c語言程序設(shè)計課程的教學(xué)大綱為依據(jù)編制。本考核說明是考試命題的依據(jù)。4. 考核要求本課程是以掌握c語言知識并解決實際程序設(shè)計問題為目的。主要考核學(xué)生對c語言知識的掌握程度和對解決一般問題的程序設(shè)計能力。對c語言知識要在理解和應(yīng)用的基礎(chǔ)上加強記憶和掌握,不能死記硬背。 本課程教學(xué)內(nèi)容包括了解、理解和應(yīng)用三個層次,并且逐步遞進,具體含義如下: (1) 了解層次:記憶c語言中的基本概念和語法規(guī)則; (2)

4、理解層次:掌握c語言中的每個語法成分和語句的定義格式、含義及作用; (3) 應(yīng)用層次:利用c語言,結(jié)合實際解決問題的需要,能夠分析和編寫程序。5. 命題原則(1) 在教學(xué)大綱和考核說明所規(guī)定的知識范圍內(nèi)命題。在教學(xué)知識范圍之內(nèi),需要靈活運用才能夠解決問題的試題不屬于超綱。(2) 試題的取材要求覆蓋面廣、區(qū)分度高。(3) 試題兼顧各個能力層次,了解和理解約占40%,應(yīng)用約占60%。(4) 試題的難易程度和題量適當,按難易程度分為四個層次:容易占20%,較易占40%,較難占30%,難占10%。題量安排以平時能夠獨立完成作業(yè)者,能在規(guī)定的考試時間內(nèi)做完并有一定時間檢查為原則。6. 試題題型 選擇:根

5、據(jù)題意,從四種可選擇的答案中選擇合適的一種答案。 填空:根據(jù)題意,在畫有橫線或空白括號內(nèi)填寫合適內(nèi)容。 寫出程序運行結(jié)果:根據(jù)所給的c語言程序,寫出運行后的輸出結(jié)果。 指出程序或函數(shù)功能:根據(jù)所給的c語言程序或函數(shù),指出運行程序或進行函數(shù)調(diào)用時所能實現(xiàn)的功能。 編寫程序或函數(shù):根據(jù)所給出的題目要求,編寫出相應(yīng)的程序或函數(shù)模塊。7. 考核形式: 本課程考核采用終結(jié)性考試與形成性考核相結(jié)合的方式。形成性考核分為兩種,一種視形成性考核冊作業(yè)完成情況和所規(guī)定的上機實驗完成情況而定,占總成績的20%;另一種為省級電大統(tǒng)一命題和組織的期末上機考核,占總成績的10%,要求完成一個帶有多個程序文件的程序項目的

6、編寫(或修改)并上機運行通過,上機考核時限為60分鐘。形成性考核成績由省級電大考核和確認。終結(jié)性考試采用書面和閉卷方式,考試成績占總成績的70%,由中央電大統(tǒng)一命題和考試時間,答卷時限為90分鐘??偝煽儩M分為100分,合成成績達到60及以上分數(shù)者可獲得該課程規(guī)定的4學(xué)分,否則不獲得該課程學(xué)分。第二部分 考核內(nèi)容及要求 第一章 c語言概述 考核內(nèi)容(知識點): 1程序、程序文件和函數(shù)的概念及其相互之間的關(guān)系。 2函數(shù)的定義格式和作用,主函數(shù)的特殊地位和作用。 3c語言簡單語句和復(fù)合語句的語法格式。 4#include預(yù)處理命令的格式與作用。 5頭文件的文件名格式、在程序中的使用方法和作用。 6程

7、序中兩種注釋標記的寫法和作用。 7標準輸出函數(shù)printf()和標準輸入函數(shù)scanf()的定義格式和具體應(yīng)用。 8c語言程序文件名、編譯后生成的目標文件名和連接后生成的可執(zhí)行文件名的命名規(guī)則,以及上機輸入、編輯、編譯、連接和運行程序的過程。 考核要求: 要求了解和理解以上內(nèi)容。 第二章 數(shù)據(jù)類型和表達式 重點考核的內(nèi)容(知識點): 1c語言中的數(shù)據(jù)類型的分類。 2各種整數(shù)類型的關(guān)鍵字表示,存儲空間的大小和值域范圍。 3整型變量的定義和初始化,十進制整型常量的表示。 4字符類型的關(guān)鍵字表示,存儲空間的大小和值域范圍;字符型常量的表示,回車、換行、單引號、雙引號、反斜線、空字符等特殊字符的表示。

8、 5字符型變量的定義和初始化,字符型與整型的關(guān)系。 6枚舉的概念,枚舉類型的定義,枚舉變量的定義和初始化,枚舉常量與整型常量的對應(yīng)關(guān)系。 7各種實數(shù)類型的關(guān)鍵字表示,存儲空間的大小和有效位數(shù)。 8單精度和雙精度實數(shù)的定點表示和浮點(科學(xué))表示,實型變量的定義和初始化。 9加、減、乘、除、取余、賦值、增1、減1、取數(shù)據(jù)存儲長度等算術(shù)運算符的表示、含義、運算對象個數(shù)和運算優(yōu)先級。 10關(guān)系運算符的定義和關(guān)系表達式的計算,邏輯運算符的定義與邏輯表達式的計算,根據(jù)任意表達式的值判斷其邏輯值的方法。 一般考核的內(nèi)容(知識點): 1整型常量的八進制和十六進制表示。 2符號常量的兩種定義方法,它們之間的區(qū)別

9、。 3位操作符、復(fù)合賦值操作符的含義與使用。 4求關(guān)系或邏輯表達式的相反表達式的方法。 考核要求: 理解和掌握以上重點考核的內(nèi)容,了解和理解以上一般考核內(nèi)容。 第三章 流程控制語句 考核內(nèi)容(知識點): 1c語言程序中的順序、分支和循環(huán)這三種基本結(jié)構(gòu),每種結(jié)構(gòu)的執(zhí)行過程。 2簡單if語句、帶else子句的if語句、多分支結(jié)構(gòu)的if語句的定義格式、執(zhí)行過程和在處理問題中的具體應(yīng)用。 3switch語句的定義格式、執(zhí)行過程和在處理問題中的具體應(yīng)用。 4if語句與switch語句之間的功能比較,if語句與switch語句之間的轉(zhuǎn)換。 5for循環(huán)、while循環(huán)和do-while循環(huán)的定義格式、執(zhí)行

10、過程和在處理問題中的具體應(yīng)用。 6三種循環(huán)結(jié)構(gòu)不同特點。 7break語句在switch語句和各種循環(huán)語句中的作用,continue語句在各種循環(huán)語句中的作用。 8goto語句和return語句的定義格式和功能。 考核要求: 理解和掌握本章的所有內(nèi)容,并能夠靈活應(yīng)用。 第四章 數(shù)組和字符串 考核內(nèi)容(知識點): 1一維數(shù)組的含義、定義格式及初始化格式。 2數(shù)組長度、數(shù)組元素、元素下標的含義,訪問數(shù)組元素的語法格式,下標運算符的操作對象和操作結(jié)果。 3數(shù)組元素的下標變化范圍,數(shù)組元素所占存儲空間大小和整個數(shù)組所占存儲空間大小的計算,各元素對應(yīng)存儲空間的排列情況,每個元素的存儲地址的計算。 4利用

11、一維數(shù)組存儲數(shù)據(jù),按元素值的升序或降序排列數(shù)據(jù),按給定條件或功能對數(shù)組元素依次進行訪問和處理。 5二維數(shù)組的含義、定義格式及初始化格式。 6二維數(shù)組的行數(shù)和列數(shù)的概念,數(shù)組長度(即所含元素個數(shù))的計算。 7訪問二維數(shù)組元素的語法格式,每個下標運算符的操作對象和操作結(jié)果。 8二維數(shù)組中的所有元素在存儲空間中的排列情況,每個元素的存儲地址的計算。 9利用二維數(shù)組存儲矩陣數(shù)據(jù),按給定條件或功能對數(shù)組元素依次進行訪問和處理。 10字符串常量的定義格式,字符串的存儲格式,字符串長度的概念。 11一維字符數(shù)組、二維字符數(shù)組與字符串之間的關(guān)系,一維字符數(shù)組與二維字符數(shù)組的初始化。 12strlen、strc

12、py、strcmp、strcat等字符串函數(shù)的聲明格式及功能。 13利用typedef語句定義數(shù)據(jù)類型的方法。 考核要求: 了解和理解一維數(shù)組、二維數(shù)組和字符串的概念的使用方法,會利用它們存儲和處理數(shù)據(jù)。 第五章 指針 考核內(nèi)容(知識點): 1指針的概念,指針變量的定義和初始化。 2指針賦值(=)、取對象(變量)地址(&)、訪問指針所指對象(*)、指針比較(=、!=、0 | y=5的相反表達式為( b )。a. x=0 | y!=5 b. x0 | y!=5 d. x0 & y=5 5. 枚舉類型中的每個枚舉常量的值都是一個( a )。 a. 整數(shù) b. 浮點數(shù) c. 字符 d. 邏輯值6.

13、循環(huán)體至少被執(zhí)行一次的語句為( c )循環(huán)語句。 afor b.while c.do-while d.任一種 7. 循環(huán)語句“for(int i=0; in; i+) s;”中循環(huán)體s被執(zhí)行的次數(shù)為( c )。 a. 1 b. n-1 c. n d. n+1 8. 在下面的while循環(huán)語句中,其循環(huán)體被執(zhí)行的次數(shù)為( c )。 int i=0,s=0; while(s3 & x10的相反表達式為 x=10 。 17若x=5,y=10,則x!=y的邏輯值為 1 。 18. 假定x=5,則執(zhí)行“int a=(! x? 10:20);”語句后a的值為 20 。19. 在if語句中,每個else關(guān)鍵

14、字與它前面同層次并且最接近的 if 關(guān)鍵字相配套。 20. 若while循環(huán)的“頭”為“while(i+name等價的表達式是 (*p).name 。三、寫出下列每個程序運行后的輸出結(jié)果 1. #include void main() int i, s=0; for(i=1;i+) if(s50) break; if(i%2=0) s+=i; printf(i,s=%d, %dn,i,s); / s=2+4+6+8+10+12+14=56 i=15 2. #include 結(jié)果* void main() char ch=*; int i, n=5; while(1) for(i=0;in;i+

15、) printf(%c,ch); printf(n); if(-n=0) break; 3. #includeconst int n=5;void main()結(jié)果 1 1 1 2 2 2 3 6 9 4 24 33 int i,p=1,s=0; for(i=1;in;i+) p=p*i; s=s+p; printf(%5d%5d,i,p); printf(%5dn,s); 4. #include void main() int x=24,y=88; int i=2,p=1; do while(x%i=0 & y%i=0) p*=i; x/=i; y/=i; i+; while(x=i & y

16、=i); printf(%dn,p*x*y); /* i=2 p=2 x=12 y=44 p=4 x=6 y=22 p=8 x=3 y=11 i=3 i=4 循環(huán)條件不成立 因此循環(huán)體不執(zhí)行 p*x*y=8*3*11=264 */5. #include void main() int a9=36,25,48,24,55,40,18,66,20; int i, b1, b2; a0=a1? (b1=a0, b2=a1):(b1=a1,b2=a0);/ b1=25,b2=36 for(i=2; i9; i+) /i取2到8 if(aib1) b2=b1; b1=ai; /注意循環(huán)體 else if

17、(aib2) b2=ai; printf(%d %dn,b1,b2); 分析 i=2 a2=48 b1=25 b2=36 i=3 a3=24 b2=25 b1=24 i=4 a4=55 b2=25 b1=24 i=5 a5=44 b1=25 b1=24 i=6 a6=18 b2=24 b1=18 i=7 a7=66 b2=24 b1=18i=8 a8=20 b2=20 b1=18結(jié)果18 20 6. #include void main() int a12=76,63,54,62,40,75,80,92,77,84,44,73; int b4=60,70,90,101; int c4=0; i

18、nt i,j; for(i=0;i=bj) j+; cj+;結(jié)果3 2 6 1 for(i=0;i4;i+) printf(%d,ci); printf(n); 7. #include void main() int a=10, b=20; printf(%d %dn,a,b); int b=a+25; /注意局部變量b的作用域 a*=4; printf(%d %dn,a,b); printf(%d %dn,a,b); 結(jié)果10 20 40 35 40 20 8. #include void selectsort(int a, int n) int i,j,k,x; for(i=1;in;i+

19、) /進行n-1次選擇和交換 k=i-1; for(j=i;jn;j+) if(ajak) k=j; x=ai-1; ai-1=ak; ak=x; void main() int i; int a6=20,15,32,47,36,28; selectsort(a,6); for(i=0; i6; i+) printf(%d ,ai); printf(n); 結(jié)果:15 20 28 32 36 47 9#include void main() int a8=4,8,12,16,20,24,28,32; int *p=a; do printf(%d,*p); p+=2; while(pa+8);

20、printf(n); 結(jié)果:4 12 20 28 10. #include void le(int* a, int* b) int x=*a; *a=*b; *b=x;結(jié)果: 15 26 26 15 void main() int x=15, y=26; printf(%d %dn,x,y); le(&x,&y); printf(%d %dn,x,y); 11. #include #include struct worker char name15; /姓名 int age; /年齡 float pay; /工資 ; int equal(struct worker* r1, struct wo

21、rker* r2) if(strcmp(r1-name, r2-name)=0) return 1; else return 0; void main() struct worker a4=abc,25,420,defa,58,638, ghin,49,560,jklt,36,375; struct worker x=defa; int i; for(i=0; i=4) printf(沒有查找所需要的記錄!n); else printf(%s %d %6.2fn,,ai.age,ai.pay); 結(jié)果:defa 58 638.00四、寫出下列每個函數(shù)的功能 1. int se(i

22、nt n) /n為大于等于1的整數(shù) int x,s=0; printf(輸入%d個整數(shù): ,n); scanf(%d,&x); if(n=1) return x; s=x; while(-n) scanf(%d,&x); s+=x; return s; 函數(shù)功能:求出鍵盤上輸入的n個整數(shù)之和并返回。2. float fh() float x,y=0,n=0;scanf(%f,%x);while(x! =-1.0) n+; y+=x;scanf(%f,%x);if(n-0) return y; else return y/n; 函數(shù)功能:求出從鍵盤上輸出的一批常數(shù)的平均值,以-1.0作為結(jié)束輸入

23、的標志。 3. #include void wa(int a, int n) int i,k,j,x; for(i=0;in-1;i+) k=i; for(j=i+1;jak) k=j; x=ai; ai=ak; ak=x; 函數(shù)功能:采用選擇排序的方法對數(shù)組a中的n個整數(shù)按照從大到小的次序重新排列。 4. #include int* lj(int a, int n) int i,k=0; for(i=1;iak) k=i; return &ak; 函數(shù)功能:求出數(shù)組a中n個元素的最大值元素,返回該元素的地址。 5. void qc(struct strnode* f) while(f) pr

24、intf(%sn,f-name);f=f-next; 假定結(jié)構(gòu)類型strnode的定義如下: stuct strnode char name15; /字符串域 struct strnode *next; /指針域 ; 函數(shù)功能:遍歷f單鏈表,即從頭結(jié)點開始依次輸出f單鏈表中每個結(jié)點的值。 6. int output(struct intnode *f) int sum=0; if(!f) return -9999; /用返回特定值-9999表示空表 while(f) sum+=f-data; f=f-next; return sum; 假定struct intnode的類型定義為: struc

25、t intnode int data; /結(jié)點值域 struct intnode* next; /結(jié)點指針域 ; 函數(shù)功能:對于以表頭指針為f的鏈表,求出并返回所有結(jié)點中data域的值之和。 7. int wr4(file* fptr) char ch; int c=0; fseek(fptr,0,seek_set); while(1) ch=fgetc(fptr); if(ch!=eof) c+; else break; return c; 函數(shù)功能:求出一個以fptr為文件流的所對應(yīng)文件的長度,即所存字符的個數(shù)。五、根據(jù)下列每個題目要求編寫程序1. 編寫一個函數(shù)fun(),首先從鍵盤上輸入

26、一個4行4列的一個實數(shù)矩陣到一個二維數(shù)組a44中,接著求出主對角線上元素之和,最后返回求和結(jié)果。 #include double fun() double a44; double s=0; int i,j; printf(輸入一個4*4的數(shù)值矩陣:n); for(i=0;i4;i+) for(j=0;j4;j+) scanf(%lf,&aij); for(i=0;i4;i+) s+=aii; return s; void main() printf(主對角線上元素之和是%lfn,fun(); 2. 編寫一個主函數(shù),計算1+3+32+.+310的值并輸出,假定分別用i,p,s作為循環(huán)變量、累乘變

27、量和累加變量的標識符。#include void main() int i; /用i作為循環(huán)變量 int p=1; /用p作為累乘變量 int s=1; /用s作為累加循環(huán)變量 for(i=1;i=10;i+) p*=3; s+=p; printf(%dn,s); 3. 編寫一個主函數(shù),已知6a40,15b30,求出滿足不定方程2a+5b=120的全部整數(shù)組解。如(13,20)就是其中的一組解。#include void main() int a,b; for(a=6;a=40; a+) for(b=15;b=30;b+) if(2*a+5*b=126) printf(%d, %d)n,a,b

28、); 參考解答:一、選擇題1.c 2.d 3.c 4.b 5.a 6.c 7.c 8.c 9.d 10.b 11.a 12.b 13.c 14.a 15.a 16.d 17.a 18.c二、填空題1. /* 2. # 3. 程序 4. scanf() 5. weirong18 6. 031 7. c 8. 19. 2 10. 8 11. float 12. 313. 33 14. x+=y 15. (!x) 16. x=017. 1 18. 20 19. if 20. 1121. continue 22. 15 23. m*n 24. 數(shù)組25. 2 26. 8 27. 長度 28. 連接29

29、. 實參 30. void 31. 程序文件 32. 2633. *(a+i) 34. *p 35. *p 36. 2037. struct worker* r 38. (*p).name三、寫出下列每個程序運行后的輸出結(jié)果 1. i,s=15, 56 2. * * * * *3.1 1 12 2 33 6 94 24 33 4. 264 5. 18 206. 3 2 6 1 7. 10 20 40 35 40 20 8. 15 20 28 32 36 479.4 12 20 28 10. 15 26 26 15 11. defa 58 638.00四、寫出下列每個函數(shù)的功能1. 求出從鍵盤上

30、輸入的n個整數(shù)之和并返回。2. 求出從鍵盤上輸出的一批常數(shù)的平均值,以-1.0作為結(jié)束輸入的標志。3. 采用選擇排序的方法對數(shù)組a中的n個整數(shù)按照從大到小的次序重新排列。4. 求出數(shù)組a中n個元素的最大值元素,返回該元素的地址。 5. 遍歷f單鏈表,即從頭結(jié)點開始依次輸出f單鏈表中每個結(jié)點的值。6. 對于以表頭指針為f的鏈表,求出并返回所有結(jié)點中data域的值之和。7. 求出一個以fptr為文件流的所對應(yīng)文件的長度,即所存字符的個數(shù)。五、根據(jù)下列每個題目要求編寫程序1. double fun() double a44; double s=0; int i,j; printf(輸入一個4*4的數(shù)值矩陣:n); for(i=0;i4;i+) for(j=0;j4;j+) scanf(%lf,&aij); for(i=0;i4;i+) s+=aii; return s; void main() printf(主對角線上元素之和是%lfn,fun(); 2. #include void main() int i; /用i作為循環(huán)變量 int p=1; /用p作為累乘變量 int s=1; /用s作為累加循環(huán)變量 for(i=1;i

溫馨提示

  • 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

提交評論