C語言復(fù)習(xí)提綱(2015)_第1頁
C語言復(fù)習(xí)提綱(2015)_第2頁
C語言復(fù)習(xí)提綱(2015)_第3頁
C語言復(fù)習(xí)提綱(2015)_第4頁
C語言復(fù)習(xí)提綱(2015)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C程序設(shè)計復(fù)習(xí)提綱第一章C語言概述、第二章算法1.程序設(shè)計語言:機器語言、匯編語言、高級語言。2.高級語言翻譯成機器語言的兩種方式:編譯方式、解釋方式。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流程圖。6.算法的特性:有窮性、確定性、有零個或多個輸入、有一個或多個輸出、有效性。7.C語言的特點。8.運行C程序的步驟。9.C語言由函數(shù)組成,有且僅有一個main函數(shù)。10.函數(shù):說明部分、函數(shù)體。11.一條復(fù)雜語句分行書寫,用反斜杠()續(xù)行。12.注釋用/*/13.每個語句由分號(;)結(jié)束。第

2、三章數(shù)據(jù)類型、運算符和表達式1.常量:u 整型常量:235、0235、-0x235(前可加負號),長整型:-12l、-065l、0x55l等。u 實型常量:小數(shù)形式、指數(shù)形式。u 字符常量:用單引號,如c。u 轉(zhuǎn)義字符:表3-3。u 字符串常量:用雙引號,如“hglhg”、“a”,內(nèi)存占用為實際長度加1(結(jié)束標(biāo)志0)。u 符號常量:無參宏(#define)。2.變量:u 標(biāo)識符命名規(guī)則:。u 各種類型變量的長度:整型2個字節(jié)(VC6.0中4個字節(jié))、浮點型4個字節(jié)、字符型1個字節(jié)。u 整型變量的分類:int、short int、long int,注意其取值范圍,定義的時候可根據(jù)實際情況選擇數(shù)據(jù)

3、類型。u 浮點型變量的分類:float、double、long double,注意其取值范圍,定義的時候可根據(jù)實際情況選擇數(shù)據(jù)類型。u 不同數(shù)據(jù)類型數(shù)據(jù)之間的混合運算。不同數(shù)據(jù)類型之間的運算必須先轉(zhuǎn)換成相同數(shù)據(jù)類型才能運算。u 數(shù)據(jù)類型轉(zhuǎn)換:自動、強制。u 注:強制類型轉(zhuǎn)換只得到所需類型的結(jié)果值,原變量或表達式的類型仍為原類型。如(float)(x+y)3.各種運算符運算規(guī)則及其優(yōu)先級。4.自加、自減運算(P57頁):i+,+i,i-,-i。(不清楚可以在系統(tǒng)中運算查看結(jié)果)。5.其它運算符:符合運算符、條件運算、逗號運算、長度運算符(形式:sizeof 表達式 或sizeof (數(shù)據(jù)類型))

4、第四章順序結(jié)構(gòu)(輸入輸出)1.單字符輸入/出: putchar(字符變量)、getchar()。注意getchar()沒有參數(shù)。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 默認分隔符:空格、回車、Tab鍵(也可按域?qū)捊厝。﹗ 格式控制符間不宜加其它字符,如加入其它字符,輸入時應(yīng)原樣輸入,否則數(shù)據(jù)接收錯誤。如:scanf(“%d,

5、 %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 輸出列表:可以是變量、常量、表達式、函數(shù)調(diào)用等。u 轉(zhuǎn)義字符:以斜杠()開始,作為一個字符,如求字符

6、串長度:“jkgkbl0knlj”,長度為7。u 注意:輸出 long 、double型數(shù)據(jù),用%ld、%lfu 可設(shè)定輸出寬度,m和n,如:%5d、%6.2f、%.2fu 負號表示域內(nèi)向左對齊,如:%-12d第五章選擇結(jié)構(gòu)1. if語句的三種形式:u If(表達式) 語句;u If(表達式) 語句1;Else 語句2;u If(表達式1)語句1;Else if(表達式2)語句2;Else if(表達式3)語句3;Else if(表達式n)語句n;Else 語句n+1;2.if語句的嵌套。3.switch語句結(jié)構(gòu)Switch(表達式)Case 常量表達式1:語句1;break;Case 常量表

7、達式2:語句2;break;Case 常量表達式n:語句n;break;default:語句n+1;4.if中的表達式,一般是邏輯或關(guān)系表達式,也可以是任意類型表達式。5.邏輯表達式的優(yōu)化運算:u &&運算:只要算出第一個表達式為0,第二個表達式不再運算。u |運算:只要算出第一個表達式為1,第二個表達式不再運算。如:int i=0,j=0,a=6; if (+i>0)|(+j>0) a+; printf(%d%d%d”,i,j,a);結(jié)果i為1,j為0,a為7。6.如果有多條語句,必須用大括號括起,構(gòu)成復(fù)合語句。7.switch語句中case后面只能是常量值;若執(zhí)

8、行完某case后的語句沒遇到break,則繼續(xù)執(zhí)行下一個case 語句。8.本章主要是算法構(gòu)思。(先考慮好需要那些變量,即數(shù)據(jù)結(jié)構(gòu),再考慮怎樣求解問題)第六章循環(huán)結(jié)構(gòu)1.主要的循環(huán)結(jié)構(gòu)u while(表達式)語句;u do循環(huán)語句序列;While(表達式);u for(循環(huán)變量初值表達式1;循環(huán)結(jié)束條件表達式2;循環(huán)變量增值表達式3)循環(huán)語句;while、for中的表達式,一般是邏輯或關(guān)系表達式,也可以是任意類型表達式。注意for循環(huán)表達式里幾種形式(P118120頁)2.如果有多條語句,必須用大括號括起,構(gòu)成復(fù)合語句。 *3.循環(huán)程序:注意循環(huán)變量的初值、循環(huán)條件、修正值等,以及循環(huán)中用到的

9、某些變量賦初值,如求累加和變量。4.一般是先判斷條件,再執(zhí)行循環(huán)體;但dowhile語句是先執(zhí)行一遍循環(huán)體,再判斷條件。5.注意循環(huán)嵌套。一般是兩個或以上的for循環(huán),典型例子如輸出一個如右圖的菱形圖案。6.break語句跳出整個循環(huán)體,不在執(zhí)行循環(huán)、continue語句結(jié)束本次循環(huán),可繼續(xù)執(zhí)行下一次循環(huán)判斷。7.本章主要是算法構(gòu)思。(先考慮好需要那些變量,即數(shù)據(jù)結(jié)構(gòu),再考慮怎樣求解問題)第七章 數(shù)組1.數(shù)組定義:int a10;或int aN(N需要事先定義為符號常量:#define N 10 ); 數(shù)組長度必須是常量值,不能是變量,可以是在程序開始前定義的符號常量,進行長度定義。2.下標(biāo)引

10、用:0N-1,切記不能引用到N。(int a5; a5=10;這種引用是錯誤的)3.數(shù)組初始化時可省略長度定義。4.數(shù)組不能整體賦值。數(shù)組中各元素值的輸入/出,應(yīng)使用循環(huán)程序逐個輸入/出;字符數(shù)組例外(gets、puts)。6.數(shù)組中的排序方法:冒泡法:外循環(huán)為i=0;i<n-1;內(nèi)循環(huán)為j=0;j<n-1-i;循環(huán)中比較aj和aj+1兩個元素,并互換。7.二維數(shù)組:按行存放;賦初值的4種情況P137138頁。8.字符數(shù)組:通常定義較長長度,如:char s50; 通常用于存放字符串,結(jié)束標(biāo)志為0??捎米址A繛槠涑跏蓟纾篶har s=“sdkhg”; 也可由鍵盤輸入,如ge

11、ts(s);輸出用puts(s);注意:char s5=a,d,f,g,w;此種形式不是字符串,無字符串結(jié)束標(biāo)志,僅僅是普通一維字符數(shù)組,不能用puts輸出,只能用%c格式逐個輸出。字符數(shù)組的輸入/出還有兩種形式:%c、%s。9.字符串函數(shù)(P146150頁):strcpy(s1,s2)、 strcat(s1,s2)、 strcmp(s1,s2)、 strlen(s)、 strupr(s)、 strlwr(s)注意參考教材的例題。第八章 函數(shù)1.函數(shù)定義:int fun(int a,int y);如定義時沒指明函數(shù)類型,如:fun(int a);默認是int型,返回值不確定。2.聲明:函數(shù)定義

12、在前,使用在后,可省略函數(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.從作用域角度,變量分為:全局變量、局部變量。u 局部變量:在函數(shù)內(nèi)部定義,只能在該函數(shù)中使用,包括函數(shù)的形參和復(fù)合語句中

13、定義的變量,main函數(shù)中定義的變量也是局部變量,不能被其它函數(shù)使用。u 不同函數(shù)內(nèi)定義的同名變量,互不影響,因其作用域不同,內(nèi)存空間獨立。u 全局變量:在函數(shù)外部定義,作用域從定義開始到本文件結(jié)束。其間的所有函數(shù)都可以使用它,可在各函數(shù)間傳遞值,但容易帶來副作用,降低模塊獨立性。第九章 預(yù)處理命令1.預(yù)處理命令以“#”開頭,末尾不加分號。在程序編譯之前處理。1.2.宏替換:將函數(shù)中出現(xiàn)宏名的地方用宏體進行替換。#define SQR(x) x*xmain( ) int a,k=3; a=+SQR(k+1); printf("%dn",a); 替換后的表達是為a=+k+1*

14、k+1結(jié)果為9u 宏體可以是數(shù)字、也可以是組成C表達式或語句的其它字符,還可以引用已定義的其它宏名。u 宏的作用域:定義宏之后到本源文件結(jié)束,可用#undef提前結(jié)束。u 無參宏(符號常量):#define PI 3.14 注意:函數(shù)中雙引號內(nèi)的宏名不替換,如printf(“PI”);u 有參宏:#define 宏名(形參表) 宏體u 引用:宏名(實參表)u 注意有參宏如果宏體和參數(shù)沒用括號括起,可能有副作用。u 分析有參宏的程序時,必須先將宏替換后的表達式寫到紙上,再分析結(jié)果。u 文件包含:#include <文件名> 搜索系統(tǒng)標(biāo)準(zhǔn)目錄#include “文件名” 先搜索當(dāng)前目錄

15、, 找不到再搜索系統(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作

16、為實參進行調(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是指針變量,可進行增減運算;所以常通過p的增減運算來快速訪問數(shù)組a,如:while(p<a+5) scanf(“%d

17、”,p+); 或while(p<a+5) (*p)+; printf(“%d,”,*p+);u 理解(*p)+、*p+、 *(p+)、p+的含義。u 執(zhí)行p+后指針撥動的單元數(shù)(由元素類型決定)第十一章 結(jié)構(gòu)體和共同體1.結(jié)構(gòu)體:struct ,.定義的幾種形式P282284頁。成員可以是任意類型。成員引用:結(jié)構(gòu)體變量名成員名u 占用內(nèi)存大小為:各成員占用內(nèi)存之和。2.共用體:union,定義形式同結(jié)構(gòu)體。成員引用:共用體變量名成員名u 占用內(nèi)存大小為:共用體中較長的成員的長度。u 某一時刻只有一個成員起作用,最后一個存放的成員值有效。u 結(jié)構(gòu)體類型與共用體類型可互相嵌套使用,即結(jié)構(gòu)體成

18、員的類型也可以是共用體類型,反之亦然。第十章 文件1.流式文件:文本文件、二進制文件。u 文本文件:若干字符序列,較長,可用type命令或記事本查看。u 二進制文件:若干字節(jié)序列,短,存取速度快,不能用type或記事本等查看。2.文件操作:讀操作、寫操作。使用有關(guān)文件函數(shù)來完成,需包含頭文件stdio.h3.操作步驟:定義文件類型指針 FILE *fp; 打開文件 fp=fopen(文件名,打開方式);檢測指針 if(fp=NULL)exit(0);讀/寫 fgetc(fp)、fputc(ch,fp)關(guān)閉文件。fclose();4.打開文件時的使用方式?!眗”、”w”、”a”。5. fopen

19、()如果不能正確打開文件,則返回值為NULL。fclose()如果正確關(guān)閉文件,則返回值為0,否則返回EOF(-1)。fputc(ch,fp)以寫的方式打開,如果輸出成功,則返回值就是輸出的字符;如果輸出失敗,否則返回EOF(-1)。fgetc(fp)必須以讀或讀寫的方式打開文件,且文件必須存在。該函數(shù)返回一個字符值。如果讀入的文件遇到結(jié)束符,返回EOF(-1)。 6.讀入文件控制循環(huán):while(ch=fgetc(fp) !=EOF) 或while(!feof(fp)EOF是在頭文件中定義的符號常量,值為-1代表文件結(jié)束。考試若干說明:1、本課程考試定于18周,時間100分鐘,全部上機考試,選擇題30分,操作題70分,操作題包括程序改錯、程序填空、函數(shù)定義、自定義編程等。2、選擇題可參考我給的題目,對于理論知識部分,要適當(dāng)理解和記憶;對于要求算出結(jié)果的選擇題,可建立一個C程序,通過printf()

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論