C語言教案資料_第1頁
C語言教案資料_第2頁
C語言教案資料_第3頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精品文檔精品文檔精品文檔精品文檔C 語言程序設(shè)計(jì)復(fù)習(xí)提綱一、單項(xiàng)選擇題和填空題的知識(shí)點(diǎn)1函數(shù)C 程序主要組成部分函數(shù)C 基本單位C 或多個(gè)函數(shù)必須main 函數(shù)(main 函數(shù)。2、程序總是從 main 函數(shù)開始執(zhí)行的。C 語言本身不提供輸入輸出語句。3、識(shí)別不同的常量。(1)整型常量,如 100,0,-12實(shí)型常量,有兩種表示形式。第一,十進(jìn)制小數(shù)形式,如 12.45、-56.79。12.34e -,其中,字母e 實(shí)型數(shù)據(jù)表示,后面的部分稱為指數(shù),只能用整型數(shù)據(jù)表示,而字母e 既可以是小寫的e, 也可以是大寫的。an,注意它表示的是一個(gè)字符?!盢anjing”。#define #define

2、 PI 3.1416PI 3.1416。4、合法標(biāo)識(shí)符和非法標(biāo)識(shí)符的識(shí)別。5、數(shù)據(jù)類型占用的內(nèi)存字節(jié)數(shù)int(基本整型)4unsigned int(無符號(hào)基本整型)4short(短整型)2unsigned short(無符號(hào)短整型)2long(長(zhǎng)整型)4unsigned long(無符號(hào)長(zhǎng)整型)4signed char(有符號(hào)字符型)1unsigned char(無符號(hào)字符型)1float4double8long double166運(yùn)算符要求參加運(yùn)算的運(yùn)算對(duì)象(即操作數(shù))整數(shù)整數(shù)。如 8%3 2。7、除%以外的運(yùn)算符的操作數(shù)都可以是任何算術(shù)類型。8、自增、自減運(yùn)算符的使用。參見P53 的內(nèi)容和

3、例子。(單選)9、不同類型數(shù)據(jù)間的混合運(yùn)算。參見P54 的內(nèi)容和例子。10、賦值過程中的類型轉(zhuǎn)換。參見P62 的內(nèi)容和例子。(單選)o x 數(shù)據(jù)。具體內(nèi)容參見P73 的內(nèi)容和例子。12、在程序中實(shí)現(xiàn)兩個(gè)變量的值交換的算法。13、a&b&c 和 a|b|c 的運(yùn)算過程。參見P95 的具體內(nèi)容和例子。14、(m=ab)&(n=cd),該式中n 的值為多少。參見P95 的具體內(nèi)容和例子。15、判斷大寫字母的表達(dá)式:(ch=A&ch=Z)1617、大寫字母轉(zhuǎn)換為小寫字母:+3218、小寫字母轉(zhuǎn)換為大寫字母:-3219、P111 習(xí)題 3:求邏輯表達(dá)式的值。20數(shù)組名(包括實(shí)參和形參數(shù)組元素?cái)?shù)組元素的值

