C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)_第1頁
C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)_第2頁
C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)_第3頁
C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)_第4頁
C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)_第5頁
已閱讀5頁,還剩420頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)閱讀全文

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

文檔簡(jiǎn)介

內(nèi)容簡(jiǎn)介

本書以學(xué)習(xí)筆記的形式循序漸進(jìn)地講解了使用C語言的核心知識(shí),并通過具體實(shí)例的實(shí)現(xiàn)過

程講解了各個(gè)知識(shí)點(diǎn)的使用方法和流程。全書簡(jiǎn)潔而不失其技術(shù)深度,內(nèi)容豐富全面,針對(duì)每

一個(gè)知識(shí)點(diǎn)均搭配典型案例講解和視頻;除此之外,本書易于閱讀,以極簡(jiǎn)的文字介紹了復(fù)雜

的案例,幫助讀者扎實(shí)理解實(shí)踐應(yīng)用。

本書注重知識(shí)點(diǎn)講解的系統(tǒng)性和貼近實(shí)戰(zhàn)性,可幫助入門讀者步步為營(yíng),夯實(shí)C語言基礎(chǔ);

除此之外,對(duì)于有一定基礎(chǔ)的讀者,書中的大量實(shí)例和心得經(jīng)驗(yàn),可幫助其鞏固開發(fā)水平,積

累實(shí)戰(zhàn)經(jīng)驗(yàn)。

圖書在版編目(CIP)數(shù)據(jù)

C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)/薛小龍編著.—北京:

中國(guó)鐵道出版社有限公司,2019.10

ISBN978-7-113-26175-7

Ⅰ.①C…Ⅱ.①薛…Ⅲ.①C語言-程序設(shè)計(jì)Ⅳ.①TP312.8

中國(guó)版本圖書館CIP數(shù)據(jù)核字(2019)第178903號(hào)

書名:C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)

CYUYANXUEXIBIJI:CONGRUMENDAOSHIZHAN

作者:薛小龍

責(zé)任編輯:荊波讀者熱線電話/p>

責(zé)任印制:趙星辰封面設(shè)計(jì):

出版發(fā)行:中國(guó)鐵道出版社有限公司(100054,北京市西城區(qū)右安門西街8號(hào))

印刷:中煤(北京)印務(wù)有限公司

版次:2019年10月第1版2019年10月第1次印刷

開本:787mm×1092mm1/16印張:26.25字?jǐn)?shù):613千

書號(hào):ISBN978-7-113-26175-7

定價(jià):59.80元

版權(quán)所有侵權(quán)必究

凡購(gòu)買鐵道版圖書,如有印制質(zhì)量問題,請(qǐng)與本社讀者服務(wù)部聯(lián)系調(diào)換。電話:(010)51873174

打擊盜版舉報(bào)電話:(010)51873659

FOREWORD前言

從你開始學(xué)習(xí)編程的那一刻起,就注定了以后所要走的路:從編程學(xué)習(xí)者開始,依次經(jīng)

歷實(shí)習(xí)生、程序員、軟件工程師、架構(gòu)師、CTO等職位的磨礪。當(dāng)你站在職位頂峰的位置驀

然回首,會(huì)發(fā)現(xiàn)自己的成功并不是偶然,在程序員的成長(zhǎng)之路上會(huì)有不斷修改代碼、尋找并

解決Bug、不停測(cè)試程序和修改項(xiàng)目的經(jīng)歷。不可否認(rèn)的是,只要你在自己的開發(fā)生涯中穩(wěn)

扎穩(wěn)打,并且善于總結(jié)和學(xué)習(xí),最終將會(huì)得到可喜的收獲。

■選擇一本合適的書

對(duì)于一名程序開發(fā)初學(xué)者來說,究竟如何學(xué)習(xí)并提高自己的開發(fā)能力呢?選擇一本適合

自己的開發(fā)圖書會(huì)是一個(gè)好的建議。那么什么樣的圖書才是適合自己的呢,除了對(duì)知識(shí)點(diǎn)的

細(xì)致講解外,更要能實(shí)現(xiàn)從理論平滑過渡到項(xiàng)目實(shí)戰(zhàn),為此,我們特意策劃了本書。

■本書的特色

(1)內(nèi)容全面

本書詳細(xì)講解C語言所涵蓋的所有知識(shí)點(diǎn),循序漸進(jìn)地講解了這些知識(shí)點(diǎn)的使用方法和

技巧,幫助讀者快速步入C語言開發(fā)高手之列。

(2)146個(gè)示例融入其中,面向?qū)崙?zhàn)

通過對(duì)這些實(shí)例的講解實(shí)現(xiàn)了對(duì)知識(shí)點(diǎn)的橫向切入和縱向比較,讓讀者有更多的實(shí)踐演

練機(jī)會(huì),并且可以從不同的方位展現(xiàn)一個(gè)知識(shí)點(diǎn)的用法,確保讀者扎實(shí)掌握。

(3)視頻講解,二維碼布局全書

本書正文的每一個(gè)二級(jí)目錄都有一個(gè)二維碼,通過二維碼掃描可以觀看本小節(jié)內(nèi)容的講

解視頻,既包括實(shí)例講解也包括教程講解,對(duì)讀者的開發(fā)水平實(shí)現(xiàn)了拔高處理。

(4)本書售后幫助讀者快速解決學(xué)習(xí)問題

無論書中的疑惑,還是在學(xué)習(xí)中遇到的問題,群主和管理員將在第一時(shí)間為讀者解答,

這就是我們對(duì)讀者的承諾。

(5)QQ群+網(wǎng)站論壇實(shí)現(xiàn)教學(xué)互動(dòng),形成互幫互學(xué)的朋友圈

本書作者為了方便給讀者答疑,特提供了網(wǎng)站論壇、QQ群等技術(shù)支持(通過QQ:

729017304獲得),并且隨時(shí)在線與讀者互動(dòng)。讓大家在互學(xué)互幫中形成一個(gè)良好的學(xué)習(xí)編

