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