4、數(shù)組名數(shù)組首元素的地址。21在靜態(tài)存儲(chǔ)區(qū)中,寄存器變量存儲(chǔ)在CPU 的寄存器中。22、我們將地址形象化地稱為“指針23、指針變量的值是地址(即指針。24、如果指針變量p1 p2 都指向同一數(shù)組,如執(zhí)行p2-p1p2-p1 的值(之差)除以數(shù)組元素的長(zhǎng)度。而兩個(gè)地址不能相加,即p2+p1 是無實(shí)際意義的。25、可以引用結(jié)構(gòu)體變量中成員的值,具體的引用方式為:結(jié)構(gòu)體變量名.成員名。如: =”wang”;26于最長(zhǎng)的成員的長(zhǎng)度。27、根據(jù)數(shù)據(jù)的組織形式,數(shù)據(jù)文件可分為ASCII 文件和二進(jìn)制文件。28、用fopen 函數(shù)打開數(shù)據(jù)文件。29、使用文件的方式:見P335 的表

5、10.1。三、名詞解釋1、程序:程序就是一組計(jì)算機(jī)能識(shí)別和執(zhí)行的指令,每一條指令使計(jì)算機(jī)執(zhí)行特定的操作。23、常量:常量是指在程序的運(yùn)行過程中其值不能被改變的量。4、標(biāo)識(shí)符:在計(jì)算機(jī)高級(jí)語言中,用來對(duì)變量、符號(hào)常量、函數(shù)、數(shù)組、類型等命名的有效字符序列統(tǒng)稱為標(biāo)識(shí)符。5、C 算術(shù)表達(dá)式:用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(即操作數(shù))連接起來,符合C 語言語法規(guī)則的式子稱為C 算術(shù)表達(dá)式。6、輸出:輸出是指從計(jì)算機(jī)向輸出設(shè)備輸出數(shù)據(jù)。7、輸入:輸入是指從輸入設(shè)備向計(jì)算機(jī)輸入數(shù)據(jù)。8、關(guān)系運(yùn)算:所謂關(guān)系運(yùn)算就是比較運(yùn)算,將兩個(gè)數(shù)值進(jìn)行比較,判斷其比較的結(jié)果是否符合給定的條件。9、關(guān)系表達(dá)式:用關(guān)系運(yùn)算符將

6、兩個(gè)數(shù)值或數(shù)值表達(dá)式連接起來的式子稱為關(guān)系表達(dá)式。10達(dá)式。11、數(shù)組:數(shù)組是一組有序數(shù)據(jù)的集合。在數(shù)組中,各個(gè)數(shù)據(jù)的排列是有一定規(guī)律的,下標(biāo)代表了數(shù)據(jù)在數(shù)組中的序號(hào)。12的功能。13、形式參數(shù):在定義函數(shù)時(shí)函數(shù)名后面括號(hào)中的變量稱為形式參數(shù),也稱為虛擬參數(shù)。14稱實(shí)參。實(shí)際參數(shù)可以是常量、變量或表達(dá)式。15、值傳遞:值傳遞是單向傳遞,數(shù)據(jù)只能由實(shí)參傳給形參,而不能由形參傳給實(shí)參。16量稱為局部變量。17為文件中的其他函數(shù)所共用,其有效范圍為從定義該變量的位置開始到源文件結(jié)束。18儲(chǔ)之分。19量用關(guān)鍵字auto 作存儲(chǔ)類別的聲明。20static 進(jìn)行聲明。21語言允許將局部變量的值存放在CP

7、U 中的變量。寄存器變量用關(guān)鍵字register 進(jìn)行聲明。22的作用域。23、指針:一個(gè)變量的地址稱為該變量的“指針24(即指針24、結(jié)構(gòu)體類型:在 C 語言中允許用戶自己建立由若干個(gè)不同類型數(shù)據(jù)組成的組合型的數(shù)據(jù)結(jié)構(gòu)稱為結(jié)構(gòu)體。用戶使用結(jié)構(gòu)體自定義的數(shù)據(jù)類型稱為結(jié)構(gòu)體類型。25、數(shù)據(jù)流:輸入輸出是數(shù)據(jù)傳送的過程,數(shù)據(jù)如流水一樣從一處流向另一處,因此常將輸入輸出形象地稱為流。四、簡(jiǎn)答題1、高級(jí)語言經(jīng)歷了哪些發(fā)展階段?面向?qū)ο蟪绦蛟O(shè)計(jì)方法,適合于處理規(guī)模較大的復(fù)雜問題。2、一個(gè)函數(shù)包括哪幾個(gè)部分?試分別簡(jiǎn)述之。3、簡(jiǎn)述標(biāo)識(shí)符的組成規(guī)則?;蛳聞澗€。4、C 語言中基本數(shù)據(jù)類型有哪些?整型(int、

8、短整型(shor、長(zhǎng)整型(lon)和字符型(cha;實(shí)型類型又分為單精度實(shí)型(float)和雙精度實(shí)型5、什么是順序結(jié)構(gòu)?自動(dòng)執(zhí)行下一個(gè)語句,是無條件的,不必作任何判斷。6、簡(jiǎn)述關(guān)系運(yùn)算符及其優(yōu)先次序。答:C 語言提供了六種關(guān)系運(yùn)算符,分別為、=、=、!=。其中,前四種運(yùn)算符的優(yōu)先級(jí)相同且為高優(yōu)先級(jí),后兩種運(yùn)算符的優(yōu)先級(jí)相同且為低優(yōu)先級(jí)。7、C 語言中邏輯值的表示方法。C語言編譯系統(tǒng)在表示邏輯運(yùn)算結(jié)果時(shí),以數(shù)值1 0在判斷一個(gè)量是否為“真”時(shí),以00 8、什么是邏輯運(yùn)算符的短路問題?輯運(yùn)算符才能求出表達(dá)式的值時(shí),該運(yùn)算符才被執(zhí)行。9、while 循環(huán)和do-while 循環(huán)的區(qū)別?答:whil

9、e 循環(huán)是先判斷循環(huán)條件,后執(zhí)行循環(huán)體;而do-while while 0 次,而do-while 循環(huán)的循環(huán)體至少被執(zhí)行一次。10、for 語句的執(zhí)行過程?語句的具體執(zhí)行過程為:1;求解表達(dá)式 2,如果表達(dá)式 2 行,轉(zhuǎn)執(zhí)行。執(zhí)行循環(huán)體;3,轉(zhuǎn)繼續(xù)執(zhí)行。循環(huán)結(jié)束,執(zhí)行for語句的后一個(gè)語句。11、break 語句和continue 語句的區(qū)別?答:continue 環(huán)的執(zhí)行。而break 接從循環(huán)體內(nèi)跳轉(zhuǎn)到循環(huán)體外。12答:定義函數(shù)應(yīng)包括以下內(nèi)容:指定函數(shù)的名字,以便通過該函數(shù)名調(diào)用該函數(shù)。指定函數(shù)的類型,即函數(shù)返回值的類型。這項(xiàng)。指定函數(shù)應(yīng)當(dāng)完成的操作。13、函數(shù)嵌套調(diào)用和遞歸調(diào)用的區(qū)別?

10、A B,依次類推,在函數(shù) B 的執(zhí)行過程中,又調(diào)用了另一個(gè)函數(shù) 。而函數(shù)的遞歸調(diào)用其實(shí)是一種特殊的嵌套A (即函數(shù)A14、靜態(tài)存儲(chǔ)方式和動(dòng)態(tài)存儲(chǔ)方式的區(qū)別?態(tài)存儲(chǔ)區(qū)中,只在整個(gè)程序的執(zhí)行過程中的某一個(gè)時(shí)間段有效。15、C 語言中有哪些存儲(chǔ)類別?答:C 語言中有四種不同的存儲(chǔ)類別,分別為自動(dòng)的(auto、靜態(tài)的(stati、寄存器的registe、外部的exter。16、什么是共用體類型?類型稱為共用體類型。、什么是枚舉類型?答:所謂枚舉類型就是指把可能的值一一列舉出來,變量的值只限于列舉出來的值的范圍內(nèi)。18、什么是文件?答:所謂文件一般指存儲(chǔ)在外部存儲(chǔ)介質(zhì)上的數(shù)據(jù)的集合。19、文件關(guān)閉的含義

11、是什么?就是文件指針變量與文件“脫鉤五、程序填空題11-1/2+1/3-1/4+1/99-1/100 程序:#include int main()int sign=1,deno=2; double sum=1.0,term; while(deno=100)sign=-sign; term=1.0*sign/deno; sum=sum+term; deno=deno+1;printf(“%fn”,sum); return 0;2、用數(shù)組處理求Fibonacci P146 #include int main()int f20=1,1;int i; for(i=2;i20;i+)for(i=0;i2

12、0;i+)if(i%5=0)printf(n);printf(%12d,fi);printf(n);return 0;3、有 10 個(gè)數(shù),要求將它們按從小到大的順序進(jìn)行排序。P147 的例 6.3 #include int main()int a10;int i,j,t;printf(input 10 numbers:n); for(i=0;i10;i+)scanf(%d,&ai); printf(n);for(j=0;j9;j+)for(i=0;iai+1)t=ai;ai=ai+1;ai+1=t;printf(the sorted numbers:n); for(i=0;i10;i+)pri

13、ntf(%d ,ai);printf(n);return 0;4、求矩陣的轉(zhuǎn)秩。即將一個(gè)矩陣的行和列互換。P152 的例 6.4 #include int main()int a23=1,2,3,4,5,6;int b32,i,j;printf(array a:n); for(i=0;i=1;i+)for(j=0;j=2;j+)printf(%5d,aij);bji=aij;printf(n);printf(array for(i=0;i=2;i+)for(j=0;j=1;j+) printf(%5d,bij);printf(n);return 0;534 列號(hào)。P153 的例 6.5 #in

14、clude int main()int a34=1,2,3,4,9,8,7,6,-10,10,-5,2;int i,j,max,row,colum; max=a00;row=0;colum=0;for(i=0;i=2;i+) for(j=0;jmax)max=aij; row=i; colum=j;printf(max=%dnrow=%dncolum=%dn,max,row,colum);return 0;634 列號(hào)。#include int main()int a34=1,2,3,4,9,8,7,6,-10,10,-5,2;int i,j,min,row,colum,m,n; min=a0

15、0;row=0;colum=0; m=3;n=4;for(i=0;im;i+) for(j=0;jn;j+)if(aijmin)min=aij; row=i; colum=j;printf(min=%dnrow=%dncolum=%dn,min,row,colum);return 0;7、有一個(gè) 34 的矩陣,要求編程序求出其各個(gè)元素的平均值。#include int main()int a34=1,2,3,4,9,8,7,6,-10,10,-5,2;int i,j,sum,m,n; double avg=0.0; sum=0; m=3;n=4;for(i=0;im;i+) for(j=0;j

16、n;j+)sum=sum+aij;avg=1.0*sum/(m*n); printf(sum=%dn,sum); printf(avg=%fn,avg);return 0;8、輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單詞,單詞之間用空格分隔開。#include int main()char string81;int i,num=0,word=0; char c;gets(string);for(i=0;(c=stringi)!=0;i+) if(c= ) word=0;else if(word=0)word=1; num+;printf(There are %d words in this line.n

17、,num);return 0;或者#include int main()char string81; int i,num=0; char c; gets(string);for(i=0;(c=stringi)!=0;i+)if(c!= &i=0)|(c!= &stringi-1= ) num+; printf(There are %d words in this line.n,num);return 0;9、用遞歸方法求n!。#include int main()int fac(int n);int n,y;printf(input an integer number:); scanf(%d,

18、&n);y=fac(n); printf(%d!=%dn,n,y);return 0;int fac(int n)int f; if(n0)printf(n0,data error!); else if(n=0|n=1)f=1;elsef=fac(n-1)*n;return f;10、有一個(gè)一維數(shù)組,內(nèi)放 10 P201 7.14。#include float Max=0,Min=0; int main()float average(float array,int n); float ave,score10;int i;printf(Please enter 10 scores:); for(

19、i=0;i10;i+)scanf(%f,&scorei); ave=average(score,10);printf(max=%6.2fnmin=%6.2fnaverage=%6.2fn,Max,Min,ave);return 0;float average(float array,int n)int i;float aver,sum=array0; Max=Min=array0; for(i=1;iMax) Max=arrayi;else if(arrayiMin) Min=arrayi;sum=sum+arrayi;aver=sum/n;return aver;六、編程題1、輸入兩個(gè)正整數(shù)

20、m 和 n#include int main()int m,n,max,min,r,m0,n0;printf(請(qǐng)輸入兩個(gè)正整數(shù)m scanf(%d,%d,&m,&n); m0=m;n0=n;if(mn)int temp;temp=m;m=n;n=temp;dor=m%n; m=n; n=r;while(r!=0); max=m; min=m0*n0/max;printf(最大公約數(shù)為:%dn,max); printf(最小公倍數(shù)為:%dn,min);return 0;2、輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)。#include int main()char str20

21、;int alp=0,space=0,dig=0,other=0; int i;printf(請(qǐng)輸入一行字符:);gets(str);i=0;while(stri!=0)if(stri=A&stri=a&stri=0&stri=9) dig+;elsei+;other+;printf(:%dn,alp); printf(:%dn,space); printf(:%dn,dig); :%dn,other);return 0;3、輸出所有的“水仙花數(shù)3 該數(shù)本身。#include int main()int gewei,shiwei,baiwei,temp;for(int i=100;i1000;

22、i+)temp=i; gewei=temp%10; temp=temp/10; shiwei=temp%10; baiwei=temp/10;if(gewei*gewei*gewei+shiwei*shiwei*shiwei+baiwei*baiwei*baiwei=i)printf(%dt,i);printf(n);return 0;4、寫一函數(shù),求一個(gè)字符串的長(zhǎng)度。在main 函數(shù)中輸入字符串,并輸出其長(zhǎng)度。#include float Max=0,Min=0; int main()int length(char string); char string30;int len;printf(