程的氛圍。

I

C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)

■本書的讀者對(duì)象

本書以學(xué)習(xí)筆記的形式系統(tǒng)地講解了C語言的知識(shí)點(diǎn)和基本的實(shí)戰(zhàn)應(yīng)用,旨在幫助入門

級(jí)的讀者輕松梳理知識(shí)點(diǎn)并掌握簡(jiǎn)單開發(fā)技巧。另外,融入書中的開發(fā)經(jīng)驗(yàn)和綜合案例,會(huì)

對(duì)有著一定C語言開發(fā)基礎(chǔ)的讀者大有裨益,幫助他們提升開發(fā)技能、積累實(shí)戰(zhàn)經(jīng)驗(yàn)。

■致謝

本書在編寫過程中,得到了中國(guó)鐵道出版社編輯的大力支持,正是各位編輯的求實(shí)、耐

心和效率,才使得本書能夠在這么短的時(shí)間內(nèi)出版。另外,也十分感謝我的家人給予的巨大

支持。本人水平畢竟有限,書中存在紕漏之處在所難免,誠(chéng)請(qǐng)讀者提出寶貴的意見或建議,

以便修訂并使之更臻完善。

最后感謝您購(gòu)買本書,希望本書能成為您編程路上的領(lǐng)航者,祝您閱讀快樂!

編者

2019年8月

II

CONTENTS目錄

第1章C語言基礎(chǔ)知識(shí)介紹

1.1永不過時(shí)的C語言1

1.1.1品味C語言這一壇老酒1

1.1.2C語言的發(fā)展史2

1.1.3學(xué)習(xí)C語言還有用嗎2

1.2認(rèn)識(shí)第一段C語言程序3

1.2.1編寫第一段C語言程序3

實(shí)例1-1:第一段C語言程序(定義變量并進(jìn)行算數(shù)操作)3

1.2.2分析C語言程序的具體組成4

1.3如何學(xué)好C語言6

第2章安裝C語言開發(fā)工具

2.1一步到位的VisualStudio7

2.1.1安裝VisualStudio20177

2.1.2使用VisualStudio20179

實(shí)例2-1:使用VisualStudio2017運(yùn)行一個(gè)C程序9

2.2使用DEVC++開發(fā)C語言程序12

2.2.1安裝DEVC++12

2.2.2使用DEVC++運(yùn)行一個(gè)C語言程序14

2.3使用TurboC3.0開發(fā)C語言程序14

2.3.1安裝TurboC3.014

2.3.2使用TurboC3.015

第3章C語言語法基礎(chǔ)

3.1標(biāo)識(shí)符和關(guān)鍵字16

3.1.1標(biāo)識(shí)符16

3.1.2關(guān)鍵字17

I

C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)

3.2數(shù)據(jù)類型19

3.3常量和變量20

3.3.1常量20

3.3.2變量21

實(shí)例3-1:計(jì)算圓的周長(zhǎng)和面積23

3.4整型數(shù)據(jù)24

3.4.1整型常量24

3.4.2整型變量26

實(shí)例3-2:計(jì)算兩個(gè)整型變量的和27

3.5實(shí)型數(shù)據(jù)類型28

3.5.1實(shí)型常量28

3.5.2實(shí)型變量29

實(shí)例3-3:對(duì)一個(gè)很大的數(shù)和一個(gè)很小的數(shù)進(jìn)行加法運(yùn)算29

3.6字符型數(shù)據(jù)30

3.6.1字符常量詳解30

實(shí)例3-4:通過轉(zhuǎn)義字符輸出指定的文本字符31

3.6.2字符串常量32

實(shí)例3-5:我最喜歡的偶像是歐陽娜娜32

3.6.3字符變量33

實(shí)例3-6:將字符變量和整型變量進(jìn)行相互賦值33

3.7整型、實(shí)型和字符型數(shù)據(jù)之間的運(yùn)算34

3.7.1強(qiáng)制轉(zhuǎn)換34

實(shí)例3-7:將int類型強(qiáng)制轉(zhuǎn)換為double類型35

3.7.2自動(dòng)轉(zhuǎn)換35

實(shí)例3-8:計(jì)算圓的大概面積和精確面積36

第4章運(yùn)算符和表達(dá)式

4.1運(yùn)算符和表達(dá)式介紹37

4.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式38

4.2.1算術(shù)運(yùn)算符的分類38

4.2.2單目運(yùn)算符39

實(shí)例4-1:使用單目運(yùn)算符實(shí)現(xiàn)基本的數(shù)學(xué)運(yùn)算39

4.2.3雙目運(yùn)算符39

實(shí)例4-2:獲取任意小于1000的正整數(shù)的個(gè)位、十位、百位和千位的數(shù)字40

4.3賦值運(yùn)算符和賦值表達(dá)式40

4.3.1基本的賦值運(yùn)算符41

4.3.2復(fù)合賦值運(yùn)算符43

II

目錄

4.3.3賦值表達(dá)式43

實(shí)例4-3:實(shí)現(xiàn)基本的賦值表達(dá)式運(yùn)算處理43

4.4關(guān)系運(yùn)算符和關(guān)系表達(dá)式44

4.4.1關(guān)系運(yùn)算符44

4.4.2關(guān)系表達(dá)式44

實(shí)例4-4:比較體重45

4.5逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式46

4.5.1逗號(hào)運(yùn)算符46

4.5.2逗號(hào)表達(dá)式46

實(shí)例4-5:使用逗號(hào)運(yùn)算符實(shí)現(xiàn)數(shù)學(xué)運(yùn)算47

4.6邏輯運(yùn)算符和邏輯表達(dá)式48

4.6.1邏輯運(yùn)算符48

4.6.2邏輯表達(dá)式49

實(shí)例4-6:對(duì)變量進(jìn)行邏輯運(yùn)算處理,并輸出運(yùn)算后的結(jié)果49

4.7求字節(jié)數(shù)運(yùn)算符sizeof50

