本書匯集了作者多年教學(xué)改革的實(shí)踐經(jīng)驗(yàn)和行業(yè)實(shí)踐,與多所高職院校一線教師和企業(yè)一線工程師聯(lián)合編寫,按照學(xué)生學(xué)歷層次及應(yīng)用范圍,知識(shí)點(diǎn)由淺入深、逐步推進(jìn),使學(xué)生能夠輕松掌握C語言的語法知識(shí),逐步提高閱讀程序、調(diào)試程序、編寫程序的能力,尤其注重結(jié)合實(shí)際應(yīng)用進(jìn)行能力訓(xùn)練。本書主要內(nèi)容包括:C語言程序設(shè)計(jì)概述、基本語法、輸入/輸出函數(shù)、結(jié)構(gòu)化程序設(shè)計(jì)、數(shù)組、指針、函數(shù)、結(jié)構(gòu)體與共用體、C 語言應(yīng)用。
C 語言是一門通用計(jì)算機(jī)編程語言,既具有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn),應(yīng)用廣泛。C 語言的設(shè)計(jì)目標(biāo)是提供一種能以簡易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。因此,C 語言具
有以下特點(diǎn):
(1)語句簡潔、緊湊,使用方便、靈活。
(2)同時(shí)具備高級(jí)語言和低級(jí)語言的特征。
(3)結(jié)構(gòu)化語言,具有結(jié)構(gòu)化的控制語句。
(4)數(shù)據(jù)類型豐富。
(5)具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器;而且計(jì)算功能、邏輯判斷功能也比較強(qiáng)大,可實(shí)現(xiàn)決策目的。
(6)具有良好的跨平臺(tái)性、可移植性,適用范圍廣。
(7)生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。
C 語言結(jié)構(gòu)簡單、使用靈活,非常適合作為程序設(shè)計(jì)學(xué)習(xí)的入門級(jí)語言。本書的編寫目的是按照程序設(shè)計(jì)領(lǐng)域?qū)χ、低端編程崗位的需求,兼顧高端?jì)算機(jī)軟件編程參考書籍的需要,按照高職院校計(jì)算機(jī)相關(guān)專業(yè)人才培養(yǎng)方向,由多位長期從事高職教育的教師和企業(yè)一線具有軟件開發(fā)經(jīng)驗(yàn)的高級(jí)工程師共同編寫。本書針對(duì)高職院校學(xué)生學(xué)習(xí)C 語言的基本知識(shí)和行業(yè)應(yīng)用,以企業(yè)崗位需求倒推能力培養(yǎng),由淺入深、逐步推進(jìn),讓學(xué)生能夠輕松掌握C語言的語法知識(shí),培養(yǎng)學(xué)生編寫、調(diào)試程序的技能,以及一定的應(yīng)用程序開發(fā)能力。教材的基本特點(diǎn)如下:
_x0001_ 知識(shí)點(diǎn)由淺入深,教學(xué)應(yīng)用與企業(yè)實(shí)際應(yīng)用結(jié)合。
程序結(jié)構(gòu)、例程分析詳細(xì),注重程序設(shè)計(jì)思想引導(dǎo)。
C語言應(yīng)用方向突出,解決實(shí)際工程常用計(jì)算、圖形界面、硬件控制、通信等問題。本書共分為9章,內(nèi)容包括:C語言程序設(shè)計(jì)概述、基本語法、輸入/輸出函數(shù)、結(jié)構(gòu)化程序設(shè)計(jì)、數(shù)組、指針、函數(shù)、結(jié)構(gòu)體與共用體、C語言應(yīng)用,另外包括五個(gè)附錄:全國計(jì)算機(jī)等級(jí)考試(二級(jí)C 語言程序設(shè)計(jì))模擬題、C 語言關(guān)鍵字、C 語言運(yùn)算符、ASCII 值對(duì)照表、C 語言標(biāo)準(zhǔn)庫函數(shù)。本書配有同步訓(xùn)練手冊《C 語言程序設(shè)計(jì)實(shí)訓(xùn)指導(dǎo)與習(xí)題》和配套教學(xué)資源。
本書適合作為高職院校學(xué)生C 語言程序設(shè)計(jì)課程的教材,也可作為高校本科層次、成人教育、社會(huì)培訓(xùn)的教材,還可作為C語言自學(xué)者的教材或參考書。
王建中,重慶青年職業(yè)技術(shù)學(xué)院教務(wù)處副處長,從事信息化建設(shè)以及軟件工程、JSP程序設(shè)計(jì)、計(jì)算機(jī)應(yīng)用基礎(chǔ)教學(xué)。主持過對(duì)俄引進(jìn)激光捷聯(lián)慣性導(dǎo)航系統(tǒng)及國產(chǎn)化、國防科工委重點(diǎn)項(xiàng)目等,發(fā)表論文10余篇,其中核心期刊2篇。馬力,碩士,講師,任教于重慶青年職業(yè)技術(shù)學(xué)院,從事計(jì)算機(jī)應(yīng)用的基礎(chǔ)教學(xué)工作多年。何東,碩士,高級(jí)工程師,任教于重慶城市職業(yè)學(xué)院,從事通信,嵌入式、物聯(lián)網(wǎng)等學(xué)科的教學(xué)工作。
第1 章 C 語言程序設(shè)計(jì)概述 1
1.1 C 語言的特點(diǎn). 1
1.1.1 C 語言的發(fā)展概況. 1
1.1.2 C 程序的特點(diǎn). 2
1.2 C 語言程序介紹. 2
1.2.1 C 語言程序結(jié)構(gòu). 2
1.2.2 C 語言程序中的字符集 4
1.3 C程序編譯環(huán)境、步驟和方法 6
1.3.1 Turbo C 集成開發(fā)環(huán)境. 6
1.3.2 VC6.0 集成開發(fā)環(huán)境 10
第2 章
基本語法. 15
2.1 C 語言的數(shù)據(jù)類型. 15
2.1.1 C 語言數(shù)據(jù)類型概述. 15
2.1.2 基本的數(shù)據(jù)類型. 16
2.1.3 基本數(shù)據(jù)類型的修飾. 16
2.2 常量和變量 16
2.2.1 常量 16
2.2.2 變量 17
2.3 整型數(shù)據(jù) 20
2.3.1 整型常量 20
2.3.2 整型變量 21
2.4 實(shí)型數(shù)據(jù) 23
2.4.1 實(shí)型常量 23
2.4.2 實(shí)型變量 23
2.5 浮點(diǎn)型 25
2.5.1 浮點(diǎn)型數(shù)據(jù)定義. 25
2.5.2 浮點(diǎn)型數(shù)據(jù)類型. 26
2.5.3 浮點(diǎn)型常量 27
2.5.4 浮點(diǎn)型變量 27
2.6 字符型數(shù)據(jù) 28
2.6.1 字符型常量 28
2.6.2 字符型變量的定義. 28
2.6.3 字符型變量的賦值. 29
2 C語言程序設(shè)計(jì)
2.6.4 字符串常量及其輸出. 29
2.7 賦值運(yùn)算符與賦值表達(dá)式. 29
2.7.1 C 語言的運(yùn)算符和表達(dá)式 29
2.7.2 賦值運(yùn)算符和賦值表達(dá)式. 30
2.8 算術(shù)運(yùn)算符與算術(shù)表達(dá)式. 31
2.8.1 基本算術(shù)運(yùn)算符. 31
2.8.2 算術(shù)表達(dá)式 32
第3 章
輸入/輸出函數(shù). 33
3.1 數(shù)據(jù)的格式化輸出. 33
3.1.1 使用printf()函數(shù)格式化輸出. 33
3.1.2 格式字符 34
3.2 數(shù)據(jù)的格式化輸入. 36
3.2.1 scanf 函數(shù)的一般形式 36
3.2.2 scanf 函數(shù)中的格式聲明 37
3.2.3 使用scanf 應(yīng)注意的問題. 38
3.3 字符的輸入和輸出. 38
3.3.1 使用putchar 函數(shù)輸出一個(gè)字符 38
3.3.2 用getchar 函數(shù)輸入一個(gè)字符 39
3.4 宏定義與宏替換. 40
3.4.1 簡單的宏定義 40
3.4.2 帶參數(shù)的宏定義. 40
3.4.3 #undef 的用法 41
第4 章
結(jié)構(gòu)化程序設(shè)計(jì). 42
4.1 程序算法基礎(chǔ) 42
4.1.1 程序設(shè)計(jì)基本概念. 42
4.1.2 算法的特性 43
4.1.3 算法的描述 45
4.1.4 程序設(shè)計(jì)方法 48
4.2 關(guān)系運(yùn)算符與關(guān)系表達(dá)式. 50
4.2.1 關(guān)系運(yùn)算符及其優(yōu)先級(jí). 50
4.2.2 關(guān)系表達(dá)式 50
4.3 邏輯運(yùn)算符與邏輯表達(dá)式. 51
4.3.1 邏輯運(yùn)算符及其優(yōu)先級(jí). 51
4.3.2 邏輯表達(dá)式 51
4.4 條件運(yùn)算符和條件表達(dá)式. 51
4.5 順序結(jié)構(gòu)程序設(shè)計(jì). 52
4.6 選擇結(jié)構(gòu)程序設(shè)計(jì). 54
4.6.1 if 語句 55
4.6.2 switch 語句. 63
4.7 循環(huán)結(jié)構(gòu)程序設(shè)計(jì). 66
4.7.1 goto 語句及其構(gòu)成的循環(huán) 67
4.7.2 while 語句 67
4.7.3 do-while 語句 70
4.7.4 for 語句 72
4.7.5 break 語句和continue 語句 74
4.7.6 循環(huán)嵌套 77
4.7.7 循環(huán)結(jié)構(gòu)的綜合實(shí)例. 78
第5 章
數(shù)組 81
5.1 數(shù)組的概念 81
5.2 一維數(shù)組 81
5.2.1 一維數(shù)組的定義. 81
5.2.2 一維數(shù)組的初始化. 82
5.2.3 一維數(shù)組的引用. 83
5.2.4 一維數(shù)組的使用. 84
5.3 二維數(shù)組 89
5.3.1 二維數(shù)組的定義. 89
5.3.2 二維數(shù)組的初始化. 89
5.3.3 二維數(shù)組的引用. 90
5.3.4 二維數(shù)組的使用. 91
5.3.5 多維數(shù)組 93
5.4 字符數(shù)組 94
5.4.1 字符數(shù)組的定義. 94
5.4.2 字符數(shù)組的初始化. 94
5.4.3 字符串的輸入和輸出. 95
5.4.4 字符串函數(shù) 98
5.4.5 二維字符數(shù)組.100
5.4.6 字符數(shù)組和字符串的使用100
第6 章
指針 104
6.1 地址、指針和指針變量104
6.1.1 地址與指針.104
6.1.2 指針變量的定義105
6.1.3 指針變量的引用105
6.2 指針與函數(shù).109
6.2.1 指針作為函數(shù)的參數(shù)109
6.2.2 指向函數(shù)的指針111
6.2.3 函數(shù)的返回值是指針(返回指針的函數(shù))
.112
6.3 指針與數(shù)組.113
4 C語言程序設(shè)計(jì)
6.3.1 指針與一維數(shù)組113
6.3.2 指針與二維數(shù)組120
6.4 指針與字符串.123
6.4.1 字符串的表示與引用123
6.4.2 字符串指針作函數(shù)參數(shù)124
6.5 指針數(shù)組.125
6.6 指向指針的指針127
第7 章
函數(shù) 129
7.1 函數(shù)概述.129
7.2 函數(shù)聲明.130
7.2.1 無參函數(shù)的一般形式130
7.2.2 有參函數(shù)的一般形式130
7.3 函數(shù)的參數(shù)與函數(shù)的返回值132
7.3.1 形式參數(shù)與實(shí)際參數(shù)132
7.3.2 函數(shù)的返回值.133
7.4 函數(shù)調(diào)用.134
7.4.1 函數(shù)調(diào)用的方法134
7.4.2 函數(shù)調(diào)用時(shí)參數(shù)間的傳遞135
7.5 函數(shù)的嵌套與遞歸調(diào)用136
7.5.1 函數(shù)的嵌套調(diào)用136
7.5.2 函數(shù)的遞歸調(diào)用137
第8 章
結(jié)構(gòu)體與共用體. 140
8.1 結(jié)構(gòu)體類型及變量140
8.1.1 結(jié)構(gòu)體類型的定義140
8.1.2 結(jié)構(gòu)體變量的定義142
8.1.3 結(jié)構(gòu)體變量的初始化143
8.1.4 結(jié)構(gòu)體變量的引用143
8.1.5 結(jié)構(gòu)體變量應(yīng)用舉例145
8.2 結(jié)構(gòu)體數(shù)組.146
8.2.1 結(jié)構(gòu)體數(shù)組的定義146
8.2.2 結(jié)構(gòu)體數(shù)組的初始化146
8.2.3 結(jié)構(gòu)體數(shù)組的應(yīng)用147
8.3 結(jié)構(gòu)體指針.149
8.3.1 指向一個(gè)結(jié)構(gòu)體變量的指針149
8.3.2 指向一個(gè)結(jié)構(gòu)體數(shù)組的指針150
8.4 共用體.152
8.4.1 共用體類型的定義152
8.4.2 共用體變量的定義152
8.4.3 共用體的特點(diǎn).153
8.4.4 共用體應(yīng)用舉例153
8.5 枚舉.154
8.5.1 枚舉類型的定義154
8.5.2 枚舉變量的定義154
8.5.3 枚舉變量的引用155
8.5.4 枚舉應(yīng)用.156
8.6 結(jié)構(gòu)體應(yīng)用實(shí)例157
第9 章 C 語言應(yīng)用 160
9.1 常用算法.160
9.1.1 排序算法.160
9.1.2 常用運(yùn)算.173
9.1.3 矩陣運(yùn)算.180
9.1.4 其他運(yùn)算.186
9.2 文件操作.189
9.2.1 文件.189
9.2.2 讀寫字符.190
9.2.3 文件指針.191
9.3 圖形編程.193
9.3.1 屏幕設(shè)置.193
9.3.2 學(xué)會(huì)更多的繪圖函數(shù)196
9.3.3 實(shí)現(xiàn)簡單動(dòng)畫.198
9.3.4 捕獲按鍵動(dòng)畫的簡單控制.201
9.4 鍵盤操作.209
9.4.1 鍵盤函數(shù)bioskey.209
9.4.2 鍵盤函數(shù)kbhit 210
9.5 C 語言常用算法211
9.5.1 串口通信分類.211
9.5.2 串口通信電氣連接213
9.5.3 串口常用函數(shù).214
9.5.4 串口程序.216
附錄A 全國計(jì)算機(jī)等級(jí)考試(二級(jí)C 語言程序設(shè)計(jì))模擬題. 225
附錄B C 語言關(guān)鍵字. 235
附錄C C 語言運(yùn)算符. 237
附錄D ASCII 值對(duì)照表 239
附錄E C 語言標(biāo)準(zhǔn)庫函數(shù) 242
參考文獻(xiàn). 246