




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C程序設計知識點第1章 C語言概述C程序設計知識點都懂了,一定過!第1章C語言概述設計,可直接訪問內存,進而對硬件進行操作。件組成,文件擴展名為C(使用C+編譯器時默認擴展名為CPP。C源程序經編譯、連接后得到擴展名為EXE的可執行文件(目標程序。預處理編譯、連接執行若干個C程序文件-C程序-目標程序文件-程序文件中至多有一個主函數。括號之后的分號。不可拆行。執行當前程序的快捷鍵依次為:Ctrl+N、Ctrl+S、F7、Ctrl+F5。C程序設計知識點第2章程序設計的靈魂算法第2章程序設計的靈魂算法用介于自然語言和計算機語言之間的文字和符號來描述算法。 Y條件N 條件N 條件YN 圖2.2 順
2、序結構圖2.3 選擇結構圖2.4 當循環圖2.5 直到循環 圖一個入口和一個出口。結構化程序設計通常采用“自頂向下、逐步細化”的設計方法。第3章數據類型、運算符與表達式表3.1 C語言的數據類型 或下劃線開頭,由字母、數字、下劃線組成,超出32個字符部分被忽略(最好不超過8個字符。3.4.-3276832767為int型,0U65535U為unsigned型,65536U4294967295U和0UL4294967295UL為unsigned long型,-2147483648-32769、32768 2147483647和-2147483648L2147483647L為long型。后綴U和L
3、不區分大小寫和次序。相等,-4294967295UL-1UL與1UL4294967295UL依次相等。尾數e除碼或尾數E除碼其含義為:尾數×10除碼其中,尾數為定點數或整數,除碼為整數。標準浮點數的小數點在第1位非0數字之后。后綴L或l的實型常量為長雙精度,無后綴實型常量為雙精度。(1字節無符號整數。雙引號。表示以此整數為ASCII碼的字符。為0。字符串的存儲形式為:依次存儲字符串中字符的ASCII碼,并追加一個空字符'0'(1字節無符號整數0。算,低精度數據被自動強制轉換為高精度數據后方參與運算。另外,字符常量為有符號短整數,兩個字符型數據間的運算按有符號短整數處理
4、。換為變量的數據類型。3.14.C允許定義變量的同時賦初值。(類型名數據的值。變量=表達式或變量op=表達式其中,op為運算符+、-、*、/、%、>>、<<、&、| 中某一個。前者將右邊表達式的值賦給左邊的變量,后者將左邊變量的當前值與右邊表達式的值作相應運算后仍賦給左邊的變量。整個賦值表達式取左邊變量所賦的新值。表達式, 表達式, , 表達式其功能為:從左至右依次計算各表達式的值,并以最后一個表達式的值為整個逗號表達式的值。(1乘號*不可省略;(2正確改寫腳碼、運算符、括號等;(3正確書寫函數名;(4把握好運算優先級,分數線改為/時,分子、分母相應加括號;(5
5、正確拆分不等式組;(6區分整數除法和實數除法。第4章順序結構程序設計表達式;(1putchar格式:putchar(表達式功能:向標準輸出設備輸出以指定表達式的值為ASCII碼的字符,并以該值為函數值(自動強制轉換為int型。(2getchar格式:getchar(功能:從標準輸入設備輸入一個字符,并以該字符為函數值。注意:getchar可提取空格及回車、Tab等部分控制字符,而且只提取輸入中相應位置上的一個字符,因此,輸入字符間無須分隔,否則也被視為輸入字符。格式:printf(格式控制串, 輸出表列功能:(1從右至左依次計算輸出表列中各表達式的值;(2從左至右依次輸出格式控制串中的字符,其
6、中,%引導的格式控制符由輸出表列中相應表達式的值所取代。輸出表列是一組用逗號分隔的表達式(又稱輸出項,可以為0項。格式控制串為字符串型數據(可以是表達式。其中,格式符用于控制輸出表列中相應表達式的輸出格式。格式符及其功能如下表所示:表4.1 printf格式字符 格式:scanf(格式控制串, 地址表列其中,格式控制串為字符串型數據(可以是表達式,地址表列是一組用逗號分隔的地址。功能:(1右至左依次計算地址表列中各表達式的值;(2從標準輸入設備提取數據,并從左至右依次存儲到所指定的存儲單元。(3地址表列中的地址可用表達式表示,通常形式為:&變量其中&是地址運算符,它表示取其后變
7、量的存儲(起始地址。說明:(1scanf函數格式符與printf函數的格式符的功能相似。scanf的合法格式符不區分大小寫、實型格式符均等效,另外,表4.2 scanf的附加格式符說明 (2如果格式控制串中有非格式符,則輸入數據中對應位置上必須是該字符,且被跳過,這為指定數據間分隔符提供了方便。(3printf和scanf格式控制串中的每對%(從左至右結合按一個普通字符%對待。第5章選擇結構程序設計量時,非0、非空為真(即1,0、空為假(即0。邏輯運算如下表所示:表5.1 邏輯運算真值表 5.2.|的邏輯式,從左至右計算的邏輯值,遇到真則提前終止。&&&&的邏輯
8、式,從左至右計算的邏輯值,遇到假則提前終止。(1格式一:if(條件 語句功能:如果條件成立,方執行語句。(2格式二:if(條件語句1 else 語句2功能如果條件成立,執行語句1,否則執行語句2。注意:else不可獨立使用,它與其前最近一個尚未配對的if配對,為避免歧義,通常只在else中嵌套if語句。格式:條件?表達式1:表達式2功能:如果條件成立,取表達式1的值,否則取表達式2的值。說明:條件表達式可以嵌套,與其前最近一個尚未配對的if配對。格式:switch(表達式case 常量i: 語句組idefault: 語句組n+1功能:如果表達式的值等于常量i,則從語句組i開始執行,否則執行語句
9、組n+1。說明:(1“表達式”的值和“常量”為整型(包括字符型。(2switch中的每個語句組稱作一個分支,為使各分支獨立,通常以break、return、exit等語句結尾。另外,“default: 語句組n+1”可以缺省。格式:break;功能:結束本層switch語句或本層循環語句。說明:break語句只能用于switch語句和循環。第6章循環結構程序設計格式:while(表達式循環體功能:當表達式的值為真時,重復執行其后循環體。說明:循環體是循環語句的內嵌語句,可以是空或復合語句(下同。格式:do 循環體while(表達式功能:重復執行循環體,直到表達式的值為假。說明:do-while
10、循環至少執行一次循環體。格式:for(表達式1; 表達式2; 表達式3 循環體功能:(1計算表達式1;(2當表達式2的值為真時,重復執行循環體和計算表達式3。說明:表達式1、表達式2、表達式3均可缺省,但保留分號。格式:continue;功能:跳過循環體中其后程序段(結束本次循環。說明:continue語句只能用于循環。圖形。第7章數組亦可視為由下標變量組成的序列。格式:數據類型名數組名第1維長度第n維長度功能:為數組分配連續內存單元,用于存儲數組中的下標變量(低維優先,并將起始地址(又稱基址賦給數組名。說明:數組長度只能為整型常量或整型常量表達式。量,可用常量表達式表示,其值的整數位有效截斷
11、取整。數組名第1維下標第n維下標格式:數據類型名數組名第1維長度第n維長度=數據表功能:定義數組的同時將數據表中數據依次賦給數組中下標變量,未賦值下標變量的初值為相應數據類型的0。說明:數據表中的數據必須是常量,可用表達式表示。第1維長度可省略,如果省略,其長度由數據表和其它維長度確定存儲所需的最小長度。值外,字符數組名的使用與字符串變量相似。字符數組也可用字符串初始化。表7.1 常用字符串處理函數 第8章函數函數值類型函數名(帶類型聲明的形參表列 函數體return 表達式; 或return(表達式;return;結束本函數并返回調用者。函數名(實參表列其中,實參表列為一組逗號分隔的表達式。
12、實參按從右至左的次序計算并傳遞給相應形參。函數值類型名函數名(形參及其類型聲明表列;其中,形參可省略。數。if(遞歸條件語句1 /*遞歸時,如何遞歸*/else 語句2 /*非遞歸時,如何處理*/或if(!遞歸條件語句1 /*非遞歸時,如何處理*/else 語句2 /*遞歸時,如何遞歸*/效。因此,不同函數中的局部變量可以同名,但同名不同義。鍵字的排列順序沒有限制。變量的默認數據類型為int,默認存儲方式為auto,但關鍵字auto和int不可同時缺省。占用CPU中的寄存器,但寄存器不夠用時,占用動態數據區。其它程序文件也可使用該全局變量,但使用前應作extern聲明。否則,其它程序文件也可調
13、用此函數,但調用前應作extern聲明。第9章預處理命令格式:#define 宏名文本功能:在預處理時,將程序中宏名用相應的文本置換。格式:#define 宏名(形參表列 文本功能:在預處理時,將程序中帶參數的宏用相應的文本置換,且文本中的形參被相應的實參所置換。注意:形參無須且做類型聲明。格式#undef 宏名9.7.#include命令的格式和功能如下:格式一:#include "文件名"格式二:#include <文件名>功能:在預處理時,用指定文件置換本命令加載文件。置換后,被包含文件成為本文件的一部分,其函數、全局變量等均可在本文件中直接使用,無須作e
14、xtern聲明。前一種格式先在當前目錄中找指定文件,如果未找到,方到存放C頭文件的目錄中查找。后一種格式直接到存放C頭文件的目錄中查找指定文件。格式一:#ifdef 宏名程序段1 #else 程序段2 #endif功能:在預處理時,如果指定的宏名已定義,則用程序段1置換本命令,否則用程序段2置換本命令。當程序段2為空時,#else可省略(下同。格式二:#ifndef 宏名程序段1 #else 程序段2 #endif功能:在預處理時,如果指定的宏名未定義,則用程序段1置換本命令,否則用程序段2置換本命令。格式三:#if 常量表達式程序段1 #else 程序段2 #endif功能:在預處理時,如果
15、指定常量表達式的值為真(非0,則用程序段1置換本命令,否則用程序段2置換本命令。/*注釋內容*/第10章指針指針,C語言可以直接訪問內存,從而對硬件進行操作。址稱作該變量的地址或指針,表為:&變量名*指針訪問,可作為普通變量使用。關系運算、邏輯運算,但指針的其它運算不同于整數運算。(1單目運算有六個:!、&、*、+、-、sizeof。(2雙目運算有四種:-、關系運算、邏輯運算、賦值運算。(3指針與整數間的運算有三個:+、-、 。(4強制類型轉換運算:( 。(5結構體成員運算:->。其中,+、-、+、-、+=、-=均以基類型數據為基本單位。素的類型為基類型。數組名的值不可修
16、改,且sizeof(數組名的值為整個數組所占內存的字節數。基址+i 和&基址i均指向數組中的第i+1個元素(i>=0;*(基址+i 和基址i均表示數組中的第i+1個元素(i>=0。中的第一個n-1維數組的指針。10.10.C源程序經編譯后,系統為源程序中的每個函數均分配一個入口地址,稱作函數指針。在C源程序中,函數指針用函數名表示,其值不可修改。以函數指針為值的變量稱作函數指針變量,其定義格式為:函數類型名(*函數指針變量名( ;可用下述格式代替函數名:(*函數指針10.11.1函數返回值可以是指針,定義函數的一般格式為:基類型*函數名(形參列表函數體稱之為空指針。10.1
17、3.以指針為元素的數組稱作指針數組。10.14.以指針為基類型的指針稱作指向指針的指針,以指向指針的指針為值的變量稱作指向指針的指針變量,其定義格式為:存儲方式關鍵字基類型名*指向指針的指針變量名10.15.C源程序經編譯、連接所得目標程序(exe文件可作為DOS外部命令使用,命令行的一般式為:路徑目標程序文件名參數1 參數2 參數n10.16.C主函數main可帶兩個形參,前者為int型,用于接收命令行中字符串個數,后者為字符串指針數組,用于接收命令行中各字符串。帶參主函數的格式為:void main(int 形參1,char *形參2 函數體其中,形參1=參數個數+1形參20="
18、路徑目標程序文件名"形參2i="參數i",i=1,2,n1標注表示此部分為非考試內容。第11章結構體與共用體struct 標識符成員表列;其中,成員表列為一組聲明變量的語句,這些變量稱作該結構體的成員,又稱數據項、分量、域、字段等。語句結尾處的分號不可缺省,標識符可以省略,如果不省略標識符,則新增一個數據類型(名:struct 標識符struct 標識符變量表列;也可在聲明結構體的同時定義變量:struct 標識符成員表列變量表列;(1賦值:結構體變量=同類型結構體變量(2求存儲量:sizeof(結構體變量(3取地址:&結構體變量(4初始化與數組初始化相似。結構體變量名.成員名或結構體指針->成員名以同名,成員名也可與普通變量同名。作結構體指針。結構體數組和指針的定義和使用與基本類型數組和指針相似。(1定義共用體的保留字為union;(2同一共用體各成員的基址相同,訪問成員時必須與最后所存數據的類型相同,共用體數據所占內存與其成員中所占內存最大者相同;(3不可初始化共用體變量。格式:enum 標識符枚舉元素列表變量列表;功能:(1顯式或隱式指定所列枚舉元素所代表的整數;(2如果不省略標識符
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西省晉中市名校2024-2025學年初三中考總復習單元同步滾動測試卷化學試題含解析
- 山西省河曲實驗中學2024-2025學年初三下學期期末(一模)語文試題含解析
- 江蘇省淮安市金湖縣2024-2025學年數學四年級第二學期期末檢測試題含解析
- 茂名市電白縣2024-2025學年五年級數學第二學期期末綜合測試試題含答案
- 上海市嘉定區名校2025屆初三下學期期末復習檢測試題(一模)英語試題含答案
- 智慧農業建設智能灌溉與作物監測技術推廣應用
- 加盟商合同范本
- 軟件工程師合同
- 三個孩子贍養協議書范本
- 人事部人才與專家工作辦公室合同風險防范策略
- 《工程倫理學》教學大綱
- 超厚混凝土現澆板的高支模工程施工方案
- 初中物理中考物理考點詳解——導體、絕緣體
- 中醫診斷學--脈診
- 安慶市中心城區通風廊道研究最終成果
- 副主任藥師考試模擬題1
- 二年級《時間單位換算口算題(共100道)》專題練習訓練
- 互調干擾頻點計算小工具參考模板
- 304不銹鋼濕硫化氫應力腐蝕開裂案例分析
- 固體礦產勘查原始地質編錄細則
- 如何加強思想政治教育-增強教育的時代感和感召力
評論
0/150
提交評論