實(shí)例4-7:使用sizeof運(yùn)算符計(jì)算不同類型數(shù)據(jù)的字節(jié)大小51

4.8運(yùn)算符的優(yōu)先級(jí)52

第5章數(shù)據(jù)的輸入和輸出

5.1語句介紹54

5.1.1C語句簡(jiǎn)介54

5.1.2賦值語句56

5.2C語言內(nèi)置的數(shù)據(jù)輸入和輸出函數(shù)57

5.2.1使用字符輸出函數(shù)putchar58

實(shí)例5-1:使用函數(shù)putchar輸出指定的字符58

5.2.2使用字符輸入函數(shù)getchar59

實(shí)例5-2:使用getchar函數(shù)獲取在鍵盤中輸入的內(nèi)容60

5.2.3使用格式輸出函數(shù)printf60

實(shí)例5-3:使用printf函數(shù)輸出不同格式變量a和b的數(shù)據(jù)61

實(shí)例5-4:使用printf格式字符輸出指定格式的數(shù)據(jù)62

5.2.4使用格式輸入函數(shù)scanf64

實(shí)例5-5:輸出顯示用戶輸入字符的ASCII碼和對(duì)應(yīng)的大寫字母66

5.2.5使用字符串輸出函數(shù)puts67

實(shí)例5-6:使用函數(shù)puts輸出指定的字符串67

5.2.6使用字符串輸入函數(shù)gets68

實(shí)例5-7:輸出顯示用戶的姓名和身高信息68

III

C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)

第6章使用流程控制語句

6.1順序結(jié)構(gòu)69

實(shí)例6-1:計(jì)算三角形的面積70

6.2選擇結(jié)構(gòu)70

6.2.1單分支結(jié)構(gòu)語句71

實(shí)例6-2:從大到小排列3個(gè)數(shù)字71

6.2.2雙分支結(jié)構(gòu)語句72

實(shí)例6-3:判斷用戶輸入內(nèi)容的格式72

實(shí)例6-4:判斷變量a和b的值是多少74

6.2.3使用多分支結(jié)構(gòu)語句75

實(shí)例6-5:提示用戶輸入數(shù)字,然后將用戶輸入的數(shù)字輸出。77

6.2.4條件運(yùn)算符和條件表達(dá)式77

實(shí)例6-6:比較兩個(gè)數(shù)字的大小并輸出最大數(shù)79

6.3循環(huán)結(jié)構(gòu)79

6.3.1使用for語句79

實(shí)例6-7:計(jì)算某個(gè)整數(shù)的階乘80

6.3.2使用while循環(huán)語句81

實(shí)例6-8:依次輸出1*1、1*2…到1*20的積82

6.3.3使用do-while語句83

實(shí)例6-9:猜數(shù)游戲84

6.3.4正確對(duì)待goto語句84

實(shí)例6-10:統(tǒng)計(jì)從鍵盤輸入一行字符的個(gè)數(shù)85

6.3.5使用break語句85

實(shí)例6-11:計(jì)算圓的面積86

6.3.6使用continue語句86

實(shí)例6-12:輸出顯示100到200之間的不能被3整除的整數(shù)87

6.3.7死循環(huán)/退出程序87

第7章數(shù)組存儲(chǔ)數(shù)據(jù)

7.1使用一維數(shù)組89

7.1.1定義一維數(shù)組89

7.1.2引用即使用90

實(shí)例7-1:輸出數(shù)組內(nèi)的各個(gè)元素值91

7.1.3數(shù)組需要初始化91

實(shí)例7-2:實(shí)現(xiàn)一個(gè)由小到大排列的冒泡程序92

7.2多維數(shù)組93

7.2.1二維數(shù)組93

實(shí)例7-3:輸出顯示10行楊輝三角95

7.2.2使用多維數(shù)組96

IV

目錄

實(shí)例7-4:獲取成績(jī)最高分的球員編號(hào)98

7.3使用字符數(shù)組與字符串99

7.3.1侃侃字符數(shù)組99

7.3.2字符串與字符數(shù)組100

7.3.3字符數(shù)組的輸入輸出101

實(shí)例7-5:比較兩個(gè)字符串的大小102

7.4使用字符處理函數(shù)和字符串處理函數(shù)103

7.4.1使用測(cè)試字符串長(zhǎng)度函數(shù)strlen103

實(shí)例7-6:使用函數(shù)strlen輸出程序中數(shù)組字符串的長(zhǎng)度103

7.4.2使用字符串大小寫轉(zhuǎn)換函數(shù)strupr和strlwr103

實(shí)例7-7:分別輸出輸入字符串的小寫形式和大寫形式103

7.4.3使用字符串復(fù)制函數(shù)strcpy和strncpy104

實(shí)例7-8:復(fù)制用戶輸入的字符串104

7.4.4使用字符串比較函數(shù)strcmp和strncmp105

實(shí)例7-9:比較用戶輸入的字符串106

7.4.5使用字符串連接函數(shù)strcat和strncat106

實(shí)例7-10:連接用戶輸入的字符串107

7.4.6將字符串轉(zhuǎn)換成數(shù)值的函數(shù)108

實(shí)例7-11:將用戶輸入的字符串轉(zhuǎn)換為數(shù)值類型的值108

7.4.7使用字符檢測(cè)函數(shù)109

實(shí)例7-12:判斷字符串中各字符所占用的個(gè)數(shù)109

7.4.8使用字符大小寫轉(zhuǎn)換函數(shù)tolower和toupper110

實(shí)例7-13:將字符串分別輸出轉(zhuǎn)換為大寫形式和小寫形式111

第8章函數(shù)

8.1函數(shù)基礎(chǔ)知識(shí)介紹112

8.1.1函數(shù)的分類112

8.1.2函數(shù)的定義114

實(shí)例8-1:比較兩個(gè)數(shù)字的大小114

8.2函數(shù)聲明和函數(shù)原型115

8.2.1函數(shù)聲明115

實(shí)例8-2:求s=(1+2+3+…+n)/(1+2+3+…+m)的值116

