tft每日頭條

 > 圖文

 > c程序基礎知識點總結

c程序基礎知識點總結

圖文 更新时间:2024-07-28 00:41:45

c程序基礎知識點總結?1.1. C語言屬高級語言,區分字母的大小寫,以函數為基本單位采用模塊化程序設計,可直接訪問内存,進而對硬件進行操作,我來為大家講解一下關于c程序基礎知識點總結?跟着小編一起來看一看吧!

c程序基礎知識點總結(C程序設計複習資料知識點總結)1

c程序基礎知識點總結

《C程序設計》知識點第1章 C語言概述

1.1. C語言屬高級語言,區分字母的大小寫,以函數為基本單位采用模塊化程序設計,可直接訪問内存,進而對硬件進行操作。

1.2. 用C語言編寫和程序稱作C源程序,簡稱C程序,C程序可由若幹個文本文件組成,文件擴展名為C(使用C 編譯器時默認擴展名為CPP)。C源程序經編譯、連接後得到擴展名為EXE的可執行文件(目标程序)。

預處理 編譯、連接 執行

若幹個C程序文件----→C程序------→目标程序文件--→

1.3. C程序從主函數開始執行,每個C程序有且僅有一個主函數,因此,每個C程序文件中至多有一個主函數。

1.4. C語句以分号結尾,用{}括起來的一組語句稱作複合語句,複合語句可省略花括号之後的分号。

1.5. 允許一行内寫多個C語句,也允許一個C語句占用多行,但保留字和标識符不可拆行。

1.6. 在C集成環境VC 6.0中,新建工程、保存當前程序文件、編譯當前程序、執行當前程序的快捷鍵依次為:Ctrl N、Ctrl S、F7、Ctrl F5。

第2章 程序設計的靈魂——算法

2.1. 解決問題的方法和步驟稱作算法。算法和數據結構是程序的兩個主要要素。

2.2. 算法具有确定性、有窮性、有效性等特點。

2.3. 算法可用自然語言、流程圖、N-S圖、計算機語言、僞代碼等描述。僞代碼是用介于自然語言和計算機語言之間的文字和符号來描述算法。

起止框

輸入輸出框

判斷框

處理框

注釋框 ……

連接點 〇

流程線 有向線段或折線

圖2.1 ANSI流程圖符号

2.4. 算法的基本結構分為:順序結構、選擇結構、循環結構。

↓←-

--┐

Y┌

條件

┐N

條件

┐N

↓Y

條件

┘Y

└---

→↓←

---┘

↓←-

--┘

↓N

圖2.2 順序結構 圖2.3 選擇結構 圖2.4 當循環 圖2.5 直到循環

條件

條件

循環體

Y

N

循環體

條件

圖2.6 順序結構 圖2.7 選擇結構 圖2.8 當循環 圖2.9 直到循環

2.5. 由三種基本結構組成的程序稱作結構化程序,結構化程序中的每個模塊隻有一個入口和一個出口。結構化程序設計通常采用“自頂向下、逐步細化”的設計方法。

第3章 數據類型、運算符與表達式

3.1. C的數據類型如下所示:

表3.1 C語言的數據類型

數據類型

字節數

數值範圍

基本類型

整型

無符号短整型(unsigned short int)

4

0~216-1

有符号短整型(signed short int)

2

-215~215-1

無符号長整型(unsigned long int)

4

0~232-1

有符号長整型(signed long int)

4

-231~231-1

實型

單精度實型(float)

4

長37位,6位有效

雙精度實型(double)

8

長307位,15位有效

長雙精度實型(long double)

10

長4931位,18位有效

字符型(char)

1

0~28-1

空類型(void)

1

構造類型

枚舉類型

2

指針類型

2

數組類型

結構體類型

共用體類型

3.2. C符号常量名、變量名、函數名等統稱标識符,标識符的命名規則為:以字母或下劃線開頭,由字母、數字、下劃線組成,超出32個字符部分被忽略(最好不超過8個字符)。

