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