8.2.2函數(shù)原型117

8.3函數(shù)的參數(shù)117

8.3.1形參和實(shí)參詳解117

實(shí)例8-3:計(jì)算從1到某個(gè)數(shù)字值的和118

8.3.2將數(shù)組作為函數(shù)參數(shù)118

實(shí)例8-4:判斷一個(gè)整數(shù)是否大于0119

實(shí)例8-5:互換二維數(shù)組中行和列的元素120

V

C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)

8.4函數(shù)的返回值120

實(shí)例8-6:計(jì)算兩個(gè)整數(shù)3和4的和121

8.5實(shí)現(xiàn)函數(shù)的調(diào)用122

8.5.1調(diào)用函數(shù)的格式122

實(shí)例8-7:比較3個(gè)數(shù)字的大小122

8.5.2函數(shù)調(diào)用的方式123

實(shí)例8-8:計(jì)算最大公約數(shù)和最小公倍數(shù)123

8.6函數(shù)的嵌套調(diào)用和遞歸調(diào)用124

8.6.1函數(shù)嵌套調(diào)用詳解124

實(shí)例8-9:輸出字符串中最長(zhǎng)的單詞125

8.6.2函數(shù)遞歸調(diào)用126

實(shí)例8-10:實(shí)現(xiàn)數(shù)學(xué)中Hanoi塔問題的解決方案127

8.7變量的作用域129

8.7.1局部變量作用域129

實(shí)例8-11:計(jì)算長(zhǎng)方體的體積和三個(gè)面的面積129

8.7.2全局變量作用域130

實(shí)例8-12:超市價(jià)格調(diào)整130

8.8靜態(tài)存儲(chǔ)變量和動(dòng)態(tài)存儲(chǔ)變量131

8.8.1靜態(tài)存儲(chǔ)和動(dòng)態(tài)存儲(chǔ)的區(qū)別132

8.8.2四種變量存儲(chǔ)類型132

8.8.3自動(dòng)變量132

8.8.4外部變量133

實(shí)例8-13:在函數(shù)間通過外部函數(shù)直接傳遞數(shù)據(jù)134

8.8.5靜態(tài)變量134

實(shí)例8-14:使用靜態(tài)變量設(shè)置初始值136

8.8.6寄存器變量136

實(shí)例8-15:使用register變量提升效率136

8.9內(nèi)部函數(shù)和外部函數(shù)137

8.9.1內(nèi)部函數(shù)詳解137

實(shí)例8-16:在不同的文件內(nèi)使用同一個(gè)名稱的函數(shù)138

8.9.2使用外部函數(shù)138

實(shí)例8-17:在一個(gè)文件內(nèi)調(diào)用另一個(gè)外部函數(shù)138

8.10庫函數(shù)139

8.10.1庫函數(shù)介紹139

8.10.2庫函數(shù)的分類139

第9章使用指針

9.1指針和內(nèi)存地址141

VI

目錄

9.2變量的指針和指向變量的指針變量142

9.2.1聲明指針變量142

9.2.2初始化指針變量143

9.2.3引用指針變量144

實(shí)例9-1:將兩個(gè)指針變量分別指向兩個(gè)變量145

9.2.4指針運(yùn)算符145

實(shí)例9-2:對(duì)輸入的數(shù)字進(jìn)行排序處理146

9.2.5指針變量的運(yùn)算147

實(shí)例9-3:順序顯示數(shù)組內(nèi)的元素并分別逆向輸出148

9.2.6指針變量作為函數(shù)參數(shù)148

實(shí)例9-4:按照從小到大的順序排序輸出三個(gè)整數(shù)150

9.2.7void類型的指針151

實(shí)例9-5:定義4個(gè)類型的變量,然后分別輸出轉(zhuǎn)換后的結(jié)果151

9.3指針和數(shù)組152

9.3.1數(shù)組元素的指針153

9.3.2指向一維數(shù)組元素的指針變量154

9.3.3通過指針引用數(shù)組元素155

實(shí)例9-6:分別通過指向數(shù)組的指針引用數(shù)組、利用數(shù)組名和下標(biāo)引用數(shù)組156

9.3.4數(shù)組名作函數(shù)參數(shù)158

實(shí)例9-7:將數(shù)組中的元素按相反順序存放158

實(shí)例9-8:輸出數(shù)組元素中的最大值和最小值159

9.4指針和多維數(shù)組160

9.4.1多維數(shù)組的地址160

實(shí)例9-9:輸出顯示二維數(shù)組元素的地址162

9.4.2指向多維數(shù)組的指針變量162

實(shí)例9-10:2*3或3*4矩陣相乘運(yùn)算164

9.5指針和字符串165

9.5.1指針訪問字符串165

實(shí)例9-11:把一個(gè)字符串的內(nèi)容復(fù)制到另一個(gè)字符串中166

9.5.2字符串指針作函數(shù)參數(shù)167

實(shí)例9-12:使用函數(shù)調(diào)用復(fù)制字符串的內(nèi)容167

9.6指針數(shù)組和多級(jí)指針168

9.6.1指針數(shù)組168

9.6.2多級(jí)指針的定義和應(yīng)用169

實(shí)例9-13:對(duì)5個(gè)字符串進(jìn)行排序170

9.6.3指向指針的指針171

9.6.4main函數(shù)的參數(shù)171

實(shí)例9-14:使用帶參數(shù)的main函數(shù)輸出指針數(shù)組參數(shù)的值172

VII

C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)

9.7指針函數(shù)和函數(shù)指針173

9.7.1指針函數(shù)173

9.7.2函數(shù)指針173

第10章結(jié)構(gòu)體、共用體和枚舉

10.1使用結(jié)構(gòu)體177

10.1.1定義結(jié)構(gòu)體177

10.1.2定義結(jié)構(gòu)體類型變量178

10.1.3引用結(jié)構(gòu)體變量180

實(shí)例10-1:輸出顯示對(duì)應(yīng)的年齡和成績(jī)180