3.3. 以0開頭的整數為八進制整數,以0X或0x開頭的整數為十六進制無符号整數。

3.4. -32768~32767為int型,0U~65535U為unsigned型,65536U~4294967295U和0UL~4294967295UL為unsigned long型,-2147483648~-32769、32768~2147483647和-2147483648L~2147483647L為long型。後綴U和L不區分大小寫和次序。

3.5. 數據的存儲字節數可用運算符sizeof()查詢,括号内可是數據、表達式或類型名。

3.6. 有符号整數(int和long)按補碼存儲,因此,-65535U~-1U與1U~65535U依次相等,-4294967295UL~-1UL與1UL~4294967295UL依次相等。

3.7. 定點數(含小數點數)和浮點數統稱C實型常量,浮點數的一般形式為:

尾數e除碼 或 尾數E除碼

其含義為:

尾數×10除碼

其中,尾數為定點數或整數,除碼為整數。标準浮點數的小數點在第1位非0數字之後。後綴L或l的實型常量為長雙精度,無後綴實型常量為雙精度。

3.8. 用一對單引号括起來的單個字符稱作C字符常量,其值為該字符的ASCII碼(1字節無符号整數)。

3.9. 轉義字符'\n'、'\t'、'\\'、'\''、'\"'分别表示回車符、制表符、反斜杠、單引号、雙引号。

3.10. 轉義字符'\整數'、'\x整數'(或'\X整數')中的整數分别為八進制、十六進制,表示以此整數為ASCII碼的字符。

3.11. 用雙引号括起來的一串字符稱作C字符串型常量,串中字符數稱作串長,可以為0。字符串的存儲形式為:依次存儲字符串中字符的ASCII碼,并追加一個空字符'\0'(1字節無符号整數0)。

3.12. 字符型、整型、實型數據統稱數值型數據,不同類型的數值型數據可以混合運算,低精度數據被自動強制轉換為高精度數據後方參與運算。另外,字符常量為有符号短整數,兩個字符型數據間的運算按有符号短整數處理。

3.13. 如果将數值型數據賦給不同類型的數值型變量,則數值型數據将被自動強制轉換為變量的數據類型。

3.14. C允許定義變量的同時賦初值。

3.15. C運算符及其優先級、結合性如附錄C(教材第365頁)所示。

3.16. 強制數據類型轉換的一般形式為:

(類型名)數據

3.17. 自增 、自減--運算隻能作用于變量,作用于右側時,返回變量自增、自減前的值。

3.18. 賦值表達式的格式為:

變量=表達式 或 變量op=表達式

其中,op為運算符 、-、*、/、%、>>、<<、&、^、| 中某一個。前者将右邊表達式的值賦給左邊的變量,後者将左邊變量的當前值與右邊表達式的值作相應運算後仍賦給左邊的變量。整個賦值表達式取左邊變量所賦的新值。

3.19. 用逗号分隔的一組表達式稱作逗号表達式,其一般形式為:

表達式, 表達式, …, 表達式

其功能為:從左至右依次計算各表達式的值,并以最後一個表達式的值為整個逗号表達式的值。

3.20. 将數學式改為C表達式時應注意:

(1) 乘号*不可省略;

(2) 正确改寫腳碼、運算符、括号等;

(3) 正确書寫函數名;

(4) 把握好運算優先級,分數線改為/時,分子、分母相應加括号;

(5) 正确拆分不等式組;

(6) 區分整數除法和實數除法。

第4章 順序結構程序設計

4.1. 表達式後綴分号稱作表達式語句,即,

表達式;

4.2. putchar、getchar、printf、scanf等輸入輸出函數的原型在頭文件stdio.h中。

4.3. 函數putchar和getchar的格式和功能如下:

(1) putchar

格式:putchar(表達式)

功能:向标準輸出設備輸出以指定表達式的值為ASCII碼的字符,并以該值為函數值(自動強制轉換為int型)。

(2) getchar

格式:getchar()

功能:從标準輸入設備輸入一個字符,并以該字符為函數值。