23、Please enter a string:); gets(string); len=length(string);printf(the length of string is %d.n,len);return 0;int length(char string)int len=0; while(stringlen!=0)len+;return len;補(bǔ)充:1、求 100 之內(nèi)的所有素?cái)?shù)。用函數(shù)實(shí)現(xiàn)判斷一個(gè)數(shù)是否是素?cái)?shù)。#include #include int main()int isSuShu(int number); int i;printf(100 printf(%dt,2); for

24、(i=3;i100;i=i+2)if(isSuShu(i) printf(%dt,i);return 0;int isSuShu(int number)int i=2,end; end=(int)sqrt(number); while(i=end & number%i!=0)i+;return number%i;2、編程實(shí)現(xiàn)一維數(shù)組的逆序存放。編程實(shí)現(xiàn)將一維數(shù)組A 組A 中完成。#include int main()const len=10;int arrayAlen=1,2,3,4,5,6,7,8,9,10;int i,j,temp;printf(數(shù)組 A 中原來的值:n); for(i=0

25、;i len;i+)printf(%dprintf(n);for(i=0,j= len-1;ij;i+,j-)temp=arrayAi; arrayAi=arrayAj; arrayAj=temp;printf(數(shù)組 A 中新的值:n); for(i=0;i len;i+)printf(%dprintf(n);return 0;編程實(shí)現(xiàn)將一維數(shù)組A 中所有的元素逆序存放到數(shù)組B 中。#include int main()const len=10;int arrayAlen=1,2,3,4,5,6,7,8,9,10;int arrayBlen; int i;printf(數(shù)組 A 中的值:n);

26、 for(i=0;ilen;i+)printf(%dprintf(n);for(i=0;ilen;i+)arrayBlen-1-i=arrayAi;printf(數(shù)組 B 中的值:n); for(i=0;ilen;i+)printf(%dprintf(n);return 0;3、順序查找,輸入下標(biāo)的位置。求x 在數(shù)組array #include int main()const len=10;int arraylen=1,2,3,4,5,6,7,8,9,10;int i,x;printf(請(qǐng)輸入要查找的數(shù)據(jù)x:);scanf(%d,&x);i=0;while(ilen & x!=arrayi)

27、i+;if(ilen)printf(%d 在數(shù)組中的下標(biāo)位置為%d。n,x,i);elseprintf(在數(shù)組中不存在%d。n,x);return 0;4、編程實(shí)現(xiàn)a、b、c 三個(gè)數(shù)的排序。#include int main()int a,b,c,temp;printf(請(qǐng)輸入要排序的三個(gè)數(shù)、b scanf(%d %d %d,&a,&b,&c);printf(n 排序前的三個(gè)數(shù)為%d,%d,%dn,a,b,c);if(ab)temp=a;a=b;b=temp;if(ac)temp=a;a=c;c=temp;if(bc)temp=b;b=c;c=temp;printf(排序后的三個(gè)數(shù)為%d,%d,%dn,a,b,c);return 0;5、實(shí)現(xiàn)一個(gè)字符串中的大小寫字母的轉(zhuǎn)換,其余字符不變。將一個(gè)字符串中的所有大寫字母轉(zhuǎn)換為小寫字母,其余字符不變。#include int main()const len=30; char arraylen; int i,c;printf(請(qǐng)輸入一個(gè)字符串:); gets(array);i=0;while(c=arrayi)!=0)if(c=A & c=Z) arrayi=arra

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論