10.1.4初始化結(jié)構(gòu)體變量182

10.2結(jié)構(gòu)體數(shù)組183

10.2.1怎樣定義結(jié)構(gòu)體數(shù)組183

實(shí)例10-2:計(jì)算主流手機(jī)的跑分成績(jī)和不及格的數(shù)量184

10.2.2初始化結(jié)構(gòu)體數(shù)組185

實(shí)例10-3:輸出顯示數(shù)組內(nèi)的元素185

10.2.3引用結(jié)構(gòu)體數(shù)組186

實(shí)例10-4:手機(jī)信息錄入系統(tǒng)186

10.3結(jié)構(gòu)體指針187

10.3.1怎樣定義結(jié)構(gòu)體指針變量187

10.3.2初始化結(jié)構(gòu)體指針變量188

10.3.3引用結(jié)構(gòu)體指針變量188

實(shí)例10-5:輸出顯示結(jié)構(gòu)體成員變量的信息188

10.3.4指向結(jié)構(gòu)變量的指針189

10.3.5指向結(jié)構(gòu)體數(shù)組的指針190

實(shí)例10-6:輸出顯示主流手機(jī)的跑分成績(jī)190

10.4在函數(shù)中使用結(jié)構(gòu)體191

10.4.1結(jié)構(gòu)體變量和結(jié)構(gòu)體指針可以作為函數(shù)參數(shù)191

實(shí)例10-7:計(jì)算某天在當(dāng)年中是第幾天191

10.4.2函數(shù)可以返回結(jié)構(gòu)體類型的值192

實(shí)例10-8:輸出顯示所有學(xué)生的信息192

10.5使用共用體(聯(lián)合)194

10.5.1怎樣定義共用體和共用體變量194

實(shí)例10-9:輸出結(jié)構(gòu)體和共同體的空間大小194

10.5.2引用和初始化共用體變量195

實(shí)例10-10:在定義的結(jié)構(gòu)體內(nèi)使用共用體成員195

10.6使用枚舉196

10.6.1定義枚舉類型196

VIII

目錄

10.6.2定義枚舉變量197

10.6.3引用枚舉變量198

實(shí)例10-11:五色球問題解法198

10.7使用typedef定義類型199

10.7.1類型定義符typedef基礎(chǔ)199

10.7.2使用typedef201

實(shí)例10-12:計(jì)算兩個(gè)復(fù)數(shù)的乘積201

第11章鏈表

11.1鏈表基礎(chǔ)202

11.2鏈表和數(shù)組203

實(shí)例11-1:解決“老鷹捉小雞”問題203

11.3單向鏈表204

11.3.1單向鏈表基礎(chǔ)204

11.3.2使用單向鏈表205

實(shí)例11-2:輸出顯示鏈表節(jié)點(diǎn)中的數(shù)據(jù)205

第12章位運(yùn)算

12.1使用位運(yùn)算符207

12.1.1按位與運(yùn)算符“&”207

實(shí)例12-1:計(jì)算a&b的值208

12.1.2按位或運(yùn)算符“|”209

實(shí)例12-2:計(jì)算a|b的值209

12.1.3按位異或運(yùn)算符“^”210

實(shí)例12-3:計(jì)算a^b的值211

12.1.4取反運(yùn)算符“~”211

實(shí)例12-4:計(jì)算~a的值211

12.1.5左移運(yùn)算符“<<”212

實(shí)例12-5:使用左移運(yùn)算符處理變量212

12.1.6右移運(yùn)算符“>>”212

實(shí)例12-6:使用右移運(yùn)算符處理變量213

12.1.7位運(yùn)算綜合應(yīng)用實(shí)例213

實(shí)例12-7:對(duì)兩個(gè)數(shù)(255,10)進(jìn)行位運(yùn)算并輸出結(jié)果213

12.2位域215

12.2.1位域的定義和位域變量基礎(chǔ)215

12.2.2使用位域216

實(shí)例12-8:輸出顯示變量的位域217

IX

C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)

第13章預(yù)編譯處理

13.1預(yù)編譯基礎(chǔ)218

13.2使用宏定義219

13.2.1不帶參數(shù)的宏定義219

實(shí)例13-1:使用不帶參數(shù)的宏定義優(yōu)化代碼220

13.2.2帶參數(shù)的宏定義221

實(shí)例13-2:使用帶參數(shù)的宏定義優(yōu)化代碼222

13.3文件包含222

實(shí)例13-3:比較3個(gè)數(shù)字的大小并輸出其中的最小值222

13.4條件編譯224

13.4.1使用#ifdef…#else…#endif指令224

13.4.2使用#ifde?ned…#else…#endif指令225

實(shí)例13-4:聯(lián)合使用#ifdef和#ifndif指令226

13.4.3使用#ifndef…#else…#endif指令226

13.4.4使用#if!de?ned…#else…#endif指令226

13.4.5使用#ifdef…#elif…#elif…#else…#endif指令227

實(shí)例13-5:遞增修改字母的值228

13.4.6使用#line指令228

實(shí)例13-6:使用#line指令修改代碼的行號(hào)229

第14章文件操作

14.1計(jì)算機(jī)中的文件230

14.1.1文件的分類230

14.1.2文本文件231

14.1.3文件分類231

14.1.4文件指針232

14.2打開與關(guān)閉文件232

14.2.1打開文件232

14.2.2關(guān)閉文件235

實(shí)例14-1:通過各種方式操作本地硬盤中的指定文件235

14.3文件讀寫236

14.3.1讀寫字符函數(shù)getc、fgetc、putc和fputc237

實(shí)例14-2:讀取指定文件的內(nèi)容237

實(shí)例14-3:將用戶輸入的一行字符寫入一個(gè)文件中238

14.3.2讀寫字符串函數(shù)fgets和fputs239

實(shí)例14-4:讀取目標(biāo)文件中內(nèi)容,并輸出前10個(gè)字符239

實(shí)例14-5:輸出顯示字符串的內(nèi)容240