注意:getchar可提取空格及回車、Tab等部分控制字符,而且隻提取輸入中相應位置上的一個字符,因此,輸入字符間無須分隔,否則也被視為輸入字符。

4.4. printf函數的格式和功能如下:

格式:printf(格式控制串, 輸出表列)

功能:

(1) 從右至左依次計算輸出表列中各表達式的值;

(2) 從左至右依次輸出格式控制串中的字符,其中,%引導的格式控制符由輸出表列中相應表達式的值所取代。

輸出表列是一組用逗号分隔的表達式(又稱輸出項,可以為0項)。格式控制串為字符串型數據(可以是表達式)。其中,格式符用于控制輸出表列中相應表達式的輸出格式。格式符及其功能如下表所示:

表4.1 printf格式字符

格式符

說明

d或i

有符号十進制短整數(不輸出正号)

u

無符号十進制短整數

o

無符号八進制短整數(無前綴0)

x或X

無符号十六進制短整數(無前綴0x,數字的大小寫與x相同)

c

字符

s

字符串

f

定點數(默認6位小數)。

e或E

浮點數(浮點數中e的大小寫與格式符e的大小寫相同)

g或G

%f和%e中輸出寬度較短者(e與g的大小寫相同)

附加格式符

說明

l

插在%和d、i、u、o、x、X之間,表示輸出相應長整數。

整數

插在%和其它格式符之間,前一個整數的絕對值為輸出數據的寬度,後一個整數控制實際輸出位數:①輸出整數時,指定輸出位數,不足左補0,超出保留;②輸出實數時,指定輸出小數位數,不足右補0,超出四舍五入;③輸出字符串時,指定輸出字符數。另外,第一個整數為負時,輸出數據左對齊,否則右對齊。

.整數

整數.整數

4.5. scanf函數的格式和功能如下:

格式:scanf(格式控制串, 地址表列)

其中,格式控制串為字符串型數據(可以是表達式),地址表列是一組用逗号分隔的地址。

功能:

(1) 右至左依次計算地址表列中各表達式的值;

(2) 從标準輸入設備提取數據,并從左至右依次存儲到所指定的存儲單元。

(3) 地址表列中的地址可用表達式表示,通常形式為:

&變量

其中&是地址運算符,它表示取其後變量的存儲(起始)地址。

說明:

(1) scanf函數格式符與printf函數的格式符的功能相似。scanf的合法格式符不區分大小寫、實型格式符均等效,另外,

表4.2 scanf的附加格式符說明

附加格式符

說明

正整數

指定輸入數據的最大寬度(插在%與其它格式符之間)

*

跳過當前一個數據(插在%與其它格式符之間)

*正整數

跳過當前指定個字符(插在%與其它格式符之間)

(2) 如果格式控制串中有非格式符,則輸入數據中對應位置上必須是該字符,且被跳過,這為指定數據間分隔符提供了方便。

(3) printf和scanf格式控制串中的每對%%(從左至右結合)按一個普通字符%對待。

第5章 選擇結構程序設計

5.1. C邏輯值為短整數(int),真、假分别為1、0。另外,字符、數、指針作為邏輯量時,非0、非空為真(即1),0、空為假(即0)。邏輯運算如下表所示:

表5.1 邏輯運算真值表

左元

右元

!右元

左元&&右元

左元||右元

假(0)

假(0)

真(1)

假(0)

假(0)

假(0)

真(非0)

假(0)

假(0)

真(1)

真(非0)

假(0)

真(1)

假(0)

真(1)

真(非0)

真(非0)

假(0)

真(1)

真(1)

5.2. 對于形如

□||□||…

的邏輯式,從左至右計算□的邏輯值,遇到真則提前終止。

5.3. 對于形如

□&&□&&…

的邏輯式,從左至右計算□的邏輯值,遇到假則提前終止。

5.4. 算術、關系、邏輯運算的優先級參見附錄C(教材第365頁)。

5.5. if語句的格式和功能如下:

(1) 格式一:if(條件) 語句

