c語言復(fù)習(xí)提綱(2014).doc_第1頁
c語言復(fù)習(xí)提綱(2014).doc_第2頁
c語言復(fù)習(xí)提綱(2014).doc_第3頁
c語言復(fù)習(xí)提綱(2014).doc_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

C語言復(fù)習(xí)提綱第一章1.程序設(shè)計語言:機(jī)器語言、匯編語言、高級語言。2.高級語言翻譯成機(jī)器語言的兩種方式:編譯方式、解釋方式。3.算法+數(shù)據(jù)結(jié)構(gòu)=程序4.結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、分支(選擇)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)5.算法的表示方法:自然語言、傳統(tǒng)的程序流程圖、N-S流程圖、偽代碼、計算機(jī)語言。6.結(jié)構(gòu)化程序設(shè)計的32字原則:7.C語言的產(chǎn)生及發(fā)展:UNIX操作系統(tǒng)8.C語言的特點(diǎn):9.C語言由函數(shù)組成,有且僅有一個main函數(shù)。10.函數(shù):函數(shù)的首部、函數(shù)體。11.注釋用/*/或/12.C程序的結(jié)構(gòu),運(yùn)行C程序的步驟和方法。 第二章1.單字符輸入/出:getchar()、putchar(字符變量)。2.字符串:gets(字符數(shù)組名)、puts(數(shù)組名)。3.格式化輸入: scanf(“格式控制符”,地址列表);格式控制符:%c、 %d 、 %o 、 %x、 %s、 %fu 若輸入long型、double型應(yīng)加l,如%ld、 %lo、 %lf u 格式%s輸入字符串不包含空格,且對應(yīng)地址表列是字符數(shù)組名。u 默認(rèn)分隔符:空格、回車、Tab鍵(也可按域?qū)捊厝。﹗ 格式控制符間不宜加其它字符,如加入其它字符,輸入時應(yīng)原樣輸入,否則數(shù)據(jù)接收錯誤。如:scanf(“%d, %d”,&a,&b); 輸入數(shù)據(jù)時兩數(shù)據(jù)間要有逗號;scanf(“%d %d”,&a,&b); %d間有兩個空格,則輸入數(shù)據(jù)時至少有兩個空格。u 輸入函數(shù)中%f格式不能帶小數(shù),如:scanf(“%7.2f”,&a)是錯誤的。u %c格式輸入單字符,空格字符和轉(zhuǎn)義字符都作為有效字符接收。u %*d表示跳過它對應(yīng)的輸入數(shù)據(jù)。4.格式化輸出:printf(“格式控制符”,輸出列表);u 格式控制符部分可加入其它字符,原樣輸出。如:提示語或使輸出結(jié)果清楚顯示u 輸出列表:可以是變量、常量、表達(dá)式、函數(shù)調(diào)用等。u 轉(zhuǎn)義字符:以字符()開始,作為一個字符,如求字符串長度:“jkgkbl0knlj”,長度為7。u 注意:輸出 long 、double型數(shù)據(jù),用%ld、%lfu 可設(shè)定輸出寬度,m和n,如:%5d、%6.2f、%.2fu 負(fù)號表示域內(nèi)向左對齊,如:%-12d第三章1.常量:u 整型常量:235、0235、-0x235(前可加負(fù)號),長整型:-12l、-065l、0x55l等。u 實型常量:小數(shù)形式、指數(shù)形式。u 字符常量:用單引號,如c(注意轉(zhuǎn)義字符)。u 字符串常量:用雙引號,如“hglhg”、“a”,內(nèi)存占用為實際長度加1。u 符號常量:無參宏(#define)。2.變量: u 標(biāo)識符命名規(guī)則:。u 各種類型變量的長度。u 數(shù)據(jù)類型轉(zhuǎn)換:自動、強(qiáng)制。u 注:強(qiáng)制類型轉(zhuǎn)換只得到所需類型的結(jié)果值,原變量或表達(dá)式的類型仍為原類型。如(float)(x+y)3.各種運(yùn)算符運(yùn)算規(guī)則及其優(yōu)先級。+,- (復(fù)合)賦值運(yùn)算符4.補(bǔ)充-邏輯表達(dá)式的優(yōu)化運(yùn)算:u &運(yùn)算:只要算出第一個表達(dá)式為0,第二個表達(dá)式不再運(yùn)算。u |運(yùn)算:只要算出第一個表達(dá)式為1,第二個表達(dá)式不再運(yùn)算。如:int i=0,j=0,a=6; if (+i0)|(+j0) a+; printf(%d%d%d”,i,j,a); 結(jié)果i為1,j為0,a為7。5.其它運(yùn)算符:條件運(yùn)算、逗號運(yùn)算、長度運(yùn)算符(形式:sizeof 表達(dá)式 或sizeof (數(shù)據(jù)類型))第四章1.if、while、for中的表達(dá)式,一般是邏輯或關(guān)系表達(dá)式,也可以是任意類型表達(dá)式。如while(a=5).2.if 與else 的配對關(guān)系。3.如果有多條語句,必須用大括號括起,構(gòu)成復(fù)合語句。4.switch語句中case后面只能是常量值;若執(zhí)行完某case后的語句沒遇到break,則繼續(xù)執(zhí)行下一個case 語句。5.while ,dowhile 的區(qū)別。6.循環(huán)程序:注意循環(huán)變量的初值、修正值、循環(huán)條件等,以及循環(huán)中用到的某些變量賦初值,如求累加和變量。7.一般是先判斷條件,再執(zhí)行循環(huán)體;但dowhile語句是先執(zhí)行一遍循環(huán)體,再判斷條件。8.break、continue語句。8.本章主要是算法構(gòu)思。(先考慮好需要那些變量,即數(shù)據(jù)結(jié)構(gòu),再考慮怎樣求解問題)第五章1.數(shù)組定義:int a10;或int aN(N需要事先定義為符號常量:#define N 10 ); 數(shù)組長度必須是常量值,不能是變量,可以是在程序開始前定義的符號常量,進(jìn)行長度定義。2.下標(biāo)引用:0N-1,切記不能引用到N。(int a5; a5=10;這種引用是錯誤的)3.數(shù)組初始化時可省略長度定義。4.數(shù)組定義后如沒有給任何一個元素賦初值,對于static類型,各元素初值為0;對于auto類型,各元素值不定。5.數(shù)組不能整體賦值。數(shù)組中各元素值的輸入/出,應(yīng)使用循環(huán)程序逐個輸入/出;字符數(shù)組例外(gets、puts)。6.數(shù)組中的兩種排序方法:u 冒泡法:外循環(huán)為i=0;in-1;內(nèi)循環(huán)為j=0;jn-1-i;循環(huán)中比較aj和aj+1兩個元素,并互換。u 選擇法:外循環(huán)為i=0;in-1;內(nèi)循環(huán)為j=i+1;jn;內(nèi)循環(huán)開始前,先賦初值min=i;循環(huán)中比較amin和aj兩個元素,不互換,只讓min=j;內(nèi)循環(huán)結(jié)束后再進(jìn)行互換, ai和amin互換。7.二維數(shù)組:按行存放;賦初值的5種情況。打擂臺算法8.字符數(shù)組:通常定義較長長度,如:char s50; 通常用于存放字符串,結(jié)束標(biāo)志為0。可用字符串常量為其初始化,如:char s=“sdkhg”; 也可由鍵盤輸入,如gets(s);輸出用puts(s);注意:char s5=a,d,f,g,w;此種形式不是字符串,無字符串結(jié)束標(biāo)志,僅僅是普通一維字符數(shù)組,不能用puts輸出,只能用%c格式逐個輸出。字符數(shù)組的輸入/出還有兩種形式:%c、%s。9.字符串函數(shù):strcpy(s1,s2)、 strcat(s1,s2)、 strcmp(s1,s2)、 strclen(s)、 strupr(s)、 strlwr(s)第六章1.函數(shù)定義:int func(int a,int y);如定義時沒指明函數(shù)類型,如:fun(int a);默認(rèn)是int型,返回值不確定。2.聲明:函數(shù)定義在前,使用在后,可省略函數(shù)聲明,反之需要在使用前聲明。函數(shù)聲明的幾種變通形式。u 函數(shù)聲明后加分號,而函數(shù)定義后沒有分號。3.函數(shù)調(diào)用:函數(shù)名(實參表); u 實參與形參個數(shù)、類型、位置一致。u 形參與實參占據(jù)不同的存儲單元;形參只在函數(shù)調(diào)用時才為其分配存儲單元,函數(shù)調(diào)用結(jié)束后釋放。u 實參與形參之間是傳值調(diào)用,單向傳遞關(guān)系,形參值改變,不會影響實參值。u 函數(shù)可嵌套調(diào)用,不可嵌套定義。u 嵌套調(diào)用:一個函數(shù)內(nèi)部又調(diào)用另外一個函數(shù)。u 遞歸調(diào)用:一個函數(shù)調(diào)用它自身。4.數(shù)組名作為函數(shù)參數(shù):void func(int a,int n);u 傳遞的是實參數(shù)組的首地址。調(diào)用時實參是數(shù)組名,如func(a,10);形參應(yīng)是數(shù)組名或指針變量。u 數(shù)組名做函數(shù)實參時,實參數(shù)組和形參數(shù)組共占同一段內(nèi)存單元,形參數(shù)組中個元素的值如發(fā)生變化會使實參數(shù)組元素的值同時發(fā)生變化。5.多維數(shù)組: void func(int a5,int n);(可省略第一維,但不能省略其它高維)。6.從作用域角度,變量分為:全局變量、局部變量。u 局部變量:在函數(shù)內(nèi)部定義,只能在該函數(shù)中使用,包括函數(shù)的形參和復(fù)合語句中定義的變量,main函數(shù)中定義的變量也是局部變量,不能被其它函數(shù)使用。u 不同函數(shù)內(nèi)定義的同名變量,互不影響,因其作用域不同,內(nèi)存空間獨(dú)立。u 全局變量:在函數(shù)外部定義,作用域從定義開始到本文件結(jié)束。其間的所有函數(shù)都可以使用它,可在各函數(shù)間傳遞值,但容易帶來副作用,降低模塊獨(dú)立性。7.變量的存儲類別:auto、static、register、extern。8.局部變量的存儲類別: auto、static、register。u auto型的生存周期時函數(shù)被調(diào)期間,兩次調(diào)用之間不保留值。void func(int n) static int a=1; a+=n; printf(“%d,”,a);main() int b=2; func(b); func(b); 程序運(yùn)行結(jié)果為3,5,u static型的生存期是整個程序運(yùn)行期間,保留上一次調(diào)用后的值,且只賦一次初值(在程序運(yùn)行前初始化,默認(rèn)初值為0)。如:9.全局變量的存儲類別: static、extern。u 全局變量總是存放在靜態(tài)存儲區(qū)間,生存期是整個程序運(yùn)行期間,只賦一次初值,在程序運(yùn)行前初始化,默認(rèn)初值為0。u 用extern對全局變量加以聲明,可以將其作用域擴(kuò)充到整個文件或其它文件。u 定義全局變量時加上static,可將其作用域限制在本文件中,不能被其它文件使用。10.函數(shù)的作用域是全局的,可被其它函數(shù)調(diào)用。u 函數(shù)存儲類別:static、extern。默認(rèn)為extern型。#define SQR(x) x*xmain( ) int a,k=3; a=+SQR(k+1); printf(%dn,a); 替換后的表達(dá)是為a=+k+1*k+1結(jié)果為9u 如:static int func(int a);則函數(shù)不被其它文件使用,所以兩文件中的同名靜態(tài)函數(shù),互不干擾。第七章(略)1. 預(yù)處理命令以“#”開頭,末尾不加分號。在程序編譯之前處理。2.2.宏替換:將函數(shù)中出現(xiàn)宏名的地方用宏體進(jìn)行替換。u 宏體可以是數(shù)字、也可以是組成C表達(dá)式或語句的其它字符,還可以引用已定義的其它宏名。u 宏的作用域:定義宏之后到本源文件結(jié)束,可用#undef提前結(jié)束。u 無參宏(符號常量):#define PI 3.14 注意:函數(shù)中雙引號內(nèi)的宏名不替換,如 printf(“PI”);u 有參宏:#define 宏名(形參表) 宏體u 引用:宏名(實參表)u 注意有參宏如果宏體和參數(shù)沒用括號括起,可能有副作用。u 分析有參宏的程序時,必須先將宏替換后的表達(dá)式寫到紙上,再分析結(jié)果。u 文件包含:#include 搜索系統(tǒng)標(biāo)準(zhǔn)目錄#include “文件名” 先搜索當(dāng)前目錄, 找不到再搜索系統(tǒng)標(biāo)準(zhǔn)目錄第八章1.指針的基本概念:指針地址;2.指針常量:某已知變量的地址,或數(shù)組名等,:int a,b5;此時&a和b就是指針常量(固定值)。3.指針變量:如int a,*p=&a; char s9,*q=s;u 賦值:必須賦地址值,如int a,*p; p=&a;如p=2001;是錯誤的。4.間接訪問:*p=5;等同于a=5;5.指針作為函數(shù)的參數(shù),傳遞的是實參變量的地址, 如:void func(int *p)u 調(diào)用時用某變量的地址常量,或指向該變量的指針作為實參,如主調(diào)函數(shù)中有定義int a,*q;q=&a;則可用&a或q作為實參進(jìn)行調(diào)用,即func(&a);或func(q); 都是將變量a的地址傳遞給形參指針p,使指針p指向變量a。函數(shù)中使用*p就是對a的間接訪問,就可以改變a的值,或者將結(jié)果放入a中。但形參變量本身改變,反過來不會影響實參指針值。 6.指針與一維數(shù)組:int a10,*p=a;則a代表數(shù)組首地址,是指針常量,u 元素的表示方法:ai、*(a+i)、 pi、*(p+i)u 元素地址:&ai、a+i、 &pi、p+Iu 區(qū)別:a實指針常量,只不能變,而p是指針變量,可進(jìn)行增減運(yùn)算;所以常通過p的增減運(yùn)算來快速訪問數(shù)組a,如:while(pa+5) scanf(“%d”,p+); 或while(p3,ab,(a=3)(b=5),(ab)(bc)5、 強(qiáng)制類型表達(dá)式:用“(類型)”運(yùn)算符使表達(dá)式的類型進(jìn)行強(qiáng)制轉(zhuǎn)換。如:(float)a6、 逗號表達(dá)式(也叫順序表達(dá)式):形式為:表達(dá)式1,表達(dá)式2,表達(dá)式n順序求出表達(dá)式1,表達(dá)式2,表達(dá)式n的值。其結(jié)果為表達(dá)式n(最后一個表達(dá)式)的值。如(假設(shè)有說明: int x):x=10,x*2,x+37、 條件表達(dá)式:形式為:表達(dá)式0?表達(dá)式1:表達(dá)式2若“表達(dá)式0”的值非零,則條件表達(dá)式的值等于“表達(dá)式1”的值。若“表達(dá)式0”的值為零,則條件表達(dá)式的值等于“表達(dá)式2”的值。如:設(shè):int x=6則(x6)?(0?x+1:x-1):(10?2*x:x/2)的值為:12。五、 自加、自減運(yùn)算:若有定義:int k=5;則:表達(dá)式:(k+)、(+k)、(k-)、(-k)有何區(qū)別?六、

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論