14.3.3格式化讀寫函數(shù)fscanf和fprintf241

X

目錄

實(shí)例14-6:輸出顯示兩個(gè)用戶的數(shù)據(jù)241

14.3.4數(shù)據(jù)塊讀寫函數(shù)fread和fwtrite242

實(shí)例14-7:將一組字符串?dāng)?shù)據(jù)存儲(chǔ)在指定的目標(biāo)文件中242

14.3.5其他的讀寫函數(shù)243

實(shí)例14-8:輸出顯示文件中的整數(shù)244

14.4隨機(jī)讀寫文件244

14.4.1使用函數(shù)fseek245

實(shí)例14-9:從文件中隨機(jī)讀取其中的某個(gè)數(shù)據(jù)245

14.4.2使用函數(shù)rewind246

14.4.3使用函數(shù)ftell247

實(shí)例14-10:獲得當(dāng)前位置指針離文件開頭的距離247

14.5文件管理函數(shù)248

14.5.1刪除文件248

實(shí)例14-11:使用函數(shù)remove刪除一個(gè)文件248

14.5.2重命名文件248

實(shí)例14-12:使用函數(shù)rename重命名一個(gè)指定的文件249

14.5.3復(fù)制文件249

實(shí)例14-13:復(fù)制指定目標(biāo)文件中的內(nèi)容250

14.6文件狀態(tài)檢測(cè)函數(shù)251

14.6.1使用函數(shù)feof251

14.6.2使用函數(shù)ferror251

14.6.3使用函數(shù)clearerr252

實(shí)例14-14:檢測(cè)對(duì)文件讀寫時(shí)是否發(fā)生錯(cuò)誤252

第15章內(nèi)存管理

15.1C語言的內(nèi)存模型253

15.2棧和堆254

15.2.1操作棧254

實(shí)例15-1:在堆中動(dòng)態(tài)分配并釋放內(nèi)存254

15.2.2操作堆255

實(shí)例15-2:編寫自定義函數(shù)時(shí)操作內(nèi)存255

15.3動(dòng)態(tài)內(nèi)存管理256

15.3.1內(nèi)存分配函數(shù)malloc256

實(shí)例15-3:生成指定長(zhǎng)度的隨機(jī)字符串256

15.3.2分配內(nèi)存空間并初始化函數(shù)calloc257

實(shí)例15-4:存儲(chǔ)輸入的數(shù)據(jù)257

15.3.3重新分配內(nèi)存函數(shù)realloc258

實(shí)例15-5:使用函數(shù)realloc重新分配內(nèi)存259

15.3.4釋放內(nèi)存空間函數(shù)free259

XI

C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)

實(shí)例15-6:使用函數(shù)free釋放內(nèi)存空間260

第16章數(shù)據(jù)結(jié)構(gòu)

16.1線性表261

16.1.1線性表的特性261

16.1.2順序表操作262

16.1.3使用順序表操作函數(shù)264

實(shí)例16-1:使用順序表操作學(xué)生信息264

16.2先進(jìn)先出的隊(duì)列266

16.2.1什么是隊(duì)列266

16.2.2實(shí)現(xiàn)一個(gè)排號(hào)程序267

實(shí)例16-2:模擬實(shí)現(xiàn)一個(gè)業(yè)務(wù)辦理排號(hào)程序267

16.3后進(jìn)先出棧270

16.3.1什么是棧?270

16.3.2實(shí)現(xiàn)棧操作271

實(shí)例16-3:使用棧操作員工信息271

第17章常用的C語言算法思想

17.1枚舉算法273

17.1.1枚舉算法介紹273

17.1.2百錢買百雞274

實(shí)例17-1:使用枚舉法解決“百錢買百雞”問題274

17.2遞推算法274

17.2.1遞推算法介紹275

17.2.2斐波那契數(shù)列275

實(shí)例17-2:使用順推法解決“斐波那契數(shù)列”問題275

17.3遞歸算法276

17.3.1遞歸算法介紹276

17.3.2漢諾塔277

實(shí)例17-3:使用遞歸算法解決“漢諾塔”問題277

17.4分治算法279

17.4.1分治算法介紹279

17.4.2大數(shù)相乘280

實(shí)例17-4:用分治算法解決“大數(shù)相乘”問題280

17.5貪心算法282

17.5.1貪心算法介紹282

17.5.2找零方案283

實(shí)例17-5:使用貪心算法解決“找零方案”問題283

XII

目錄

17.6試探法算法284

17.6.1試探法算法介紹284

17.6.2八皇后285

實(shí)例17-6:使用試探法算法解決“八皇后”問題285

17.7迭代算法287

17.7.1迭代算法介紹287

17.7.2計(jì)算平方根288

實(shí)例17-7:用迭代算法解決“求平方根”問題288

第18章開發(fā)圖形化界面程序

18.1圖形化界面程序介紹290

18.2文本的屏幕輸出和鍵盤輸入291

18.2.1在屏幕輸出文本291

實(shí)例18-1:顯示7種不同的顏色293

18.2.2鍵盤輸入296

18.2.3將屏幕分割為左右兩個(gè)部分297

實(shí)例18-2:設(shè)置輸出屏的顏色,并分割為左右兩個(gè)部分297

18.3圖形顯示方式和鼠標(biāo)輸入299

18.3.1初始化圖形模式299

18.3.2清屏和恢復(fù)顯示函數(shù)302

18.3.3建立獨(dú)立圖形運(yùn)行程序302

18.3.4基本繪圖函數(shù)303

18.3.5線性函數(shù)307

18.3.6顏色控制函數(shù)309

18.3.7填色函數(shù)和畫圖函數(shù)312

實(shí)例18-3:繪制多個(gè)圖形315

18.3.8圖形窗口函數(shù)316

18.3.9圖形方式下的文本輸出函數(shù)316

實(shí)例18-4:在圖形模式下輸出不同樣式的文本319

18.4菜單設(shè)計(jì)320

