本書(shū)從初學(xué)者角度出發(fā),針對(duì)非計(jì)算機(jī)類(lèi)專(zhuān)業(yè)的學(xué)生,采用通俗易懂的語(yǔ)言、簡(jiǎn)單有趣的實(shí)例,詳細(xì)地介紹了使用C語(yǔ)言進(jìn)行程序開(kāi)發(fā)的最基本知識(shí)和常用案例。全書(shū)共14章,包括C程序設(shè)計(jì)概述、順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組、函數(shù)、位運(yùn)算、指針、文件、圖形設(shè)計(jì)、Visual C 6.0程序設(shè)計(jì)、Keil C51程序設(shè)計(jì)、MySpringC程序設(shè)計(jì)和C語(yǔ)言編譯器手機(jī)版。各類(lèi)例題均給出了解題思路和流程圖,并詳細(xì)介紹了各自的軟件平臺(tái)及具體編程方法。讀者能夠輕松領(lǐng)會(huì)C語(yǔ)言程序設(shè)計(jì)的精髓,快速開(kāi)發(fā)高質(zhì)量的代碼,提高工程開(kāi)發(fā)技能。
本書(shū)由淺入深、涵蓋面廣、注重實(shí)踐,既可作為高等學(xué)校非計(jì)算機(jī)專(zhuān)業(yè)C程序設(shè)計(jì)課程的教材,又可作為工程技術(shù)人員進(jìn)行軟件開(kāi)發(fā)的自學(xué)參考書(shū)。
本書(shū)以編程思想和創(chuàng)新能力培養(yǎng)為宗旨,以問(wèn)題為導(dǎo)向,在應(yīng)用實(shí)際場(chǎng)景中啟發(fā)學(xué)生學(xué)會(huì)發(fā)現(xiàn)問(wèn)題、提出需求、設(shè)計(jì)方案,進(jìn)而實(shí)現(xiàn)獨(dú)立編程的技能,在解決問(wèn)題的過(guò)程中舉一反三、形成計(jì)算思維、工程思維習(xí)慣。激發(fā)學(xué)生興趣,引領(lǐng)學(xué)生創(chuàng)新思考,以期達(dá)到培養(yǎng)學(xué)生編程能力、計(jì)算思維和創(chuàng)新思維的目的。
C語(yǔ)言是出現(xiàn)較早的程序設(shè)計(jì)語(yǔ)言,自1972年誕生以來(lái),開(kāi)啟了計(jì)算機(jī)編程的新篇章。它因其簡(jiǎn)潔、高效、接近硬件,迅速風(fēng)靡全球,逐漸成為計(jì)算機(jī)編程的主流語(yǔ)言。C語(yǔ)言具有跨平臺(tái)的特性,可在各種不同的硬件和操作系統(tǒng)上用相同的代碼進(jìn)行開(kāi)發(fā)。
C語(yǔ)言是一種層次清晰的結(jié)構(gòu)化語(yǔ)言,可對(duì)程序進(jìn)行模塊化編寫(xiě),程序調(diào)試方便,有助于計(jì)算思維能力的訓(xùn)練。C語(yǔ)言有強(qiáng)大的處理和表現(xiàn)能力,依靠豐富的運(yùn)算符和多樣的數(shù)據(jù)類(lèi)型,可輕易地完成各種數(shù)據(jù)結(jié)構(gòu)的構(gòu)建,更可通過(guò)指針類(lèi)型對(duì)內(nèi)存直接尋址,直接操作硬件,因此既可用于開(kāi)發(fā)系統(tǒng)程序,又可用于開(kāi)發(fā)應(yīng)用軟件。
目前,C語(yǔ)言在智能時(shí)代的計(jì)算機(jī)科學(xué)領(lǐng)域仍然占有重要地位。雖然新的編程語(yǔ)言層出不窮,但是C語(yǔ)言憑借其高效、靈活和跨平臺(tái)的特性,仍然在系統(tǒng)級(jí)編程、嵌入式系統(tǒng)、操作系統(tǒng)和游戲開(kāi)發(fā)等領(lǐng)域中發(fā)揮著重要作用。
未來(lái),隨著科技的不斷發(fā)展和進(jìn)步,無(wú)論是在人工智能、機(jī)器學(xué)習(xí)等新興領(lǐng)域,還是在系統(tǒng)級(jí)編程和嵌入式系統(tǒng)等傳統(tǒng)領(lǐng)域,C語(yǔ)言都將繼續(xù)發(fā)揮重要作用。
本書(shū)以編程思想和創(chuàng)新能力培養(yǎng)為宗旨,以問(wèn)題為導(dǎo)向,在應(yīng)用實(shí)際場(chǎng)景中啟發(fā)學(xué)生學(xué)會(huì)發(fā)現(xiàn)問(wèn)題、提出需求、設(shè)計(jì)方案,進(jìn)而實(shí)現(xiàn)獨(dú)立編程的技能,在解決問(wèn)題的過(guò)程中舉一反三,形成計(jì)算思維、工程思維習(xí)慣。全書(shū)激發(fā)學(xué)生興趣,引領(lǐng)學(xué)生創(chuàng)新思考,以培養(yǎng)學(xué)生的編程能力、計(jì)算思維和創(chuàng)新思維。
本書(shū)從初學(xué)者角度出發(fā),結(jié)合當(dāng)前C語(yǔ)言的各類(lèi)應(yīng)用場(chǎng)景,針對(duì)非計(jì)算機(jī)類(lèi)專(zhuān)業(yè)的學(xué)生,摒棄了煩瑣、晦澀的語(yǔ)法和數(shù)據(jù)結(jié)構(gòu),采用通俗易懂的語(yǔ)言、簡(jiǎn)單有趣的實(shí)例,詳細(xì)地介紹了使用C語(yǔ)言進(jìn)行程序開(kāi)發(fā)的最基本知識(shí)和常見(jiàn)案例。全書(shū)分為兩部分共14章,第1章到第9章是第一部分,以C語(yǔ)言的基本知識(shí)為主,介紹了C程序設(shè)計(jì)概述、順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組、函數(shù)、位運(yùn)算、指針和文件,各類(lèi)例題均給出解題思路和流程圖,并給出前10章習(xí)題的參考答案。第10章到第14章是第二部分,列舉了圖形設(shè)計(jì)、Visual C 6.0程序設(shè)計(jì)、Keil C51程序設(shè)計(jì)、MySpringC程序設(shè)計(jì)和C語(yǔ)言編譯器手機(jī)版等在不同開(kāi)發(fā)平臺(tái)下使用C程序進(jìn)行軟件開(kāi)發(fā)的各類(lèi)案例,詳細(xì)介紹了各自的軟件平臺(tái)及具體編程方法,使C語(yǔ)言的學(xué)習(xí)擺脫了缺乏實(shí)際應(yīng)用的現(xiàn)狀,讓讀者體驗(yàn)用所學(xué)的基本的C語(yǔ)言去開(kāi)發(fā)實(shí)際應(yīng)用程序,同時(shí)也更好地在案例學(xué)習(xí)中掌握各類(lèi)軟件的使用方法,鞏固所學(xué)知識(shí),提升軟件開(kāi)發(fā)技能。
本書(shū)第2章和第3章由趙建彬編寫(xiě),第4章至第7章和附錄由劉冰編寫(xiě),第1章、第8章至第14章和習(xí)題部分由翟震編寫(xiě)。
因編者水平有限,書(shū)中不足之處在所難免,懇請(qǐng)讀者批評(píng)指正。
編者2024年12月
第一部分基礎(chǔ)篇第1章C程序設(shè)計(jì)概述3
1.1C語(yǔ)言的發(fā)展歷史3
1.1.1計(jì)算機(jī)程序3
1.1.2程序語(yǔ)言的發(fā)展3
1.2C語(yǔ)言的特點(diǎn)4
1.3C語(yǔ)言的開(kāi)發(fā)環(huán)境5
1.4C語(yǔ)言的應(yīng)用領(lǐng)域6
1.5結(jié)構(gòu)化程序設(shè)計(jì)6
1.5.1程序設(shè)計(jì)步驟6
1.5.2算法設(shè)計(jì)7
1.6如何學(xué)習(xí)C程序設(shè)計(jì)8
1.7新建簡(jiǎn)單的C程序8
本章小結(jié)10
習(xí)題111第2章順序結(jié)構(gòu)13
2.1C程序的書(shū)寫(xiě)規(guī)則13
2.1.1變量命名13
2.1.2程序注釋14
2.1.3語(yǔ)句結(jié)構(gòu)14
2.2數(shù)據(jù)類(lèi)型15
2.2.1常量15
2.2.2變量和數(shù)據(jù)類(lèi)型15
2.3運(yùn)算符和表達(dá)式16
2.3.1運(yùn)算符16
2.3.2表達(dá)式17
2.4數(shù)據(jù)的輸入輸出17
2.4.1格式化輸出函數(shù)printf()17
2.4.2格式化輸入函數(shù)scanf()17
2.4.3單一字符輸出函數(shù)putchar()18
2.4.4單一字符輸入函數(shù)getchar()19
本章小結(jié)23
習(xí)題224第3章分支結(jié)構(gòu)27
3.1if條件分支結(jié)構(gòu)27
3.2switch開(kāi)關(guān)結(jié)構(gòu)31
本章小結(jié)35
習(xí)題335第4章循環(huán)結(jié)構(gòu)37
4.1while循環(huán)結(jié)構(gòu)37
4.2do…while結(jié)構(gòu)38
4.3for結(jié)構(gòu)39
4.4循環(huán)嵌套結(jié)構(gòu)42
4.5其他控制語(yǔ)句43
4.5.1break語(yǔ)句43
4.5.2continue語(yǔ)句43
本章小結(jié)49
習(xí)題450第5章數(shù)組54
5.1一維數(shù)組54
5.1.1一維數(shù)組的定義、初始化54
5.1.2數(shù)組元素的引用及基本操作55
5.2二維數(shù)組59
5.2.1二維數(shù)組的定義、初始化59
5.2.2數(shù)組元素的引用及基本操作60
5.3字符串64
5.3.1字符數(shù)組64
5.3.2字符串操作函數(shù)68
習(xí)題573第6章函數(shù)75
6.1函數(shù)的定義、調(diào)用和聲明75
6.1.1函數(shù)的定義75
6.1.2函數(shù)的調(diào)用76
6.1.3函數(shù)的聲明77
6.2函數(shù)間參數(shù)的傳遞80
6.2.1傳值參數(shù)80
6.2.2地址參數(shù)82
6.2.3數(shù)組名作函數(shù)參數(shù)83
6.3函數(shù)的嵌套和遞歸調(diào)用87
6.3.1函數(shù)的嵌套調(diào)用87
6.3.2函數(shù)的遞歸調(diào)用88
6.4變量的作用域和存儲(chǔ)類(lèi)別94
6.4.1自動(dòng)變量94
6.4.2全局變量95
6.4.3局部變量98
6.4.4函數(shù)文件化99
本章小結(jié)100
習(xí)題6100第7章位運(yùn)算104
7.1按位與(&)104
7.2按位或(|)104
7.3按位取反(~)105
7.4按位異或(^)105
7.5左移(<<)105
7.6右移(>>)106
本章小結(jié)106
習(xí)題7107第8章指針109
8.1指針變量109
8.2指針和一維數(shù)組111
8.3指針和二維數(shù)組113
8.4指針和字符串115
本章小結(jié)119
習(xí)題8119第9章文件121
9.1文件的類(lèi)型121
9.2文件名122
9.3文件的位置指針與讀寫(xiě)方式122
9.4FILE類(lèi)型指針122
9.5標(biāo)準(zhǔn)文件123
9.6流123
9.7文件的輸入輸出124
9.7.1文件的打開(kāi)與關(guān)閉124
9.7.2文件的順序讀寫(xiě)126
9.7.3文件的格式化讀寫(xiě)130
9.7.4二進(jìn)制文件的讀寫(xiě)133
本章小結(jié)135
習(xí)題9135第二部分應(yīng)用篇第10章圖形設(shè)計(jì)139
10.1基本函數(shù)139
10.1.1繪圖窗體設(shè)置139
10.1.2顏色設(shè)置139
10.1.3像素函數(shù)141
10.1.4線(xiàn)型函數(shù)143
10.1.5多邊形146
10.1.6曲線(xiàn)函數(shù)149
10.1.7書(shū)寫(xiě)文字151
10.2案例153
本章小結(jié)155
習(xí)題10156第11章Visual C 6.0程序設(shè)計(jì)157
11.1創(chuàng)建簡(jiǎn)單的MFC應(yīng)用程序157
11.1.1建立MFC應(yīng)用程序的工程文件157
11.1.2主要工程文件說(shuō)明158
11.1.3應(yīng)用程序的可視化設(shè)計(jì)160
11.1.4應(yīng)用程序的代碼編程160
11.2MFC應(yīng)用程序案例165
11.3在Visual C 環(huán)境下的C程序設(shè)計(jì)174
本章小結(jié)175
習(xí)題11175第12章Keil C51程序設(shè)計(jì)176
12.1Keil C51程序設(shè)計(jì)基本語(yǔ)法176
12.1.1Keil C51程序的一般結(jié)構(gòu)176
12.1.2擴(kuò)充的數(shù)據(jù)類(lèi)型177
12.1.3運(yùn)算符和表達(dá)式177
12.1.4基本語(yǔ)句178
12.1.5中斷服務(wù)函數(shù)178
12.2Keil Vision3軟件基本操作179
12.2.1軟件安裝與啟動(dòng)179
12.2.2創(chuàng)建項(xiàng)目179
12.2.3添加用戶(hù)源程序文件180
12.2.4項(xiàng)目的設(shè)置182
12.2.5程序的編譯與調(diào)試185
12.3虛擬仿真工具Proteus簡(jiǎn)介186
12.4案例: 流水燈190
本章小結(jié)194
習(xí)題12194第13章MySpringC程序設(shè)計(jì)195
13.1MySpringC開(kāi)發(fā)環(huán)境195
13.2MySpringC支持的數(shù)據(jù)類(lèi)型196
13.3MySpringC支持的語(yǔ)句197
13.3.1變量定義與賦值197
13.3.2控制流198
13.3.3屏幕輸出語(yǔ)句print200
13.3.4用戶(hù)交互界面201
13.4常用的函數(shù)202
13.4.1數(shù)學(xué)函數(shù)202
13.4.2字符串函數(shù)203
13.5文本文件的讀寫(xiě)204
13.6繪圖功能207
13.7收發(fā)短信210
本章小結(jié)212
習(xí)題13212第14章C語(yǔ)言編譯器手機(jī)版213
14.1軟件特色213
14.2使用方法213
本章小結(jié)215
習(xí)題14215附錄附錄A常用字符ASCII碼值對(duì)照表219附錄BC語(yǔ)言關(guān)鍵字220附錄C常用庫(kù)函數(shù)222附錄DRGB顏色對(duì)照表226附錄E部分習(xí)題參考答案227