c語言程序設計知識點總結_第1頁
c語言程序設計知識點總結_第2頁
c語言程序設計知識點總結_第3頁
c語言程序設計知識點總結_第4頁
c語言程序設計知識點總結_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《C語言程設計》教學基本知識點第一章c語言基本知識1.C源程序的框架盡管各個C源程序的功能千變萬化,但框架是不變的,主要有:編譯預處理、主函數(shù)()、函數(shù)n()等,主函數(shù)的位置不一定在最前面,可以在程序的中部或后面,主函數(shù)的名字固定為maino2.C語言源程序的書寫規(guī)則:(1)C源程序是由一個主函數(shù)和若干個其它函數(shù)組成的。⑵函數(shù)名后必須有小括號,函數(shù)體放在大括號內。(3)C程序必須用小寫字母書寫。(4)每句的末尾加分號。⑸可以一行多句。(6)可以一句多行。⑺可以在程序的任何位置加注釋。3.語句種類語句是程序的基本成分,程序的執(zhí)行就是通過一條條語句的執(zhí)行而得以實現(xiàn)的,根據(jù)表現(xiàn)形式及功能的不同,C語言的基本語句可以分為五大類。⑴流程控制語句流程控制語句的功能是控制程序的走向,程序的流程有三種基本結構:順序結構、分支結構和循環(huán)結構,任何復雜的程序都可以由這三種基本結構復合而成。其中后兩種結構要用特定的流程控制語句實現(xiàn)。(2)表達式語句表達式語句的形式是:表達式;,即表達式后跟一分號“;”,分號是語句結束符,是一個語句必不可少的成分。表達式和表達式語句的區(qū)別在于表達式代表的是一個數(shù)值,而表達式語句則代表一種動作。最常見的表達式語句是賦值語句。(3)函數(shù)調用語句函數(shù)調用語句實際上也是一種表達式語句,形式為:在一次函數(shù)調用的小括號后面加上一個分號。(4)空語句空語句的形式就是一個分號,它不代表任何動作,常常作為一個意義轉折點使用。⑸復合語句復合語句從形式上看是多個語句的組合,但在語法意義上它只相當于一個語句,在任何單一語句存在的地方都可以是復合語句。注意復合語句中最后一個語句末尾的分號不能少。復合語句右大括號后面沒有分號。4.運算符用來表示數(shù)據(jù)各種操作的符號稱為運算符。運算符實際上代表了一種類型數(shù)據(jù)的運算規(guī)則。不同的運算符具有不同的運算規(guī)則,其操作的數(shù)據(jù)類型必須符合該運算符的要求,運算結果的數(shù)據(jù)類型也是固定的。根據(jù)參加操作的數(shù)據(jù)個數(shù)多少,可以將C語言的運算符分為單目運算符,雙目運算符和三目運算符(三目運算符只有條件運算符一個)。根據(jù)運算對象和運算結果的數(shù)據(jù)類型可分為算術運算符、關系運算符、邏輯運算符等。.表達式表達式是由常量、變量、函數(shù),通過運算符連接起來而形成的一個算式。一個常量,一個變量或一個函數(shù)都可以看成是一個表達式。表達式的種類有:算術表達式、關系表達式、邏輯表達式、賦值表達式、字位表達式、強制類型轉換表達式、逗號表達式(順序表達式)、條件表達式、指針表達式。.數(shù)據(jù)的輸入/輸出C語言本身沒有輸入/輸出語句,數(shù)據(jù)的輸入/輸出是通過調用庫函數(shù)來實現(xiàn)的。第二章數(shù)據(jù)類型知識點劃分數(shù)據(jù)類型的意義是編譯系統(tǒng)對每個不同類型的數(shù)據(jù)在內存中分配的字節(jié)數(shù)不同,不同類型的數(shù)據(jù)可以按規(guī)定參加不同類型的運算。[C語言的數(shù)據(jù)類型數(shù)最類型有:整型、字符型、實型單精度型、雙精度型、構造類型數(shù)組類型、結構體類型、共用體類型、枚舉類型、指針類型、空類型,其中整型、實型、字符型是C語言中的基本類型。.各種類型數(shù)據(jù)的定義方法定義形式:數(shù)據(jù)類型變量名1,變量名2,……變量名n;3常量與變量(1)常量一一在程序執(zhí)行期間其值不變的量。它不能被賦值。(2)變量一一在程序運行期間其值可以改變的量。.各種類型數(shù)據(jù)的混合運算各類數(shù)據(jù)運算前會自動轉換成同一類型。規(guī)律如右圖示:從右向左的箭頭表示必定的轉換,如float型數(shù)據(jù)運算前化成double型,以提高運算精度,結果也為double型,short或char型數(shù)據(jù)運算前化成int型,結果也為血型;從下向上的箭頭表示轉換方向是向級別高的靠攏。.強制類型變換當我們需要對數(shù)據(jù)進行類型變換,而機器又不能自動完成時,就要用強制類型變換,形式為:(數(shù)據(jù)類型符)(被轉換對象)。第三章選擇知識點C語言中實現(xiàn)選擇結構的控制語句有兩種:條件分支語句if和開關分支語句switchof語句的三種形式:if(表達式)語句;if(表達式)語句1;else語句2;if(表達式1)語句1;elseif(表達式2)語句2;elseif(表達式3)語句3;???elseif(表達式n)語句n;2.開關分支語句switch⑴形式switch(表達式){caseel:語句1;break;casee2:語句2;break;casee3:語句3;break;caseen:語句n;break;default:語句n+1;)⑵功能當表達式的值等于el時,執(zhí)行語句1;當表達式的值等于e2時,執(zhí)行語句2;當表達式的值等于en時,執(zhí)行語句n;當表達式的值與常量eke2……en誰都不等時,就執(zhí)行default后的語句第四章循環(huán)知識點循環(huán)就是在程序執(zhí)行過程中,反復多次的執(zhí)行同一段程序。C語言中有三種循環(huán)語句。.while循環(huán)語句形式為:while(表達式)(循環(huán)體};執(zhí)行過程是:先計算表達式的值,當表達式的值非。時就執(zhí)行循環(huán)體,之后再判斷表達式的值,且重復以上過程;當表達式的值為。時就結束循環(huán)。.do-while循環(huán)語句形式為:do(循環(huán)體}while(表達式);執(zhí)行過程是:先執(zhí)行循環(huán)體一次,再判斷表達式的值,當表達式的值非0時就再執(zhí)行循環(huán)體,之后再判斷表達式的值,且重復以上過程;當表達式的值為。時就結束循環(huán)。.for循環(huán)語句形式為:for(表達式1;表達式2;表達式3)(循環(huán)體}.三種循環(huán)語句的比較三種循環(huán)語句可以完成同一件事,可任選其一。使用while和do—while循環(huán)時,要提前給循環(huán)變量賦初值。而for循環(huán)是在表達式1中賦初值的。while循環(huán)和for循環(huán)都是先判斷條件后執(zhí)行循環(huán)體,有可能一次也不執(zhí)行循環(huán)體,do—while循環(huán)是先執(zhí)行循環(huán)體,后判斷條件,即循環(huán)體至少也得執(zhí)行一次。for循環(huán)不限于計數(shù)循環(huán),其循環(huán)條件可以是邏輯表達式和字符表達式等。.循環(huán)嵌套三種循環(huán)控制語句可以互相嵌套,即在一個循環(huán)體內部又可以出現(xiàn)另一循環(huán),這種嵌套在理論上來說可以是無限的。注意必須是一個循環(huán)完整的套住另一個循環(huán)。.break語句break語句只能出現(xiàn)在三種循環(huán)語句和switch多分支語句中,其作用是用來中斷這四種語句的執(zhí)行。當程序執(zhí)行至ijbreak語句時,會跳出break語句所在的循環(huán)或switch分支,而直接執(zhí)行緊跟在它們后面的語句。.continue語句continue語句只能出現(xiàn)在三種循環(huán)語句中,當程序執(zhí)行到continue語句時,其作用是提前結束本次循環(huán),自動跳過循環(huán)體中后半部剩余的語句的執(zhí)行,而直接回到循環(huán)條件判斷。根據(jù)判斷的結果決定是否繼續(xù)執(zhí)行下次循環(huán)。.goto語句goto語句是一種非結構化語句,其作用是使程序的執(zhí)行無條件的轉移到某一處。使用格式為:got。標號;利用goto語句與if條件語句配合,也可以實現(xiàn)條件循環(huán)。C語句允許在任何語句前添加標號,作為跳轉目標,標號的構成是標識符后面加一個“:“。第五章數(shù)組知識點數(shù)組就是同類型的一批數(shù)據(jù)的集合,用一個變量名存放,區(qū)分各元素的辦法是用下標。,一維數(shù)組類型說明符數(shù)組名、[數(shù)組長度\];(1)數(shù)組命名要符合標識符的命名規(guī)則。⑵數(shù)組名后的括號必須是方括號,不能是圓括號。(3)數(shù)組長度必須是正整數(shù),可以是個表達式,但不能有變量,C語言不支持動態(tài)數(shù)組。(4)數(shù)組長度表示數(shù)組中元素的個數(shù)(5)數(shù)組元素的下標從。開始數(shù),所以最大下標是數(shù)組的長度減lo.多維數(shù)組(以二維為例)類型說明符數(shù)組名、[第一維長度\]\]第二維長度\];(1)數(shù)組命名要符合標識符的命名規(guī)則。⑵數(shù)組名后的括號必須是兩個方括號,定義時不能寫成inta\[3,4\];。⑶數(shù)組長度必須是整型常量表達式。(4)第一維長度表示數(shù)組行數(shù),第二維長度表示數(shù)組列數(shù)。(5)每個數(shù)組元素都有兩個下標,第一維表示該元素所在的行,第二維表示該元素所在的列,每一維的下標都從。開始數(shù)。二維數(shù)組的初始化:C語言規(guī)定只有靜態(tài)數(shù)組和外部數(shù)組才允許在定義時賦初值,賦初值形式如下:static類型說明符數(shù)組名、[第一維長度\]\[第二維長度\]={初值表};二維數(shù)組的引用:二維數(shù)組不能整體引用,要引用數(shù)組的單個元素,形式為:數(shù)組名\[下標\]\[下標\]和普通變量的使用無任何區(qū)別。.字符數(shù)組C語言中沒有字符串變量,字符串是靠字符數(shù)組實現(xiàn)的,所謂字符數(shù)組就是元素的數(shù)據(jù)類型為字符型的數(shù)組。(1)字符數(shù)組的定義形式:char數(shù)組名、[數(shù)組長度\];因為C語言中的整型數(shù)據(jù)和字符型數(shù)據(jù)是相通的,所以也可以這樣定義:int數(shù)組名、[數(shù)組長度\];⑵字符數(shù)組的初始化:給字符數(shù)組的初始化有兩種方式,一種是用字符常量,另一種是用字符串。形式如下:staticchar數(shù)組名、[數(shù)組長度\]={字符常量表};staticchar數(shù)組名、[數(shù)組長度\]={字符串常量};.數(shù)組與函數(shù)數(shù)組經常作為函數(shù)的參數(shù),數(shù)組做函數(shù)的參數(shù)有兩種形式,一是數(shù)組元素做函數(shù)的參數(shù),一是數(shù)組名做函數(shù)的參數(shù),當用數(shù)組名做函數(shù)的實參時傳送的是首地址。?常用的字符串處理函數(shù)C語言提供了一些處理字符串的標準函數(shù),用以完成一些常見的操作。對以下兒個函數(shù)要掌握其功能和調用形式。(l)gets(字符數(shù)組名)此函數(shù)功能是從鍵盤輸入一串字符,回車后送到字符數(shù)組中,注意定義數(shù)組時數(shù)組長度要足夠大。⑵puts(字符數(shù)組名)此函數(shù)功能是將字符數(shù)組的內容輸出到屏幕上。(3)strcat(字符數(shù)組名1,字符數(shù)組名2)此函數(shù)功能是將字符數(shù)組1中的'\\0'去掉后將字符數(shù)組2的內容連接到字符數(shù)組1的末尾。(4)strcpy(字符數(shù)組名1,字符數(shù)組名2)函數(shù)功能是將字符數(shù)組2的內容(包括'\\0')拷貝到字符數(shù)組1中,字符數(shù)組2處也可以是字符串常量。strcpy函數(shù)可以實現(xiàn)拷子串。⑸strcmp(字符數(shù)組名1,字符數(shù)組名2)函數(shù)功能是兩個字符串(ASCII碼)比大小。(6)strlen(字符數(shù)組名)此函數(shù)功能是求字符串的長度,注意不包括'\\0'。(7)strlwr(字符數(shù)組名)此函數(shù)功能是將字符串中的所有大寫字母都變成小寫。(8)strupr(字符數(shù)組名)此函數(shù)功能是將字符串中的所有小寫字母都變成大寫。第六章函數(shù)知識點每個C源程序都是由函數(shù)組成的,一個主函數(shù)和若干個其它函數(shù),C語言程序設計的基礎工作就是函數(shù)的具體編寫,C語言中的函數(shù)就相當于其它高級語言中的子程序。.函數(shù)的概念函數(shù)就是一個數(shù)據(jù)加工廠,從函數(shù)外部接收數(shù)據(jù),在函數(shù)內部加工處理,然后得到一個結果返回給外部的調用者。所以函數(shù)就是對語言功能的擴充,對函數(shù)的調用就是對功能的調用。.標準函數(shù)各種高級語言都定義了一些標準函數(shù),C語言中的標準函數(shù)稱為庫函數(shù),是將一些基本的、常用的功能編成了函數(shù),供大家使用方便。使用庫函數(shù)時必須把它的頭文件用#include命令包含進來,每個庫函數(shù)的功能及對應的頭文件都會在手冊中給出。3?自定義函數(shù)C語言也允許用戶自己編寫函數(shù)以實現(xiàn)C庫函數(shù)中沒有提供的功能,稱作自定義函數(shù)。.定義函數(shù)C語言規(guī)定每個函數(shù)都要獨立定義,函數(shù)定義不能嵌套。函數(shù)定義的形式:數(shù)據(jù)類型函數(shù)名(形參表)形參說明語句序列(說明語句序列可執(zhí)行語句序列}.函數(shù)調用函數(shù)調用的形式是:函數(shù)名(實參表)。當實參表中有多個參數(shù)時,要用逗號隔開,若被調函數(shù)無參數(shù),調用時小括號也不能省。函數(shù)調用過程是:將實參的值傳給形參,在函數(shù)體內進行加工處理,然后由return語句將函數(shù)值返回調用處。5,全局變量和局部變量局部變量:在函數(shù)內部定義的變量稱為局部變量,只在本函數(shù)中有效。全局變量:在函數(shù)外部定義的變量稱為全局變量,它的作用范圍是從定義開始到本文件結束。.動態(tài)存儲與靜態(tài)存儲內存中的用戶數(shù)據(jù)區(qū)分為動態(tài)存儲區(qū)和靜態(tài)存儲區(qū),動態(tài)存儲區(qū)是指程序運行期間給變量臨時分配存儲單元,變量用完后立即釋放單元的區(qū)域,動態(tài)存儲區(qū)放的是函數(shù)的形參、自動變量、函數(shù)調用期間的現(xiàn)場保護數(shù)據(jù)和返回地址。靜態(tài)存儲區(qū)是指程序運行期間給變量分配固定的存儲單元,放的是全局變量和局部靜態(tài)變量。一個變量除了它的數(shù)據(jù)類型以外還有存儲類型,定義一個變量時應該說明這兩種類型。第七章預處理知識點對高級語言編譯連接就是把源程序轉換成機器語言,C語言在進行編譯之前還要預先處理三件事:宏定義命令、文件包含命令和條件編譯命令,統(tǒng)稱為預處理命令,其特點是:1,所有的預處理命令都放在程序的頭部,以#開頭,且#號后面不留空格。2.預處理命令不是C的語句,行尾不加分號。3,預處理命令是在編譯預處理階段完成的,所以它們沒有任何計算、操作等執(zhí)行功能。4,預處理命令有所變動后,必須對程序重新進行編譯和連接。.宏定義宏定義命令的作用是給一些常用的對象重新命名,在程序中可以用宏名來引用這些對象,預處理時宏名會被代表的內容替換,此過程稱為宏展開或宏替換。宏定義有兩種形式:文件包含使用文件包含命令可以將另一個C源程序的全部內容包含進來,其形式為:#includeV文件名>或#111011€16"文件名"通??梢园呀洺S玫降模瑤Ч眯缘囊恍┖瘮?shù)或符號等集合在…起形成一個源文件,然后用此命令將這個源文件包含進來,這樣可以避免在每個新程序中都要重新鍵入這些內容。.條件編譯‘標名思義滿足條件時進行編譯,為了解決程序移植問題,C語言提供了條件編譯命令,它能使源程序在不同的編譯環(huán)境下生成不同的目標代碼文件。條件編譯命令有3種形式。第八章指針知識點.什么是指針和指針變量?指針就是內存地址,因為通過“地址”可以找到變量,所以內存“地址”形象的稱為指針。指針變量就是存地址的變量。在C語言中用一個變量存另一個變量的地址,那么就稱這個變量為指針變量,指針變量的值就是地址。通常指針變量被簡稱為指針。指針變量是有類型的,即指針值增1表示指向下一個數(shù)據(jù),如整型數(shù)據(jù)在內存中占兩個字節(jié),它的指針變量增1是增兩個字節(jié)。如實型數(shù)據(jù)在內存中占4個字節(jié),它的指針變量增1是增4個字節(jié)。.怎樣定義指針變量?定義形式為:數(shù)據(jù)類型*指針變量名1,*指針變量名2……;.指針的有關運算指針為內存地址是整數(shù),可以進行一些算術運算、關系運算、賦值運算、特殊運算等,但要注意運算代表的實際意義。.指向數(shù)組的指針變量⑴指向數(shù)組元素的指針變量定義形式為:inta\[10\];int*p=a;⑵指向一維數(shù)組的指針變量定義形式為:inta\[3\]\[4\];int(*p)\[4\];P=a;(3)指向字符串的指針變量定義形式為:char*p="字符序列”;C語言中的字符串是以隱含形式的字符數(shù)組存放的,定義了指針變量p并不是將整個字符串都存放在p中了,而p中存放的是字符串的首地址。.指向函數(shù)的指針變量一個函數(shù)在編譯時被分配一個入口地址,這個地址就是函數(shù)的指針,可以用一個指針變量指向它。指向函數(shù)的指針變量定義形式為:數(shù)據(jù)類型("指針變量名);.指針變量做函數(shù)的參數(shù)⑴指針作函數(shù)的參數(shù)可以傳送地址,如數(shù)組的首地址,函數(shù)的入口地址等。(2)指針作函數(shù)的參數(shù)也可以用地址方式傳送數(shù)據(jù)。.返回值是指針的函數(shù)即函數(shù)的返回值是內存的地址,利用這種方法可以將一個以上的數(shù)據(jù)返回給函數(shù)的調用者。定義形式如下:數(shù)據(jù)類型*函數(shù)名(形參表).指針數(shù)組定義形式為:數(shù)據(jù)類型*數(shù)組名、[數(shù)組長度\];數(shù)組中的每個元素都是指針類型的數(shù)據(jù),這種數(shù)組被稱為指針數(shù)組。.指向指針的指針定義形式為:數(shù)據(jù)類型**指針變量名;指向指針數(shù)據(jù)的指針變量稱為指向指針的指針。.main函數(shù)的形參main函數(shù)可以帶兩個形參,如:main(argc,argv)intargc;char*argv\[\];)IL指向結構體的指針變量結構體變量的指針就是該變量所占據(jù)的內存段的首地址。指向結構體的指針變量定義形式為:struct結構體類型名*指針變量名;12.指向共用體的指針變量共用體變量的指針就是該變量所占據(jù)的內存段的首地址。指向共用體的指針變量定義形式為:union共用體類型名*指針變量名;替換了的字符時(這里為正中間的字符“4"),原來的字符己不復存在。第九章結構體與共用體知識點結構體類型是C語言的一種構造數(shù)據(jù)類型,它是多個相關的不同類型數(shù)據(jù)的集合,相當于其它高級語言中的記錄。1.結構體類型定義結構體類型的形式為:struct結構體類型名{數(shù)據(jù)類型成員名1;???數(shù)據(jù)類型成員名n;)2,結構體變量的定義結構體變量有三種定義形式:⑴先定義結構體類型,后定義結構體變量。(2)定義結構體類型的同時定義結構體變量。⑶不定義結構體類型名,直接定義結構體變量。3.結構體變量的引用⑴結構體變量的初始化:許多C版本規(guī)定對外部或靜態(tài)存儲類型的結構體變量可以進行初始化,而對局部的結構體變量則不可以,新標準C無此限制,允許在定義時對自動變量初始化。(2)結構體成員的引用:由于C語言一般不允許對結構體變量的整體引用,所以對結構體的引用只能是對分量的引用,結構體變量中的任一分量可以表示為:結構體變量名?成員名4.結構體與數(shù)組C語言中數(shù)組的成員可以是結構體變量,結構體變量的成員也可以是數(shù)組。結構體數(shù)組有三種定義形式:⑴先定義結構體類型,后定義結構體數(shù)組。(2)定義結構體類型的同時定義結構體數(shù)組。⑶不定義結構體類型名,直接定義結構體變量。5.結構體與指針一方面結構體變量中的成員可以是指針變量,另一方面也可以定義指向結構體的指針變量,指向結構體的指針變量的值是某一結構體變量在內存中的首地址。結構體指針的定義形式:struct結構體類型名*結構體指針變量名。由結構體指針引用結構體成員的方法6,用指針處理鏈表結構體的成員可以是指針類型,并且這個指針類型就是本結構體類型的,這樣可以構造出一種動態(tài)數(shù)據(jù)結構一成為鏈表。所謂動態(tài)數(shù)據(jù)就是指在編譯時不能確定數(shù)據(jù)量的多少,而是在程序執(zhí)行時才確定的數(shù)據(jù),動態(tài)數(shù)據(jù)可以比較方便的進行數(shù)據(jù)插人或刪除等操作。7幺吉杉j體^與函婁攵結構體變量的成員可以作函數(shù)的

溫馨提示

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

評論

0/150

提交評論