18.4.1下拉式菜單320

實(shí)例18-5:實(shí)現(xiàn)一個(gè)基本的下拉式菜單效果320

18.4.2彈出式菜單323

實(shí)例18-6:實(shí)現(xiàn)一個(gè)基本的彈出式菜單效果323

第19章學(xué)生成績(jī)管理系統(tǒng)

19.1系統(tǒng)需求分析328

19.1.1背景介紹328

XIII

C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)

19.1.2需求分析328

19.1.3可行性分析329

19.1.4編寫項(xiàng)目計(jì)劃書330

19.2系統(tǒng)功能模塊331

實(shí)例19-1:學(xué)生成績(jī)管理系統(tǒng)功能模塊331

19.3系統(tǒng)總體設(shè)計(jì)332

19.3.1功能模塊設(shè)計(jì)333

19.3.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)334

19.3.3構(gòu)成函數(shù)介紹335

19.4系統(tǒng)具體實(shí)現(xiàn)336

19.4.1預(yù)處理337

19.4.2主函數(shù)main337

19.4.3系統(tǒng)主菜單函數(shù)338

19.4.4表格顯示信息339

19.4.5信息查找定位340

19.4.6格式化輸入數(shù)據(jù)340

19.4.7增加學(xué)生記錄341

19.4.8查詢學(xué)生記錄342

19.4.9刪除學(xué)生記錄343

19.4.10修改學(xué)生記錄344

19.4.11插入學(xué)生記錄345

19.4.12統(tǒng)計(jì)學(xué)生記錄346

19.4.13排序處理347

19.4.14存儲(chǔ)學(xué)生信息348

第20章三江化工薪資管理系統(tǒng)

20.1項(xiàng)目介紹352

20.2項(xiàng)目規(guī)劃分析353

20.2.1項(xiàng)目目的353

20.2.2功能模塊分析353

20.3系統(tǒng)設(shè)計(jì)354

20.3.1設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)354

20.3.2規(guī)劃項(xiàng)目函數(shù)355

20.4具體編碼355

20.4.1預(yù)處理356

20.4.2查找定位模塊356

20.4.3格式化輸入模塊357

20.4.4增加記錄模塊357

XIV

目錄

20.4.5修改記錄模塊358

20.4.6刪除記錄模塊359

20.4.7插入記錄模塊361

20.4.8存儲(chǔ)記錄模塊363

20.4.9主函數(shù)模塊364

20.4.10主菜單模塊365

20.4.11統(tǒng)計(jì)記錄模塊366

20.5客戶有變366

20.5.1查詢記錄模塊366

20.5.2排序顯示模塊368

20.5.3最后的一些調(diào)整368

20.6項(xiàng)目調(diào)試370

第21章啟明星繪圖板系統(tǒng)

21.1項(xiàng)目介紹374

21.2項(xiàng)目規(guī)劃分析375

21.2.1繪圖板的核心技術(shù)375

21.2.2功能描述375

21.2.3總體設(shè)計(jì)376

21.3架構(gòu)設(shè)計(jì)377

21.3.1設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)377

21.3.2規(guī)劃系統(tǒng)函數(shù)377

21.4具體編碼379

21.4.1實(shí)現(xiàn)預(yù)處理模塊379

21.4.2實(shí)現(xiàn)功能控制模塊381

21.4.3實(shí)現(xiàn)保存加載模塊382

21.4.4實(shí)現(xiàn)鼠標(biāo)控制模塊383

21.4.5圖形繪制模塊384

21.4.6主函數(shù)模塊395

21.5項(xiàng)目調(diào)試400

XV

第1章

C語言基礎(chǔ)知識(shí)介紹

(視頻講解:14分鐘)

在當(dāng)今眾多的流行編程語言中,C語言并沒有因?yàn)槠淠觊L(zhǎng)而顯得老

邁,反而在各個(gè)領(lǐng)域中經(jīng)受住了考驗(yàn),更加老而彌堅(jiān),深受廣大程序員

的喜愛。本章將詳細(xì)介紹C語言的發(fā)展歷史,分析C語言老而彌堅(jiān)的

原因,讓讀者對(duì)C語言有一個(gè)基本的了解。

1.1永不過時(shí)的C語言

“TIOBE世界編程語言排行榜”是編程語言的圣殿,榜單每月更新一次,榜單的排名客觀

公正地展示了各門編程語言的地位?!癟IOBE世界編程語言排行榜”同時(shí)也是編程語言流

行趨勢(shì)的一個(gè)重要指標(biāo),它基于互聯(lián)網(wǎng)上有經(jīng)驗(yàn)的程序員、課程和第三方廠商的數(shù)量。在

榜單中,過去兩年C語言穩(wěn)居前2。

↑掃碼看視頻(本節(jié)視頻課程時(shí)間:5分49秒)

1.1.1品味C語言這一壇老酒

都說程序員的最大悲哀是需要不斷地學(xué)習(xí)新技術(shù),只有這樣才能不被現(xiàn)實(shí)淘汰。新技術(shù)

確實(shí)帶來了科技的進(jìn)步,但是有一門編程語言歷久彌新,這就是C語言!這門在1969年誕

生,1990年推出ISO標(biāo)準(zhǔn)的編程語言,已經(jīng)50周歲了。在受到強(qiáng)大的后來者VisualBasic、

C++、Java、C#、Python等語言沖擊后,反而一直屹立在科技前沿沒有被湮沒,并且這個(gè)世

界根本離不開這壇越老越香的老酒!

TIOBE世界編程語言排行榜是編程語言流行趨勢(shì)的一個(gè)重要指標(biāo)。TIOBE世界編程語

言排名使用著名的搜索引擎(諸如Google、MSN、Yahoo!、Wikipedia、YouTube以及Baidu等)

進(jìn)行計(jì)算。在最近幾年中,Java語言和C語言依然是最大的贏家。其實(shí)在最近幾年的榜單中,

程序員們?cè)缫蚜?xí)慣了C語言和Java的“二人轉(zhuǎn)”局面。表1-1是最近兩年榜單中的前兩名