功能:如果條件成立,方執行語句。

(2) 格式二:if(條件)語句1 else 語句2

功能 如果條件成立,執行語句1,否則執行語句2。

注意:else不可獨立使用,它與其前最近一個尚未配對的if配對,為避免歧義,通常隻在else中嵌套if語句。

5.6. 條件表達式的格式和功能如下:

格式:條件?表達式1:表達式2

功能:如果條件成立,取表達式1的值,否則取表達式2的值。

說明:條件表達式可以嵌套,與其前最近一個尚未配對的if配對。

5.7. switch語句的格式和功能如下:

格式:

switch(表達式)

{

case 常量i: 語句組i

default: 語句組n 1

}

功能:如果表達式的值等于常量i,則從語句組i開始執行,否則執行語句組n 1。

說明:

(1) “表達式”的值和“常量”為整型(包括字符型)。

(2) switch中的每個語句組稱作一個分支,為使各分支獨立,通常以break、return、exit等語句結尾。另外,“default: 語句組n 1”可以缺省。

5.8. break語句的格式和功能如下:

格式:break;

功能:結束本層switch語句或本層循環語句。

說明:break語句隻能用于switch語句和循環。

第6章 循環結構程序設計

6.1. while語句的格式和功能如下:

格式:while(表達式)循環體

功能:當表達式的值為真時,重複執行其後循環體。

說明:循環體是循環語句的内嵌語句,可以是空或複合語句(下同)。

6.2. do-while語句的格式和功能如下:

格式:do 循環體 while(表達式)

功能:重複執行循環體,直到表達式的值為假。

說明:do-while循環至少執行一次循環體。

6.3. for語句的格式和功能如下:

格式:for(表達式1; 表達式2; 表達式3) 循環體

功能:

(1) 計算表達式1;

(2) 當表達式2的值為真時,重複執行循環體和計算表達式3。

說明:表達式1、表達式2、表達式3均可缺省,但保留分号。

6.4. continue語句的格式和功能如下:

格式:continue;

功能:跳過循環體中其後程序段(結束本次循環)。

說明:continue語句隻能用于循環。

6.5. 掌握以下算法:累加、階乘、判斷素數、分解整數數字、遞推數列、打印字符圖形。

第7章 數組

7.1. 同一類型數據的序列稱作數組,數組中數據用相應下标變量訪問,因此,數組亦可視為由下标變量組成的序列。

7.2. 定義數組語句的一般格式和功能為:

格式:數據類型名 數組名[第1維長度]…[第n維長度]

功能:為數組分配連續内存單元,用于存儲數組中的下标變量(低維優先),并将起始地址(又稱基址)賦給數組名。

說明:數組長度隻能為整型常量或整型常量表達式。

7.3. 數組的要素有:數據類型、數組名、維數及各維的長度。各維的長度必須是常量,可用常量表達式表示,其值的整數位有效——截斷取整。

7.4. 下标變量的格式為:

數組名[第1維下标]…[第n維下标]

7.5. 下标從0開始,可用表達式表示,其值的整數位有效。下标最大值比長度小1。

7.6. 下标變量的使用與普通變量相同。

7.7. 定義數組的同時可對數組中的下标變量賦初值。

格式:數據類型名 數組名[第1維長度]…[第n維長度]={數據表}

功能:定義數組的同時将數據表中數據依次賦給數組中下标變量,未賦值下标變量的初值為相應數據類型的0。

說明:數據表中的數據必須是常量,可用表達式表示。第1維長度可省略,如果省略,其長度由數據表和其它維長度确定——存儲所需的最小長度。

7.8. 以字符為數據元素的數組稱作字符數組,它由一組字符型下标變量組成。除賦值外,字符數組名的使用與字符串變量相似。字符數組也可用字符串初始化。

7.9. 标準函數庫提供許多用于處理字符串的函數。

表7.1 常用字符串處理函數

格式

功能

頭文件

puts(串)

依次輸出串中字符,遇到'\0'終止,然後換行。

stdio.h

gets(串)

