本書(shū)主要介紹了C語(yǔ)言的基本概念、主要特點(diǎn)、Turbo C集成環(huán)境的使用;C語(yǔ)言的數(shù)據(jù)類(lèi)型、C程序結(jié)構(gòu)組成與設(shè)計(jì)方法;C函數(shù)的分類(lèi)與調(diào)用、數(shù)組、文件與指針操作等。本書(shū)根據(jù)中等職業(yè)教育需求,重點(diǎn)突出其實(shí)用性、科學(xué)性和先進(jìn)性。適合中職學(xué)生及社會(huì)培訓(xùn)人員初學(xué)者使用。
本書(shū)第2版是根據(jù)教育部頒發(fā)的《編程語(yǔ)言基礎(chǔ)》課程教學(xué)大綱于2002年初編寫(xiě)發(fā)行的,適合中等職業(yè)學(xué)校計(jì)算機(jī)及應(yīng)用專(zhuān)業(yè)的學(xué)生使用。出版后被多個(gè)省、市的中等職業(yè)學(xué)校采用,除作為專(zhuān)業(yè)教材外,還被許多相近專(zhuān)業(yè)選作為選修課教材,并受到了C語(yǔ)言愛(ài)好者和初學(xué)者的普遍歡迎,使用效果良好,發(fā)行量較大。幾年來(lái),出版社和作者通過(guò)多次與各地的一線教師交流經(jīng)驗(yàn),汲取了許多好的意見(jiàn)和建議,再加上IT行業(yè)形勢(shì)的不斷發(fā)展和教學(xué)環(huán)境的不斷改善,以及作者的教學(xué)實(shí)踐體會(huì),本次再版做了不少改動(dòng)和更新,使本書(shū)更加突出了實(shí)用性、科學(xué)性和先進(jìn)性。但本書(shū)仍保留了原書(shū)的基本結(jié)構(gòu)和風(fēng)格,如:緊扣教學(xué)大綱,在教學(xué)內(nèi)容安排上采用模塊化、單元化的結(jié)構(gòu);在敘述方法上采用由淺入深、由易到難的原則(且盡量將難點(diǎn)分散);在實(shí)踐安排上增加上機(jī)單元,突出技能訓(xùn)練。在每一部分內(nèi)容中,都有基本概念介紹、知識(shí)運(yùn)用舉例、編程及算法分析、思考練習(xí)題、上機(jī)指導(dǎo)與實(shí)訓(xùn)等。這樣安排,使學(xué)生更容易理解、消化、掌握各單元、各模塊的學(xué)習(xí)內(nèi)容。
本次修訂,突出了以下幾個(gè)方面:對(duì)第一版中的某些概念進(jìn)行了重新歸類(lèi);有的章節(jié)在標(biāo)題、組織結(jié)構(gòu)、以及行文等方面都做了較大的改動(dòng);對(duì)各章的例題、習(xí)題、上機(jī)實(shí)訓(xùn)內(nèi)容進(jìn)行了修訂、更新和擴(kuò)充。全書(shū)內(nèi)容和參考學(xué)時(shí)安排如下表所示:
分 類(lèi) 序 號(hào) 課 程 內(nèi) 容 學(xué)
時(shí) 數(shù)
基礎(chǔ)
知識(shí)
模塊 1 C語(yǔ)言概述 2 (2)
2 基本數(shù)據(jù)類(lèi)型和簡(jiǎn)單程序設(shè)計(jì) 6
3 表達(dá)式與運(yùn)算符 3 (2)
4 數(shù)據(jù)的輸入與輸出 5
5 控制結(jié)構(gòu)程序設(shè)計(jì) 16
6 數(shù)組 8 (2)
7 函數(shù) 10
8 文件 4 (2)
可選
模塊 9 編譯預(yù)處理 2
10 指針 8
機(jī) 動(dòng) 8
合 計(jì) 27
本書(shū)大綱給出的參考教學(xué)時(shí)數(shù)為72學(xué)時(shí),其中授課時(shí)間為44學(xué)時(shí),上機(jī)實(shí)習(xí)20學(xué)時(shí),機(jī)動(dòng)為8學(xué)時(shí)。根據(jù)各章內(nèi)容的多寡,我們?cè)诟髡轮薪o出了課時(shí)安排建議供備課時(shí)參考。機(jī)動(dòng)學(xué)時(shí)基本想法是加在上機(jī)實(shí)習(xí)上,有的講授內(nèi)容可以結(jié)合上機(jī)進(jìn)行講解。
本書(shū)的編寫(xiě)和出版工作由電子工業(yè)出版社組織實(shí)施,王森教授擔(dān)任主編和統(tǒng)稿,并編寫(xiě)了第2、4、5、8章及附錄,成都職業(yè)技術(shù)學(xué)院向華老師編寫(xiě)了第1、6、7章,山東信息職業(yè)技術(shù)學(xué)院季昌武、韓鳳文老師編寫(xiě)了第3、9、10章。在本書(shū)編寫(xiě)過(guò)程中,得到了出版社和同行老師們的支持與幫助,在此一并表示誠(chéng)摯的感謝!由于作者水平有限,書(shū)中難免存有缺點(diǎn)和錯(cuò)誤,殷切希望廣大讀者批評(píng)指正。
為了方便教師教學(xué),本書(shū)還配有教學(xué)指南、電子教案及習(xí)題答案(電子版)。請(qǐng)有此需要的教師登錄華信教育資源網(wǎng)(www.huaxin.edu.cn或www.hxedu.com.cn)免費(fèi)注冊(cè)后再進(jìn)行下載,有問(wèn)題時(shí)請(qǐng)?jiān)诰W(wǎng)站留言板留言或與電子工業(yè)出版社聯(lián)系(E-mail:hxedu@phei.com.cn)。
編 者
2017年5月
作者王森,性別男,工作單位為解放軍軍械工程學(xué)院,學(xué)歷為本科,教授,所學(xué)專(zhuān)業(yè)為計(jì)算機(jī)應(yīng)用專(zhuān)業(yè)。我社老作者,編寫(xiě)的C語(yǔ)言編程(第2版)銷(xiāo)量非常好。
第一篇 基礎(chǔ)知識(shí)模塊
第1章 C語(yǔ)言概述3
1.1 C語(yǔ)言簡(jiǎn)史及特點(diǎn)3
1.1.1 C語(yǔ)言的發(fā)展3
1.1.2 C語(yǔ)言的特點(diǎn)4
1.2 C語(yǔ)言程序4
1.2.1 幾個(gè)典型的C程序4
1.2.2 C程序的基本結(jié)構(gòu)6
1.2.3 C語(yǔ)言的基本符號(hào)與詞匯6
1.3 C語(yǔ)言集成開(kāi)發(fā)環(huán)境8
1.3.1 Turbo C集成開(kāi)發(fā)環(huán)境介紹8
1.3.2 Turbo C集成開(kāi)發(fā)環(huán)境的使用8
習(xí)題一11
上機(jī)實(shí)習(xí)指導(dǎo)12
上機(jī)實(shí)習(xí) Turbo C的基本操作13
第2章 數(shù)據(jù)類(lèi)型和簡(jiǎn)單程序設(shè)計(jì)16
2.1 基本知識(shí)16
2.1.1 C語(yǔ)言的數(shù)據(jù)類(lèi)型16
2.1.2 常量與變量的使用16
2.1.3 C語(yǔ)句17
2.1.4 結(jié)構(gòu)化程序設(shè)計(jì)方法18
2.2 整型數(shù)據(jù)19
2.2.1 整型常量19
2.2.2 整型變量及分類(lèi)19
2.2.3 整數(shù)運(yùn)算的程序設(shè)計(jì)21
2.3 浮點(diǎn)型數(shù)據(jù)22
2.3.1 浮點(diǎn)常數(shù)22
2.3.2 浮點(diǎn)型變量與分類(lèi)22
2.3.3 符點(diǎn)數(shù)運(yùn)算的程序設(shè)計(jì)23
2.4 字符型數(shù)據(jù)24
2.4.1 字符常數(shù)24
2.4.2 字符變量及分類(lèi)25
2.4.3 字符串26
2.4.4 最簡(jiǎn)單的字符和字符串處理程序27
2.5 類(lèi)型的混合運(yùn)算28
2.5.1 類(lèi)型的自動(dòng)轉(zhuǎn)換28
2.5.2 類(lèi)型的強(qiáng)制轉(zhuǎn)換29
習(xí)題二30
上機(jī)實(shí)習(xí)指導(dǎo)32
上機(jī)實(shí)習(xí) 基本數(shù)據(jù)類(lèi)型的簡(jiǎn)單程序設(shè)計(jì)33
第3章 表達(dá)式與運(yùn)算符35
3.1 概述35
3.1.1 表達(dá)式35
3.1.2 運(yùn)算符36
3.2 算術(shù)運(yùn)算符與算術(shù)表達(dá)式36
3.2.1 算術(shù)運(yùn)算符36
3.2.2 算術(shù)表達(dá)式37
3.3 其他運(yùn)算符的應(yīng)用39
3.3.1 賦值運(yùn)算符和賦值表達(dá)式39
3.3.2 自增和自減運(yùn)算符40
3.3.3 條件運(yùn)算符和條件表達(dá)式41
3.3.4 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式43
3.3.5 sizeof運(yùn)算符44
3.4 運(yùn)算符的優(yōu)先級(jí)與結(jié)合性44
習(xí)題三45
上機(jī)實(shí)習(xí)指導(dǎo)46
上機(jī)實(shí)習(xí) 運(yùn)算符及表達(dá)式應(yīng)用47
第4章 數(shù)據(jù)的輸入與輸出49
4.1 字符輸入/輸出函數(shù)49
4.1.1 字符輸入函數(shù)getchar()49
4.1.2 字符輸出函數(shù)putchar()50
4.1.3 字符的連續(xù)輸入/輸出51
4.2 按格式輸入/輸出函數(shù)52
4.2.1 按格式輸出函數(shù)printf()52
4.2.2 按格式輸入函數(shù)scanf()57
習(xí)題四62
上機(jī)實(shí)習(xí)指導(dǎo)64
上機(jī)實(shí)習(xí)一 字符的輸入/輸出65
上機(jī)實(shí)習(xí)二 格式輸入/輸出函數(shù)的使用67
第5章 控制結(jié)構(gòu)程序設(shè)計(jì)69
5.1 關(guān)系表達(dá)式與邏輯表達(dá)式69
5.1.1 關(guān)系運(yùn)算符與關(guān)系表達(dá)式69
5.1.2 邏輯運(yùn)算符與邏輯表達(dá)式70
5.2 條件選擇語(yǔ)句if71
5.2.1 if語(yǔ)句的三種形式71
5.2.2 條件分支程序設(shè)計(jì)舉例73
5.3 開(kāi)關(guān)語(yǔ)句switch75
5.3.1 switch語(yǔ)句結(jié)構(gòu)形式75
5.3.2 多路選擇程序設(shè)計(jì)舉例77
5.4 循環(huán)語(yǔ)句79
5.4.1 for語(yǔ)句79
5.4.2 while語(yǔ)句83
5.4.3 do-while語(yǔ)句85
5.5 中止語(yǔ)句break和繼續(xù)語(yǔ)句continue87
5.5.1 break語(yǔ)句87
5.5.2 continue語(yǔ)句88
5.6 無(wú)條件轉(zhuǎn)移語(yǔ)句goto88
5.6.1 goto語(yǔ)句的格式88
5.6.2 goto語(yǔ)句應(yīng)用舉例89
習(xí)題五89
上機(jī)實(shí)習(xí)指導(dǎo)91
上機(jī)實(shí)習(xí)一 關(guān)系表達(dá)式和邏輯表達(dá)式91
上機(jī)實(shí)習(xí)二 if語(yǔ)句93
上機(jī)實(shí)習(xí)三 switch語(yǔ)句94
上機(jī)實(shí)習(xí)四 for語(yǔ)句96
上機(jī)實(shí)習(xí)五 while語(yǔ)句和do-while語(yǔ)句97
第6章 數(shù)組99
6.1 一維數(shù)組的定義和引用99
6.1.1 一維數(shù)組的定義99
6.1.2 一維數(shù)組的引用100
6.1.3 一維數(shù)組的初始化103
6.1.4 一維數(shù)組應(yīng)用舉例103
6.2 二維數(shù)組的定義和引用105
6.2.1 二維數(shù)組的定義105
6.2.2 二維數(shù)組的引用107
6.2.3 二維數(shù)組的初始化107
6.2.4 二維數(shù)組應(yīng)用舉例109
6.3 字符數(shù)組109
6.3.1 字符數(shù)組的定義和初始化110
6.3.2 字符數(shù)組的引用110
6.3.3 字符串與字符數(shù)組111
6.3.4 字符串的輸入、輸出和處理111
習(xí)題六116
上機(jī)實(shí)習(xí)指導(dǎo)117
上機(jī)實(shí)習(xí)一 數(shù)值型數(shù)組119
上機(jī)實(shí)習(xí)二 字符型數(shù)組121
第7章 函數(shù)124
7.1 函數(shù)概述124
7.1.1 為什么要使用函數(shù)124
7.1.2 庫(kù)函數(shù)和用戶自定義函數(shù)125
7.2 函數(shù)的定義125
7.2.1 函數(shù)定義的一般形式125
7.2.2 有關(guān)函數(shù)定義的幾點(diǎn)說(shuō)明126
7.3 函數(shù)參數(shù)及返回值127
7.3.1 函數(shù)參數(shù)127
7.3.2 函數(shù)的返回值129
7.4 函數(shù)的調(diào)用130
7.4.1 函數(shù)的語(yǔ)句調(diào)用130
7.4.2 函數(shù)表達(dá)式調(diào)用131
7.4.3 函數(shù)的遞歸調(diào)用133
7.4.4 函數(shù)的嵌套調(diào)用135
7.5 數(shù)組作函數(shù)參數(shù)136
7.5.1 數(shù)組元素作函數(shù)參數(shù)136
7.5.2 數(shù)組名作函數(shù)參數(shù)136
7.6 變量的作用域和生存期138
7.6.1 變量的作用域138
7.6.2 變量的生存期141
7.7 函數(shù)的作用域143
7.7.1 內(nèi)部函數(shù)143
7.7.2 外部函數(shù)143
習(xí)題七144
上機(jī)實(shí)習(xí)指導(dǎo)147
上機(jī)實(shí)習(xí)一 函數(shù)的定義和調(diào)用148
上機(jī)實(shí)習(xí)二 局部變量和全局變量150
上機(jī)實(shí)習(xí)三 一個(gè)應(yīng)用程序的設(shè)計(jì)152
第8章 文件156
8.1 C語(yǔ)言文件概述156
8.1.1 C語(yǔ)言文件的存儲(chǔ)方式及分類(lèi)156
8.1.2 文件指針157
8.2 文件的打開(kāi)與關(guān)閉157
8.2.1 文件的打開(kāi)(fopen()函數(shù))157
8.2.2 文件的關(guān)閉(fclose( )函數(shù))159
8.3 文件的讀寫(xiě)159
8.3.1 字符的輸入和輸出159
8.3.2 字符串的輸入和輸出161
8.3.3 按格式輸入和輸出162
8.4 隨機(jī)文件的讀寫(xiě)164
8.4.1 fseek( )函數(shù)164
8.4.2 fread( )與fwrite( )函數(shù)164
習(xí)題八166
上機(jī)實(shí)習(xí)指導(dǎo)167
上機(jī)實(shí)習(xí)一 文件的順序讀寫(xiě)168
上機(jī)實(shí)習(xí)二 文件的隨機(jī)讀寫(xiě)170
第二篇 選用模塊
第9章 編譯預(yù)處理175
9.1 宏定義175
9.1.1 不帶參數(shù)的宏定義175
9.1.2 帶參數(shù)的宏定義176
9.2 文件包含178
9.2.1 使用格式178
9.2.2 使用說(shuō)明179
9.3 條件編譯179
9.3.1 形式1179
9.3.2 形式2180
9.3.3 形式3180
習(xí)題九181
第10章 指針184
10.1 指針概述184
10.1.1 變量的地址與指針變量184
10.1.2 指針變量的定義185
10.1.3 指針變量的操作186
10.2 指針與數(shù)組188
10.2.1 一維數(shù)組的指針188
10.2.2 二維數(shù)組的指針190
10.2.3 指向字符串的指針192
10.3 指針與函數(shù)193
10.3.1 指針作為函數(shù)的參數(shù)193
10.3.2 返回指針值的函數(shù)196
10.3.3 指向函數(shù)的指針197
習(xí)題十199
上機(jī)實(shí)習(xí)指導(dǎo)201
上機(jī)實(shí)習(xí) 指針的簡(jiǎn)單應(yīng)用202
附錄A ASCII碼字符表204
附錄B Turbo C庫(kù)函數(shù)簡(jiǎn)介205
附錄C Turbo C編譯錯(cuò)誤信息213