排名信息,數(shù)據(jù)截至2019年8月。

表1-1

2018年排名2019年排名語言2018年占有率(%)2019年占有率(%)

11Java13.26816.380

22C10.15814.000

1

C語言學(xué)習(xí)筆記:從入門到實(shí)戰(zhàn)

注意:“TIOBE世界編程語言排行榜”只是反映某個(gè)編程語言的熱門程度,并不能說明

一門編程語言好不好,或者一門語言所編寫的代碼數(shù)量多少?!癟IOBE世界編程語言排行榜”

可以用來考查大家的編程技能是否與時(shí)俱進(jìn),也可以在開發(fā)新系統(tǒng)時(shí)作為一個(gè)語言選擇依據(jù)。

1.1.2C語言的發(fā)展史

綜觀當(dāng)今編程語言世界,C語言是最流行、使用最廣泛的程序設(shè)計(jì)語言之一。C語言具

有繪圖能力強(qiáng)、可移植性等優(yōu)點(diǎn),并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適合編寫系統(tǒng)軟件、二

維圖形、三維圖形和動(dòng)畫程序。

還要說一說Java、C++和C#這些語言,它們都是面向?qū)ο蟮木幊陶Z言。面向?qū)ο蟮木?/p>

程語言比面向過程的C語言確實(shí)更為優(yōu)秀,但是它們都是在C語言取得驕人成績(jī)后才推出

的,并且或多或少都借鑒了C語言的一些語法特點(diǎn)。更確切地說,Java、C++、C#都借鑒了

C語言的一些優(yōu)點(diǎn)和語法規(guī)則,然后進(jìn)行了改良,這些具體特點(diǎn)將在后面向你一一介紹。接

下來我們先看一看C語言的發(fā)展歷程:

z1963年,劍橋大學(xué)將ALGOL60語言發(fā)展成為CPL(CombinedProgrammingLanguage)

語言。

z1967年,劍橋大學(xué)的MatinRichards對(duì)CPL語言進(jìn)行了簡(jiǎn)化,于是產(chǎn)生了BCPL語言。

z1973年,美國(guó)貝爾實(shí)驗(yàn)室的D.M.RITCHIE在BCPL語言的基礎(chǔ)上設(shè)計(jì)出了一種新的

語言,他取BCPL的第二個(gè)字母作為這種語言的名字,這就是C語言。

z1977年,為了推廣UNIX操作系統(tǒng),DennisM.Ritchie發(fā)表了不依賴具體機(jī)器系統(tǒng)的

C語言編譯文本《可移植的C語言編譯程序》。

z1978年,BrianW.Kernighian和DennisM.Ritchie出版了名著TheCProgrammingLanguage,

促使C語言成為世界上流行最廣泛的高級(jí)程序設(shè)計(jì)語言之一。

z1989年,隨著微型計(jì)算機(jī)的日益普及,出現(xiàn)了許多C語言版本。由于沒有統(tǒng)一的標(biāo)準(zhǔn),

這些C語言版本之間出現(xiàn)了一些不一致的地方。為了改變這種情況,美國(guó)國(guó)家標(biāo)準(zhǔn)

研究所(ANSI)為C語言制訂了一套ANSI標(biāo)準(zhǔn),成為現(xiàn)行C語言的主要特點(diǎn)。

z1990年,美國(guó)ANSI標(biāo)準(zhǔn)被國(guó)際標(biāo)準(zhǔn)化組織ISO采納,被命名為ISO/IEC9899:1990,

有些地方稱為C89,有些地方稱為C90或者C89/90,成為最初的國(guó)際標(biāo)準(zhǔn)。

z2011年12月8日,國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電工委員會(huì)(IEC)旗下的C語

言標(biāo)準(zhǔn)委員會(huì)(ISO/IECJTC1/SC22/WG14)正式發(fā)布了C11標(biāo)準(zhǔn)。

1.1.3學(xué)習(xí)C語言還有用嗎

C語言正式誕生于1973年,是一枚即將年滿50歲的老大叔啊。坊間一直流傳說C語言

不是面向?qū)ο蟮?,功能不如面向?qū)ο蟮木幊陶Z言(例如Java、C++、C#等)強(qiáng)大,學(xué)習(xí)C

語言已經(jīng)落伍了,真是這樣嗎?

其實(shí)在很多初學(xué)者的心底埋藏著一個(gè)問題:C語言會(huì)不會(huì)只是人們學(xué)習(xí)程序設(shè)計(jì)的一塊

小小的墊腳石,而沒有了實(shí)際的使用價(jià)值?當(dāng)然不是!某位IT界知名大佬給你幾句金玉良

言:越是基礎(chǔ)的語言,越是能實(shí)現(xiàn)強(qiáng)大的功能,越是具有強(qiáng)大的生命力。在軟件開發(fā)行業(yè)中,

2

第1章C語言基礎(chǔ)知識(shí)介紹

許多好的軟件和系統(tǒng)都是由匯編語言和C語言等編寫出來的。C語言不僅是軟件開發(fā)的基石,

而且有著強(qiáng)大的生命力。事實(shí)勝于雄辯,前面表1-1中的統(tǒng)計(jì)數(shù)據(jù)中你已經(jīng)看到了,身為“70

后”的C語言長(zhǎng)期占據(jù)當(dāng)前使用率排名的第二位。

不是面向?qū)ο蟮腃語言,為什么還有這么多的程序員在使用呢?這是因?yàn)镃語言具有

強(qiáng)大的功能,C語言在Windows平臺(tái)上主要用于系統(tǒng)底層驅(qū)動(dòng)的開發(fā)。特別是在Linux或

Unix系統(tǒng)中,C語言一直到現(xiàn)在都還是主流中的主流,C腳本和Shell構(gòu)建了一整套Unix/

Linux哲學(xué)。

依據(jù)多年的開

溫馨提示

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

評(píng)論

0/150

提交評(píng)論