讀入一行字符,依次存入所分配的内存空間,并追加'\0'。

strcat(串1, 串2)

将串2複制、連接到串1的第一個'\0'處。

string.h

strcpy(串1, 串2)

将串2複制到串1。

strcmp(串1, 串2)

比較串1和串2的大小。

strlen(串)

求字符串的長度。

strlwr(串)

将串中大寫字母均轉換為相應小寫字母。

strupr(串)

将串中小寫字母均轉換為相應大寫字母。

注意:輸出字符串及處理字符串的函數,均忽略字符串中第一個'\0'及其後的字符。

7.10. 掌握冒泡排序。

第8章 函數

8.1. 自定義函數的格式為:

函數值類型 函數名(帶類型聲明的形參表列) {函數體}

8.2. 函數值的默認數據類型為int。

8.3. 如果函數有返回值,則用return語句返回,其格式為:

return 表達式; 或 return(表達式);

8.4. 如果函數無返回值,即函數值類型為void,亦可用格式:

return;

結束本函數并返回調用者。

8.5. 函數一般調用格式為:

函數名(實參表列)

其中,實參表列為一組逗号分隔的表達式。實參按從右至左的次序計算并傳遞給相應形參。

8.6. 如果函數調用在其定義之前,調用前應作相應聲明,聲明格式為:

函數值類型名 函數名(形參及其類型聲明表列);

其中,形參可省略。

8.7. 函數不可嵌套定義,但允許嵌套調用,亦可直接或間接調用自身(稱作遞歸函數)。

8.8. 遞歸函數的函數體的一般格式為:(B班同學不作要求)

if(遞歸條件)語句1 /*遞歸時,如何遞歸*/

else 語句2 /*非遞歸時,如何處理*/

if(!遞歸條件)語句1 /*非遞歸時,如何處理*/

else 語句2 /*遞歸時,如何遞歸*/

8.9. 形參及函數内定義的變量稱作局部變量,它從定義處生效,且隻在該函數内有效。因此,不同函數中的局部變量可以同名,但同名不同義。

8.10. 在所有函數之外定義的變量稱作全局變量,它從定義處生效。

8.11. 如果局部變量與全局變量同名,則同名全局變量被屏蔽。

8.12. 局部變量的存儲方式分為:自動(auto,默認)、靜态(static)、寄存器(register)。

8.13. 存儲方式和數據類型是變量的兩個重要屬性,必須在定義變量時一并聲明,關鍵字的排列順序沒有限制。變量的默認數據類型為int,默認存儲方式為auto,但關鍵字auto和int不可同時缺省。

8.14. auto型局部變量占用動态數據區,當函數調用結束時釋放所占内存。register占用CPU中的寄存器,但寄存器不夠用時,占用動态數據區。

8.15. 全局變量和static型局部變量占用靜态數據區,默認初值為相應數據類型的0。

8.16. static型局部變量的聲明和初始化隻執行一次。

8.17. 如果全局變量被聲明為static型,則其它程序文件不能使用該全局變量。否則,其它程序文件也可使用該全局變量,但使用前應作extern聲明。

8.18. 被聲明為static型的函數,隻在本程序文件中有效,不能被其它程序文件調用。否則,其它程序文件也可調用此函數,但調用前應作extern聲明。

8.19. 常用數學函數在頭文件math.h中。掌握基本初等函數。

第9章 預處理命令

9.1. 預處理命令在程序編譯前執行,其主要功能是“文本置換”。

9.2. 不帶參數宏定義的格式和功能如下:

格式:#define 宏名 文本

功能:在預處理時,将程序中宏名用相應的文本置換。

9.3. 帶參數宏定義的格式和功能如下:

格式:#define 宏名(形參表列) 文本

功能:在預處理時,将程序中帶參數的宏用相應的文本置換,且文本中的形參被相應的實參所置換。

注意:形參無須且做類型聲明。

9.4. 終止宏定義的格式如下:

格式 #undef 宏名

9.5. 宏定義可以引用已有的宏,亦可重新定義所代表的文本。

