本書匯集了作者多年教學(xué)改革的實踐經(jīng)驗和行業(yè)實踐,與多所高職院校一線教師和企業(yè)一線工程師聯(lián)合編寫,按照學(xué)生學(xué)歷層次及應(yīng)用范圍,知識點由淺入深、逐步推進(jìn),使學(xué)生能夠輕松掌握C語言的語法知識,逐步提高閱讀程序、調(diào)試程序、編寫程序的能力,尤其注重結(jié)合實際應(yīng)用進(jìn)行能力訓(xùn)練。本書主要內(nèi)容包括:C語言程序設(shè)計概述、基本語法、輸入/輸出函數(shù)、結(jié)構(gòu)化程序設(shè)計、數(shù)組、指針、函數(shù)、結(jié)構(gòu)體與共用體、C 語言應(yīng)用。
C 語言是一門通用計算機編程語言,既具有高級語言的特點,又具有匯編語言的特點,應(yīng)用廣泛。C 語言的設(shè)計目標(biāo)是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機器碼以及不需要任何運行環(huán)境支持便能運行的編程語言。因此,C 語言具
有以下特點:
(1)語句簡潔、緊湊,使用方便、靈活。
(2)同時具備高級語言和低級語言的特征。
(3)結(jié)構(gòu)化語言,具有結(jié)構(gòu)化的控制語句。
(4)數(shù)據(jù)類型豐富。
(5)具有強大的圖形功能,支持多種顯示器和驅(qū)動器;而且計算功能、邏輯判斷功能也比較強大,可實現(xiàn)決策目的。
(6)具有良好的跨平臺性、可移植性,適用范圍廣。
(7)生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。
C 語言結(jié)構(gòu)簡單、使用靈活,非常適合作為程序設(shè)計學(xué)習(xí)的入門級語言。本書的編寫目的是按照程序設(shè)計領(lǐng)域?qū)χ小⒌投司幊虓徫坏男枨,兼顧高端計算機軟件編程參考書籍的需要,按照高職院校計算機相關(guān)專業(yè)人才培養(yǎng)方向,由多位長期從事高職教育的教師和企業(yè)一線具有軟件開發(fā)經(jīng)驗的高級工程師共同編寫。本書針對高職院校學(xué)生學(xué)習(xí)C 語言的基本知識和行業(yè)應(yīng)用,以企業(yè)崗位需求倒推能力培養(yǎng),由淺入深、逐步推進(jìn),讓學(xué)生能夠輕松掌握C語言的語法知識,培養(yǎng)學(xué)生編寫、調(diào)試程序的技能,以及一定的應(yīng)用程序開發(fā)能力。教材的基本特點如下:
_x0001_ 知識點由淺入深,教學(xué)應(yīng)用與企業(yè)實際應(yīng)用結(jié)合。
程序結(jié)構(gòu)、例程分析詳細(xì),注重程序設(shè)計思想引導(dǎo)。
C語言應(yīng)用方向突出,解決實際工程常用計算、圖形界面、硬件控制、通信等問題。本書共分為9章,內(nèi)容包括:C語言程序設(shè)計概述、基本語法、輸入/輸出函數(shù)、結(jié)構(gòu)化程序設(shè)計、數(shù)組、指針、函數(shù)、結(jié)構(gòu)體與共用體、C語言應(yīng)用,另外包括五個附錄:全國計算機等級考試(二級C 語言程序設(shè)計)模擬題、C 語言關(guān)鍵字、C 語言運算符、ASCII 值對照表、C 語言標(biāo)準(zhǔn)庫函數(shù)。本書配有同步訓(xùn)練手冊《C 語言程序設(shè)計實訓(xùn)指導(dǎo)與習(xí)題》和配套教學(xué)資源。
本書適合作為高職院校學(xué)生C 語言程序設(shè)計課程的教材,也可作為高校本科層次、成人教育、社會培訓(xùn)的教材,還可作為C語言自學(xué)者的教材或參考書。
王建中,重慶青年職業(yè)技術(shù)學(xué)院教務(wù)處副處長,從事信息化建設(shè)以及軟件工程、JSP程序設(shè)計、計算機應(yīng)用基礎(chǔ)教學(xué)。主持過對俄引進(jìn)激光捷聯(lián)慣性導(dǎo)航系統(tǒng)及國產(chǎn)化、國防科工委重點項目等,發(fā)表論文10余篇,其中核心期刊2篇。馬力,碩士,講師,任教于重慶青年職業(yè)技術(shù)學(xué)院,從事計算機應(yīng)用的基礎(chǔ)教學(xué)工作多年。何東,碩士,高級工程師,任教于重慶城市職業(yè)學(xué)院,從事通信,嵌入式、物聯(lián)網(wǎng)等學(xué)科的教學(xué)工作。
第1 章 C 語言程序設(shè)計概述 1
1.1 C 語言的特點. 1
1.1.1 C 語言的發(fā)展概況. 1
1.1.2 C 程序的特點. 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ù)據(jù) 23
2.4.1 實型常量 23
2.4.2 實型變量 23
2.5 浮點型 25
2.5.1 浮點型數(shù)據(jù)定義. 25
2.5.2 浮點型數(shù)據(jù)類型. 26
2.5.3 浮點型常量 27
2.5.4 浮點型變量 27
2.6 字符型數(shù)據(jù) 28
2.6.1 字符型常量 28
2.6.2 字符型變量的定義. 28
2.6.3 字符型變量的賦值. 29
2 C語言程序設(shè)計
2.6.4 字符串常量及其輸出. 29
2.7 賦值運算符與賦值表達(dá)式. 29
2.7.1 C 語言的運算符和表達(dá)式 29
2.7.2 賦值運算符和賦值表達(dá)式. 30
2.8 算術(shù)運算符與算術(shù)表達(dá)式. 31
2.8.1 基本算術(shù)運算符. 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ù)輸出一個字符 38
3.3.2 用getchar 函數(shù)輸入一個字符 39
3.4 宏定義與宏替換. 40
3.4.1 簡單的宏定義 40
3.4.2 帶參數(shù)的宏定義. 40
3.4.3 #undef 的用法 41
第4 章
結(jié)構(gòu)化程序設(shè)計. 42
4.1 程序算法基礎(chǔ) 42
4.1.1 程序設(shè)計基本概念. 42
4.1.2 算法的特性 43
4.1.3 算法的描述 45
4.1.4 程序設(shè)計方法 48
4.2 關(guān)系運算符與關(guān)系表達(dá)式. 50
4.2.1 關(guān)系運算符及其優(yōu)先級. 50
4.2.2 關(guān)系表達(dá)式 50
4.3 邏輯運算符與邏輯表達(dá)式. 51
4.3.1 邏輯運算符及其優(yōu)先級. 51
4.3.2 邏輯表達(dá)式 51
4.4 條件運算符和條件表達(dá)式. 51
4.5 順序結(jié)構(gòu)程序設(shè)計. 52
4.6 選擇結(jié)構(gòu)程序設(shè)計. 54
4.6.1 if 語句 55
4.6.2 switch 語句. 63
4.7 循環(huán)結(jié)構(gòu)程序設(shè)計. 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)的綜合實例. 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è)計
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ù)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ù)間的傳遞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 指向一個結(jié)構(gòu)體變量的指針149
8.3.2 指向一個結(jié)構(gòu)體數(shù)組的指針150
8.4 共用體.152
8.4.1 共用體類型的定義152
8.4.2 共用體變量的定義152
8.4.3 共用體的特點.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)用實例157
第9 章 C 語言應(yīng)用 160
9.1 常用算法.160
9.1.1 排序算法.160
9.1.2 常用運算.173
9.1.3 矩陣運算.180
9.1.4 其他運算.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é)會更多的繪圖函數(shù)196
9.3.3 實現(xiàn)簡單動畫.198
9.3.4 捕獲按鍵動畫的簡單控制.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 全國計算機等級考試(二級C 語言程序設(shè)計)模擬題. 225
附錄B C 語言關(guān)鍵字. 235
附錄C C 語言運算符. 237
附錄D ASCII 值對照表 239
附錄E C 語言標(biāo)準(zhǔn)庫函數(shù) 242
參考文獻(xiàn). 246