定 價(jià):26 元
叢書名:高等職業(yè)教育“十三五”規(guī)劃教材
- 作者:沈涵飛
- 出版時(shí)間:2018/8/1
- ISBN:9787111602309
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP312C
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書圖文并茂,示例豐富,對(duì)C語(yǔ)言的基礎(chǔ)知識(shí)進(jìn)行了徹底剖析,內(nèi)容涉及輸入輸出、流程控制、數(shù)組、函數(shù)、指針、文件操作等。對(duì)難以理解的概念,均精心繪制示意圖,進(jìn)行清晰、通俗地講解。本書首次將在線評(píng)測(cè)系統(tǒng)引入C語(yǔ)言教學(xué),建立了適合初學(xué)者的階梯式題庫(kù)(http://oj.csoeasy.com/),讓學(xué)生在評(píng)測(cè)過(guò)程中取得成就感,培養(yǎng)程序設(shè)計(jì)的興趣。本書配有豐富的數(shù)字資源,包括課程網(wǎng)站(http://www.csoeasy.com/)、PPT、網(wǎng)易云課堂的視頻課程等。其中視頻課程上線后,目前選課人數(shù)已超過(guò)2萬(wàn)人。本書可作為應(yīng)用型、技能型人才培養(yǎng)的計(jì)算機(jī)專業(yè)及相關(guān)專業(yè)的教學(xué)用書,也可作為C語(yǔ)言程序設(shè)計(jì)初學(xué)者的入門教材、C語(yǔ)言程序設(shè)計(jì)人員的培訓(xùn)教材或參考用書。
前言
程序設(shè)計(jì)是高職院校信息工程、計(jì)算機(jī)和電子類等專業(yè)的專業(yè)基礎(chǔ)課程,介紹程序設(shè)計(jì)的思想和方法。通過(guò)該課程的學(xué)習(xí),學(xué)生不僅要掌握程序設(shè)計(jì)語(yǔ)言的知識(shí),更重要的是在實(shí)踐中逐步掌握程序設(shè)計(jì)的思想和方法,培養(yǎng)問(wèn)題求解和編程能力。因此,這是一門突出實(shí)踐能力的特色鮮明的課程。
C 語(yǔ)言誕生于上世紀(jì)70年代初,是最早得到廣泛使用的程序設(shè)計(jì)語(yǔ)言。它既具備高級(jí)語(yǔ)言的特性,又具有直接操縱計(jì)算機(jī)硬件的能力,并以其豐富靈活的控制和數(shù)據(jù)結(jié)構(gòu)、簡(jiǎn)潔而高效的語(yǔ)句表達(dá)、清晰的程序結(jié)構(gòu)和良好的可移植性而擁有大量的使用者。目前,C 語(yǔ)言被許多高校列為程序設(shè)計(jì)課程的首選語(yǔ)言。
不僅如此,后續(xù)的許多程序設(shè)計(jì)語(yǔ)言如JAVA、PHP、C#、Python、Swift在設(shè)計(jì)上就深受C語(yǔ)言的影響,而C++、Objective-C本身就包含了C語(yǔ)言。掌握好了C語(yǔ)言,通過(guò)羅塞塔石碑學(xué)習(xí)法,很快就能掌握其他程序設(shè)計(jì)語(yǔ)言中結(jié)構(gòu)化程序設(shè)計(jì)的對(duì)應(yīng)內(nèi)容。
本書具有如下特點(diǎn):
1. 以程序設(shè)計(jì)為主線,以問(wèn)題求解為驅(qū)動(dòng),逐步引入語(yǔ)言知識(shí),在不斷實(shí)踐中來(lái)培養(yǎng)編程能力。為了讓本書的讀者更好的掌握程序設(shè)計(jì)語(yǔ)言,我搭建了C/C++/JAVA/Python程序自動(dòng)評(píng)測(cè)系統(tǒng),網(wǎng)址為http://oj.csoeasy.com/。系統(tǒng)提供了大量適合初學(xué)者的練習(xí),循序漸進(jìn),逐步提高。
2. 提供了豐富的學(xué)習(xí)資源。早在2014年5月,《新思維:C語(yǔ)言程序設(shè)計(jì)》課程就在網(wǎng)易云課堂上線,網(wǎng)址為:http://study.163.com/course/introduction/752005.htm。上線之初,就以新穎的教學(xué)理念,獲得了網(wǎng)易云課堂首頁(yè)連續(xù)一個(gè)月的推薦,至今選課人數(shù)已經(jīng)超過(guò)2萬(wàn)人。除此之外,本書還創(chuàng)建了課程網(wǎng)站 http://www.csoeasy.com/。 另外,獲得江蘇省教師現(xiàn)代教育技術(shù)應(yīng)用作品大賽多媒體課件組一等獎(jiǎng)的《C語(yǔ)言程序設(shè)計(jì)自助練習(xí)》(http://do.feikuaixue.com/)也從校內(nèi)推廣到互聯(lián)網(wǎng)。這些學(xué)習(xí)資源在實(shí)踐應(yīng)用中獲得了高度評(píng)價(jià)。
3. 圖文并茂。全書共有插圖近60個(gè),其中超過(guò)一半是精心繪制的示意圖,對(duì)C語(yǔ)言語(yǔ)法以及一些難以理解的概念進(jìn)行通俗地講解。
4. 以C語(yǔ)言為起點(diǎn)學(xué)習(xí)程序設(shè)計(jì),但又不僅限于C語(yǔ)言,還介紹了如何依托C語(yǔ)言基礎(chǔ)去學(xué)習(xí)JAVA、PHP、Python等流行語(yǔ)言,能大大提高學(xué)習(xí)效率。
本書是在蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院信息工程學(xué)院劉正院長(zhǎng)的鼓勵(lì)和大力支持下編寫的,在編寫過(guò)程中,又得到了計(jì)算機(jī)應(yīng)用與技術(shù)系王春華老師的幫助和支持。本書也是校企合作的成果,蘇州大宇宙信息創(chuàng)造有限公司張明亮總經(jīng)理給本書提了很多建議和指導(dǎo)。沒(méi)有他們的幫助就不會(huì)有本書的面世,在此表示衷心的感謝。
寫一本書不容易,寫一本好書更不容易,雖然我把寫一本好書作為目標(biāo),但限于作者水平有限,書中難免有不足之處,懇請(qǐng)讀者批評(píng)和指正,我的電子郵箱為 shenhf@siso.edu.cn。
目錄
前言1
第1章 初識(shí)C語(yǔ)言2
1.1 計(jì)算機(jī)和程序設(shè)計(jì)語(yǔ)言2
1.1.1 計(jì)算機(jī)的發(fā)展和程序設(shè)計(jì)語(yǔ)言的產(chǎn)生2
1.1.2 機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言3
1.1.3 程序設(shè)計(jì)的開發(fā)效率和運(yùn)行效率3
1.1.4 最常見的程序設(shè)計(jì)語(yǔ)言及其用途4
1.1.5 學(xué)習(xí)程序設(shè)計(jì)從C語(yǔ)言開始5
1.2 C語(yǔ)言的發(fā)展和特點(diǎn)6
1.2.1 C語(yǔ)言的發(fā)展6
1.2.2 C語(yǔ)言的特點(diǎn)7
1.3 C語(yǔ)言程序的初步探索8
1.3.1 第1個(gè)程序:Hello, World!8
1.3.2 C/C++集成開發(fā)環(huán)境C-Free的安裝9
1.4 算術(shù)表達(dá)式的計(jì)算11
1.5 如何學(xué)好程序設(shè)計(jì):模仿、理解和運(yùn)用12
習(xí)題13
第2章 數(shù)據(jù)類型、運(yùn)算和輸入輸出14
2.1 標(biāo)識(shí)符和關(guān)鍵字14
2.2 常量和變量14
2.2.1 普通常量和符號(hào)常量14
2.2.2 變量的定義和初始化15
2.2.3 賦值類運(yùn)算符15
2.3 常用的基本數(shù)據(jù)類型的及其特點(diǎn)16
2.3.1 常用的數(shù)據(jù)類型17
2.3.2 整數(shù)類型能精確表示限定范圍內(nèi)的所有整數(shù)18
2.3.3 浮點(diǎn)數(shù)類型只能近似的表示數(shù)據(jù)19
2.4 C程序基本結(jié)構(gòu):DICO 和 A+B問(wèn)題19
2.5 程序設(shè)計(jì)在線評(píng)測(cè)系統(tǒng)20
2.6 基本算術(shù)運(yùn)算(取整和取余)21
2.7 格式化輸入:三位數(shù)反轉(zhuǎn)22
2.8 浮點(diǎn)數(shù):計(jì)算圓的周長(zhǎng)和面積22
2.9 字符類型24
2.10 強(qiáng)大、經(jīng)典的 scanf 和 printf25
2.11 在命令行編譯和運(yùn)行程序28
2.12 文件、I/O重定向和管道*29
2.12.1 一切都是文件29
2.12.2 管道機(jī)制30
習(xí)題31
第3章 分支結(jié)構(gòu)32
3.1 if-else 語(yǔ)句的三種基本形式32
3.1.1 基本結(jié)構(gòu)1:?jiǎn)畏种ЫY(jié)構(gòu)32
3.1.2 基本結(jié)構(gòu)2:雙分支結(jié)構(gòu)33
3.1.3 雙分支結(jié)構(gòu)和三元運(yùn)算符34
3.1.4 基本結(jié)構(gòu)3:多分支結(jié)構(gòu)34
3.2 語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤36
3.3 運(yùn)算符、表達(dá)式和優(yōu)先級(jí)37
3.3.1 關(guān)系運(yùn)算符與關(guān)系表達(dá)式37
3.3.2 邏輯運(yùn)算符和邏輯表達(dá)式38
3.3.3 自增自減運(yùn)算符40
3.4 邏輯運(yùn)算符的短路特性40
3.5 多路分支語(yǔ)句switch-case-break42
3.5.1 switch-case-break的基本用法42
3.5.2 多個(gè)case語(yǔ)句相同情況的處理44
3.6 代碼格式化:讓代碼清晰易讀46
3.7 C語(yǔ)言的if~else匹配問(wèn)題 *47
習(xí)題47
第4章 循環(huán)結(jié)構(gòu)49
4.1 最簡(jiǎn)單的循環(huán):簡(jiǎn)單重復(fù)49
4.1.1 代碼的優(yōu)化50
4.1.2 左閉右開50
4.2 循環(huán)表示序列:計(jì)算1~100的和51
4.2.1 累積運(yùn)算:求1~100的和51
4.2.2 計(jì)算1~100的PHP、JAVA、Swift和Python版本53
4.2.3 羅塞塔石碑語(yǔ)言學(xué)習(xí)法54
4.3 從特定的數(shù)擴(kuò)展到序列:水仙花數(shù)54
4.4 三種基本循環(huán)結(jié)構(gòu)及運(yùn)行流程56
4.5 流程圖和while循環(huán):3n+1 問(wèn)題58
4.6 do-while循環(huán):迭代法求平方根59
4.7 二重循環(huán):九九乘法表60
4.8 多重循環(huán):水仙花數(shù)61
4.9 改變循環(huán)執(zhí)行流程:break 和 continue62
4.10 while典型結(jié)構(gòu):讀取比較二合一 *63
習(xí)題65
第5章 算法和程序設(shè)計(jì)66
5.1 程序=算法+數(shù)據(jù)結(jié)構(gòu)66
5.2 算法的五大特點(diǎn)67
5.3 算法的表示67
5.3.1 流程圖68
5.3.2 N-S流程圖68
5.4 程序設(shè)計(jì)方法69
5.4.1 程序設(shè)計(jì)的一般步驟69
5.4.2 結(jié)構(gòu)化程序設(shè)計(jì)方法70
5.5 C++中的標(biāo)準(zhǔn)模板庫(kù)(STL)*70
習(xí)題72
第6章 批量數(shù)據(jù)的處理——數(shù)組73
6.1 初識(shí)數(shù)組:從一組數(shù)中找出最大值73
6.2 數(shù)組進(jìn)階:選擇排序法75
6.3 動(dòng)態(tài)申請(qǐng)數(shù)組 *77
6.4 二維數(shù)組:計(jì)算方陣對(duì)角線元素之和78
6.5 模擬:奇數(shù)階魔方(從偽代碼到C語(yǔ)言)*80
6.6 數(shù)組應(yīng)用舉例:統(tǒng)計(jì)各類字符的個(gè)數(shù)82
習(xí)題83
第7章 函數(shù)84
7.1 函數(shù)的基本知識(shí)84
7.2 函數(shù)的調(diào)用過(guò)程86
7.3 編寫自定義函數(shù)——分段函數(shù)87
7.4 函數(shù)的四種類型89
7.5 數(shù)組作為函數(shù)參數(shù):尋找數(shù)組中的最大值89
7.6 遞歸函數(shù):計(jì)算階乘和斐波那契數(shù)列90
7.7 計(jì)算程序運(yùn)行時(shí)間:遞歸和遞推的效率比較*92
7.8 經(jīng)典遞歸問(wèn)題:漢諾塔*93
7.9 編譯流程:預(yù)處理、編譯、匯編、鏈接95
7.10 全局變量、靜態(tài)變量:優(yōu)化斐波那契數(shù)列的遞歸版本97
習(xí)題99
第8章 特殊的字符數(shù)組——字符串100
8.1 字符串的聲明、輸入和輸出100
8.2 字符串的簡(jiǎn)單應(yīng)用:判斷回文101
8.3 字符數(shù)組的空間和字符串的長(zhǎng)度103
8.4 常用字符串處理函數(shù)103
8.5 字符串不是一等公民105
8.6 使用memset函數(shù)初始化數(shù)組*108
習(xí)題109
第9章 指針——地址的別名110
9.1 初識(shí)指針110
9.2 數(shù)組和指針112
9.3 函數(shù)的傳值調(diào)用和傳地址調(diào)用115
9.3.1 傳值調(diào)用115
9.3.2 傳地址調(diào)用116
9.4 字符串指針和字符數(shù)組:只讀和可寫118
9.5 指針數(shù)組和命令行參數(shù)*119
9.6 指向函數(shù)的指針:快速排序函數(shù)的應(yīng)用*121
習(xí)題122
第10章 結(jié)構(gòu)體124
10.1 初識(shí)結(jié)構(gòu)體:重寫兩點(diǎn)之間的距離124
10.2 結(jié)構(gòu)體的初始化和三種訪問(wèn)方式126
10.3 數(shù)據(jù)類型的空間分配127
10.4 初識(shí)鏈表(自引用結(jié)構(gòu))128
習(xí)題130
第11章 文件處理132
11.1 文件與流132
11.1.1 文件基礎(chǔ)知識(shí)132
11.1.2 文件和流132
11.1.3 文本文件和二進(jìn)制文件133
11.1.4 文件緩沖系統(tǒng)134
11.2 文件的打開和關(guān)閉方法134
11.3 文件的讀寫136
11.3.1 字符的讀寫:顯示文件的內(nèi)容和復(fù)制文件136
11.3.2 數(shù)據(jù)塊的讀寫:復(fù)制文件137
11.3.3 逐行處理:搜索模式串138
11.3.4 文件的格式化輸入:處理CSV文件*140
11.4 文件的定位與隨機(jī)讀寫141
習(xí)題143
附錄A 常用字符與