9.6. 預處理命令無須以分号結尾,否則分号也參與置換。

9.7. #include命令的格式和功能如下:

格式一:#include "文件名"

格式二:#include <文件名>

功能:在預處理時,用指定文件置換本命令——加載文件。置換後,被包含文件成為本文件的一部分,其函數、全局變量等均可在本文件中直接使用,無須作extern聲明。前一種格式先在當前目錄中找指定文件,如果未找到,方到存放C頭文件的目錄中查找。後一種格式直接到存放C頭文件的目錄中查找指定文件。

9.8. 條件編譯命令的格式和功能如下:

格式一:#ifdef 宏名 程序段1 #else 程序段2 #endif

功能:在預處理時,如果指定的宏名已定義,則用程序段1置換本命令,否則用程序段2置換本命令。當程序段2為空時,#else可省略(下同)。

格式二:#ifndef 宏名 程序段1 #else 程序段2 #endif

功能:在預處理時,如果指定的宏名未定義,則用程序段1置換本命令,否則用程序段2置換本命令。

格式三:#if 常量表達式 程序段1 #else 程序段2 #endif

功能:在預處理時,如果指定常量表達式的值為真(非0),則用程序段1置換本命令,否則用程序段2置換本命令。

9.9. 注釋命令在預處理時被删除,不影響源程序和目标程序。注釋命令的格式如下:

/*注釋内容*/

第10章 指針

10.1. 内存的基本單位是字節,每個字節都有相應的編号,稱作地址或指針。借助于指針,C語言可以直接訪問内存,從而對硬件進行操作。

10.2. 變量所占用内存的大小由其數據類型決定,變量所占用内存的第1個字節的地址稱作該變量的地址或指針,表為:

&變量名

10.3. 指針所指向數據的類型稱作該指針的基類型,它所指向數據用

*指針

訪問,可作為普通變量使用。

10.4. 指針本身也是一種數據類型,占用2字節内存,可作為無符号整數輸出和參與關系運算、邏輯運算,但指針的其它運算不同于整數運算。

10.5. 指針運算可簡單地分為以下五類:

(1) 單目運算有六個:!、&、*、 、--、sizeof。

(2) 雙目運算有四種:-、關系運算、邏輯運算、賦值運算。

(3) 指針與整數間的運算有三個: 、-、[ ]。

(4) 強制類型轉換運算:( )。

(5) 結構體成員運算:->。

其中, 、-、 、--、 =、-=均以基類型數據為基本單位。

10.6. 一維數組的數組名可作為指針調用,它指向數組中的第一個元素,以數組中元素的類型為基類型。數組名的值不可修改,且sizeof(數組名)的值為整個數組所占内存的字節數。

10.7. 對于一維數組來說,

基址 i 和 &基址[i]

均指向數組中的第i 1個元素(i>=0);

*(基址 i) 和 基址[i]

均表示數組中的第i 1個元素(i>=0)。

10.8. n維數組可看作是以n-1維數組為元素的一維數組,數組名可看作是指向數組中的第一個n-1維數組的指針。

10.9. 下标變量可作為實參,但不可作為形參,實際上,它被誤認為指針。

10.10. ※ C源程序經編譯後,系統為源程序中的每個函數均分配一個入口地址,稱作函數指針。在C源程序中,函數指針用函數名表示,其值不可修改。以函數指針為值的變量稱作函數指針變量,其定義格式為:

函數類型名(*函數指針變量名)( );

可用下述格式代替函數名:

(*函數指針)

10.11. ※ 函數返回值可以是指針,定義函數的一般格式為:

基類型 *函數名(形參列表){函數體}

10.12. 不允許将非0數直接賦給指針變量,須做強制轉換。當指針變量的值為0時,稱之為空指針。

10.13. ※ 以指針為元素的數組稱作指針數組。

10.14. ※ 以指針為基類型的指針稱作指向指針的指針,以指向指針的指針為值的變量稱作指向指針的指針變量,其定義格式為:

存儲方式關鍵字 基類型名 **指向指針的指針變量名

10.15. ※ C源程序經編譯、連接所得目标程序(exe文件)可作為DOS外部命令使用,命令行的一般式為:

路徑\目标程序文件名 參數1 參數2 … 參數n

10.16. ※ C主函數main可帶兩個形參,前者為int型,用于接收命令行中字符串個數,後者為字符串指針數組,用于接收命令行中各字符串。帶參主函數的格式為:

void main(int 形參1,char *形參2[ ]) {函數體}

其中,

形參1=參數個數 1

形參2[0]="路徑\目标程序文件名"

形參2[i]="參數i",i=1,2,…,n

第11章 結構體與共用體

11.1. 聲明結構體語句的一般格式為:

struct 标識符{成員表列};

其中,成員表列為一組聲明變量的語句,這些變量稱作該結構體的成員,又稱數據項、分量、域、字段等。語句結尾處的分号不可缺省,标識符可以省略,如果不省略标識符,則新增一個數據類型(名):

struct 标識符

11.2. 定義結構體變量的一般格式為:

struct 标識符 變量表列;

也可在聲明結構體的同時定義變量:

struct 标識符{成員表列}變量表列;

11.3. 結構體變量可在定義時賦初值,類似于數組賦初值。

11.4. 結構體變量的整體使用有以下四種:

(1) 賦值:結構體變量=同類型結構體變量

(2) 求存儲量:sizeof(結構體變量)

(3) 取地址:&結構體變量

(4) 初始化——與數組初始化相似。

11.5. 結構體中成員可作為普通變量使用,成員的訪問格式為:

結構體變量名.成員名 或 結構體指針->成員名

11.6. 結構體中的成員名隻在該結構體類數據中有效,因此,不同結構體中的成員可以同名,成員名也可與普通變量同名。

11.7. 結構體中的成員可以是指針,其基類型可是正在定義或尚未定義的結構體。

11.8. 以同一類型結構體為元素的數組稱作結構體數組,以結構體為基類型的指針稱作結構體指針。結構體數組和指針的定義和使用與基本類型數組和指針相似。

11.9. 共用體與結構體相似,主要區别有:

(1) 定義共用體的保留字為union;

(2) 同一共用體各成員的基址相同,訪問成員時必須與最後所存數據的類型相同,共用體數據所占内存與其成員中所占内存最大者相同;

(3) 不可初始化共用體變量。

11.10. 讀取共用體成員時,應按最後一次所存入成員的數據類型讀取。

11.11. 共用體和結構體的成員可以是已存在的共用體和結構體,但不可嵌套定義。

11.12. 聲明枚舉類型語句的一般格式和功能為:

格式:enum 标識符{枚舉元素列表}變量列表;

功能:

(1) 顯式或隐式指定所列枚舉元素所代表的整數;

(2) 如果不省略标識符,則定義一個枚舉類型(名):

enum 标識符

枚舉元素表是一組用逗号分隔的标識符或整數常量賦值表達式,第一個枚舉元素的默認值為0,其它枚舉元素的值為前者加1。

11.13. typedef語句的格式和功能為:

格式:typedef 數據類型名 别名1,…,别名n;

功能:給指定數據類型增加一組名稱。

11.14. typedef語句也可在聲明結構體、共用體、枚舉類型的同時給它增加一組名稱。

第13章 文件(B班不作要求)

13.1. 文件是存儲在外部介質(存儲器)上的數據集合,每個文件均有标識符,稱作文件名。

13.2. C所使用的數據文件分為文本文件和二進制文件。文本文件以字符為基本單位,存儲字符所對應的ASCII碼,又稱TXT文件或ASCII文件;二進制文件中的數據存儲形式與内存中存儲形式相同。

13.3. 指向文件結構體的指針稱作文件類型指針,簡稱文件指針或FILE指針,其定義格式為

FILE *文件指針;

13.4. 讀寫文件之前須用fopen打開或創建該文件,訪問結束後用fclose關閉該文件。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved