C程序設(shè)計(慕課版)
-
【作 者】劉衛(wèi)國
【I S B N 】978-7-5226-1923-1
【責(zé)任編輯】魏淵源
【適用讀者群】本專通用
【出版時間】2023-12-22
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】296
【千字?jǐn)?shù)】473
【印 張】18.5
【定 價】¥54
【叢 書】普通高等教育“十四五”規(guī)劃教材
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書以C語言作為實(shí)現(xiàn)工具,介紹程序設(shè)計的基礎(chǔ)知識與基本方法。本書的主要內(nèi)容有程序設(shè)計概述、程序的數(shù)據(jù)描述、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、函數(shù)、數(shù)組、指針、構(gòu)造數(shù)據(jù)類型、文件操作等。
本書切合培養(yǎng)程序設(shè)計能力的教學(xué)要求,突出C語言的重要概念和本質(zhì)特點(diǎn)。本書以實(shí)際問題的求解過程為向?qū)В怀鰪膯栴}到算法,再到程序的一種思維過程,強(qiáng)調(diào)計算機(jī)求解問題的思路引導(dǎo)與程序設(shè)計思維方式的訓(xùn)練,重點(diǎn)放在程序設(shè)計的思想與方法上。本書教學(xué)資源豐富,包括配套的教學(xué)參考書、大規(guī)模在線開放課程(Massive Open Online Course,MOOC)、重點(diǎn)內(nèi)容的微視頻講解以及其他教學(xué)資源。
本書既可作為高等學(xué)校程序設(shè)計課程的教材,也可作為參加各類計算機(jī)等級考試的讀者以及社會各類計算機(jī)應(yīng)用人員的參考用書。
● 結(jié)合大量實(shí)例,介紹計算機(jī)問題求解思路
突出從問題到算法再到程序的一種思維過程。
● 重點(diǎn)關(guān)注重要概念,不過分死摳語言細(xì)節(jié)
引導(dǎo)讀者在程序設(shè)計實(shí)踐中掌握語法規(guī)則。
● 根據(jù)初學(xué)者認(rèn)知,梳理知識點(diǎn)和常見錯誤
幫助讀者總結(jié)歸納課程內(nèi)容,達(dá)到鞏固提高的目的。
● 配套豐富的教學(xué)資源,方便讀者課后自學(xué)
慕課、微課、教學(xué)大綱、教學(xué)課件、習(xí)題答案、源程序等。
黨的二十大報告指出:“教育、科技、人才是全面建設(shè)社會主義現(xiàn)代化國家的基礎(chǔ)性、戰(zhàn)略性支撐。”教育是基礎(chǔ),科技是關(guān)鍵,人才是根本。在云計算、大數(shù)據(jù)、人工智能、物聯(lián)網(wǎng)、移動計算等新一代信息技術(shù)背景下,程序設(shè)計既是信息化時代各種應(yīng)用的技術(shù)基礎(chǔ),也是高素質(zhì)人才培養(yǎng)的重要內(nèi)容,其目的是介紹程序設(shè)計的基礎(chǔ)知識,使學(xué)生掌握高級語言程序設(shè)計的基本思想、方法和技術(shù),理解利用計算機(jī)解決實(shí)際問題的基本過程和思維規(guī)律,從而更好地培養(yǎng)學(xué)生的創(chuàng)新能力,為將來應(yīng)用計算機(jī)進(jìn)行科學(xué)研究等奠定堅實(shí)的基礎(chǔ)。
計算思維能力培養(yǎng)是計算機(jī)教育的重要任務(wù),而程序設(shè)計最能夠體現(xiàn)問題求解方法,是理解計算機(jī)工作過程的有效途徑,也是計算思維能力培養(yǎng)的重要載體。因此,程序設(shè)計課程的重要性不僅體現(xiàn)在一般意義上的程序設(shè)計能力的培養(yǎng),而且體現(xiàn)在引導(dǎo)學(xué)生實(shí)現(xiàn)問題求解的思維方式的轉(zhuǎn)換,即學(xué)生計算思維能力的培養(yǎng)。當(dāng)然,要實(shí)現(xiàn)計算思維能力的培養(yǎng)不是一件容易的事,這也是程序設(shè)計教學(xué)改革的重要切入點(diǎn)。本書正是按照這種改革理念,以實(shí)際問題的求解過程為向?qū)В榻B程序設(shè)計的基礎(chǔ)知識與基本方法,本書內(nèi)容強(qiáng)調(diào)計算機(jī)求解問題的思路引導(dǎo)與程序設(shè)計思維方式的訓(xùn)練,重點(diǎn)放在程序設(shè)計的思想與方法上。
C語言是目前流行的程序設(shè)計語言之一,具有程序簡潔、數(shù)據(jù)類型豐富、表達(dá)能力強(qiáng)、使用靈活、實(shí)用高效等特點(diǎn),在當(dāng)今軟件開發(fā)領(lǐng)域有著廣泛的應(yīng)用,也是高等學(xué)校常用的程序設(shè)計教學(xué)語言之一。誠然,當(dāng)下C語言程序設(shè)計的書不少。經(jīng)過分析發(fā)現(xiàn),相關(guān)教材組織模式大致有兩種,一種是按照語言的語法體系組織教材,先講語法知識,再舉例說明這些語法的應(yīng)用,這樣做的好處是語言本身的語法體系完整,便于初學(xué)者學(xué)習(xí)掌握。這實(shí)際上也是很重要的基本功。但人們擔(dān)心,專注于語法,沖淡了程序設(shè)計能力的培養(yǎng),于是就有另外一種教材組織模式,即按問題組織教材內(nèi)容,先提出問題,再尋找解決辦法,引出語法規(guī)則,這樣做的好處是將學(xué)習(xí)時的注意力放在解決問題的方法上,但顯然程序語言的系統(tǒng)性沒有了,初學(xué)者學(xué)習(xí)起來有困難。經(jīng)過多年教學(xué)改革實(shí)踐,我們認(rèn)為,突出程序設(shè)計能力培養(yǎng)是十分必要的,這是計算思維能力培養(yǎng)的必然要求,但給學(xué)生完整的語言體系也是必要的。因此,如何處理好語法體系和求解問題方法的矛盾,是教材內(nèi)容組織的關(guān)鍵問題。我們提出,在保持完整語法體系的前提下,給學(xué)生一個完整的解決問題的思路,這是解決問題的根本途徑。為此,本書在編寫過程中,力求體現(xiàn)以下四個方面的特點(diǎn)。
一是強(qiáng)調(diào)計算機(jī)問題求解的思路引導(dǎo),突出從問題到算法,再到程序的一種思維過程。不是羅列現(xiàn)成的程序,而是講清楚程序是怎么來的,怎樣才能得到程序。各章的序言部分講清不同的語言要素在問題求解中的作用,由此引出各章內(nèi)容。在講程序?qū)嵗龝r,先條理性地列出問題求解的基本步驟,再對基本步驟進(jìn)行逐步細(xì)化后得到完整的算法。有些例子更多的是從教學(xué)的角度設(shè)計的,這是應(yīng)用的基礎(chǔ)和前提,有些例子則具有很強(qiáng)的實(shí)際應(yīng)用背景,可以更好地培養(yǎng)讀者的應(yīng)用開發(fā)能力。書中穿插介紹了遞推法、迭代法、窮舉法、試探法、遞歸法、分治法等算法設(shè)計策略,有利于讀者掌握有關(guān)程序設(shè)計方法。
二是恰當(dāng)取舍,突出C語言的本質(zhì)特點(diǎn)和教學(xué)要求。本書用通俗易懂的語言講清C語言的重要概念,不求面面俱到。本書也不過分死摳語言細(xì)節(jié),引導(dǎo)讀者在程序設(shè)計實(shí)踐中去掌握語法規(guī)則。
三是組織編排遵循循序漸進(jìn)原則。本書前6章體現(xiàn)了基本程序設(shè)計能力的訓(xùn)練,第1章介紹程序設(shè)計的基礎(chǔ)知識,建立起對C語言的初步認(rèn)識;第2章介紹程序的數(shù)據(jù)描述,在這一章中并未羅列全部表達(dá)式,而將相關(guān)表達(dá)式分散到各章去介紹,一方面讓讀者盡早接觸到程序,另一方面也避免了因語言細(xì)節(jié)過多而導(dǎo)致單調(diào)無味;第3~5章分別介紹程序的3種基本結(jié)構(gòu),體現(xiàn)了最基本的程序設(shè)計方法;第6章是函數(shù),介紹模塊化程序設(shè)計的基本方法。前6章只涉及C語言的基本數(shù)據(jù)類型,重點(diǎn)放在程序的3種基本結(jié)構(gòu)的實(shí)現(xiàn)方法和程序設(shè)計能力培養(yǎng)上。第7~9章是數(shù)組、指針和構(gòu)造數(shù)據(jù)類型,涉及更復(fù)雜數(shù)據(jù)的表示方法。第10章是文件操作,這是程序設(shè)計語言的經(jīng)典內(nèi)容。這種內(nèi)容編排符合初學(xué)者的認(rèn)知特點(diǎn),有利于總體上把握內(nèi)容,幫助讀者逐步深入理解和掌握知識。各章小結(jié)中總結(jié)了本章主要的知識點(diǎn),幫助讀者總結(jié)歸納本章內(nèi)容,達(dá)到鞏固提高的目的。
四是配套資源豐富。本書配有教學(xué)參考書、慕課(MOOC)、重點(diǎn)內(nèi)容的微視頻講解以及其他相關(guān)教學(xué)資源。為了方便教學(xué)和讀者上機(jī)操作練習(xí),作者還編寫了《C程序設(shè)計實(shí)踐教程》一書,作為與本書配套使用的教學(xué)參考書。本書有配套的MOOC(https://www.icourse163.org/course/CSU-1003517003),方便讀者學(xué)習(xí)。作者團(tuán)隊(duì)在中南大學(xué)開展基于MOOC的混合式教學(xué)實(shí)踐,取得良好效果。本書還配有微視頻講解,對讀者理解重點(diǎn)概念、掌握重要方法、化解學(xué)習(xí)難點(diǎn)很有幫助。另外,還有與本書配套的教學(xué)大綱、教學(xué)課件、各章習(xí)題答案、例題源程序等教學(xué)資源,可從中國水利水電出版社網(wǎng)站下載使用。
本書由劉衛(wèi)國擔(dān)任主編,參與編寫的有曹岳輝、呂格莉、羅芳、何小賢、童鍵、嚴(yán)暉等。許多教師參與了課程建設(shè)實(shí)踐,為本書編寫積累了豐富的素材。在本書編寫過程中吸取了許多教師、MOOC學(xué)員的寶貴意見和建議,在此表示衷心的感謝。
由于編者水平有限,書中難免存在不足之處,懇請廣大讀者批評指正。
編 者
2023年6月于中南大學(xué)
1.1 程序設(shè)計與算法 2
1.1.1 程序與程序設(shè)計 2
1.1.2 算法及其描述 3
1.2 C語言的發(fā)展與特點(diǎn) 8
1.2.1 C語言的發(fā)展歷史 8
1.2.2 C語言的特點(diǎn) 9
1.3 C語言程序的基本結(jié)構(gòu) 10
1.3.1 初識C語言程序 10
1.3.2 C語言程序的結(jié)構(gòu)特點(diǎn)與書寫規(guī)則 12
1.4 C語言程序的運(yùn)行 13
1.4.1 C語言程序的運(yùn)行步驟與調(diào)試 13
1.4.2 C語言的集成開發(fā)環(huán)境 15
本章小結(jié) 16
習(xí)題 16
第2章 程序的數(shù)據(jù)描述 18
2.1 C語言的數(shù)據(jù)類型 19
2.2 常量與變量 19
2.2.1 常量 20
2.2.2 變量 20
2.3 基本數(shù)據(jù)類型 22
2.3.1 整型數(shù)據(jù) 22
2.3.2 實(shí)型數(shù)據(jù) 24
2.3.3 字符型數(shù)據(jù) 25
2.4 常用數(shù)學(xué)庫函數(shù) 28
2.5 基本運(yùn)算與表達(dá)式 29
2.5.1 C語言運(yùn)算符 29
2.5.2 算術(shù)運(yùn)算 30
2.5.3 逗號運(yùn)算 32
2.6 混合運(yùn)算時數(shù)據(jù)類型的轉(zhuǎn)換 32
2.6.1 算術(shù)運(yùn)算的隱式類型轉(zhuǎn)換 32
2.6.2 顯式類型轉(zhuǎn)換 33
本章小結(jié) 34
習(xí)題 35
第3章 順序結(jié)構(gòu) 38
3.1 C語句 39
3.1.1 簡單語句 39
3.1.2 復(fù)合語句 40
3.1.3 流程控制語句 40
3.2 賦值運(yùn)算與賦值語句 41
3.2.1 賦值運(yùn)算 41
3.2.2 賦值語句 42
3.2.3 賦值時的數(shù)據(jù)類型轉(zhuǎn)換 43
3.3 數(shù)據(jù)輸入輸出 43
3.3.1 輸入輸出的實(shí)現(xiàn)方式 43
3.3.2 printf函數(shù)的格式化輸出 44
3.3.3 scanf函數(shù)的格式化輸入 47
3.3.4 字符輸入輸出函數(shù) 49
3.4 順序結(jié)構(gòu)程序舉例 50
本章小結(jié) 54
習(xí)題 55
第4章 選擇結(jié)構(gòu) 58
4.1 條件的描述 59
4.1.1 關(guān)系運(yùn)算 59
4.1.2 邏輯運(yùn)算 59
4.1.3 位運(yùn)算 62
4.2 if選擇結(jié)構(gòu) 63
4.2.1 單分支if選擇結(jié)構(gòu) 63
4.2.2 雙分支if選擇結(jié)構(gòu) 64
4.2.3 多分支if選擇結(jié)構(gòu) 67
4.2.4 if選擇結(jié)構(gòu)的嵌套 68
4.2.5 容易混淆的==和=運(yùn)算符 71
4.3 條件運(yùn)算 71
4.4 switch多分支選擇結(jié)構(gòu) 72
4.5 選擇結(jié)構(gòu)程序舉例 74
本章小結(jié) 78
習(xí)題 79
第5章 循環(huán)結(jié)構(gòu) 83
5.1 while循環(huán)結(jié)構(gòu) 84
5.1.1 while語句的格式 84
5.1.2 while循環(huán)的應(yīng)用 85
5.2 do-while循環(huán)結(jié)構(gòu) 87
5.2.1 do-while語句的格式 88
5.2.2 do-while循環(huán)的應(yīng)用 88
5.3 for循環(huán)結(jié)構(gòu) 90
5.3.1 for語句的格式 90
5.3.2 for循環(huán)的應(yīng)用 91
5.3.3 for語句的各種變形 92
5.4 與循環(huán)有關(guān)的控制語句 94
5.4.1 break語句 95
5.4.2 continue語句 95
5.4.3 goto語句 96
5.5 三種循環(huán)語句的比較 96
5.6 循環(huán)的嵌套 98
5.7 循環(huán)結(jié)構(gòu)程序舉例 100
本章小結(jié) 105
習(xí)題 107
第6章 函數(shù) 111
6.1 C語言程序的模塊結(jié)構(gòu) 112
6.2 函數(shù)的定義與調(diào)用 113
6.2.1 函數(shù)的定義 113
6.2.2 函數(shù)的調(diào)用 114
6.2.3 對被調(diào)用函數(shù)的聲明和函數(shù)原型 115
6.2.4 帶參數(shù)的宏定義 117
6.3 函數(shù)的參數(shù)傳遞 118
6.4 函數(shù)的嵌套調(diào)用與遞歸調(diào)用 120
6.4.1 函數(shù)的嵌套調(diào)用 120
6.4.2 函數(shù)的遞歸調(diào)用 122
6.5 變量的作用域與存儲類別 126
6.5.1 變量的作用域 126
6.5.2 變量的存儲類別 129
6.6 內(nèi)部函數(shù)和外部函數(shù) 133
6.6.1 內(nèi)部函數(shù) 133
6.6.2 外部函數(shù) 133
6.7 函數(shù)應(yīng)用舉例 134
本章小結(jié) 138
習(xí)題 139
第7章 數(shù)組 143
7.1 數(shù)組的概念 144
7.2 數(shù)組的定義 144
7.2.1 一維數(shù)組 145
7.2.2 二維數(shù)組 146
7.2.3 數(shù)組的存儲結(jié)構(gòu) 147
7.3 數(shù)組的賦值與輸入輸出 147
7.3.1 數(shù)組的賦值 147
7.3.2 數(shù)組的輸入輸出 148
7.4 數(shù)組的應(yīng)用 149
7.4.1 一維數(shù)組應(yīng)用舉例 149
7.4.2 二維數(shù)組應(yīng)用舉例 159
7.5 字符數(shù)組與字符串 162
7.5.1 字符數(shù)組的定義和初始化 162
7.5.2 字符數(shù)組的輸入輸出 165
7.5.3 字符串處理函數(shù) 167
7.5.4 字符數(shù)組應(yīng)用舉例 169
7.6 數(shù)組作為函數(shù)的參數(shù) 172
7.6.1 數(shù)組元素作函數(shù)的參數(shù) 172
7.6.2 數(shù)組名作函數(shù)的參數(shù) 173
本章小結(jié) 177
習(xí)題 179
第8章 指針 182
8.1 指針的概念 183
8.2 指針變量的定義與運(yùn)算 184
8.2.1 指針變量的定義 184
8.2.2 指針變量的運(yùn)算 185
8.3 指針與數(shù)組 187
8.3.1 指針與一維數(shù)組 187
8.3.2 指針與二維數(shù)組 192
8.4 指針與字符串 195
8.5 指針與函數(shù) 197
8.5.1 指針變量作函數(shù)參數(shù) 197
8.5.2 指向函數(shù)的指針變量 200
8.5.3 返回指針的函數(shù) 203
8.6 指針數(shù)組與指向指針的指針 205
8.6.1 指針數(shù)組 205
8.6.2 指向指針的指針 206
8.6.3 main函數(shù)的參數(shù) 207
8.7 指針與動態(tài)內(nèi)存管理 208
8.7.1 動態(tài)內(nèi)存管理函數(shù) 209
8.7.2 動態(tài)數(shù)組 210
8.8 指針應(yīng)用舉例 212
本章小結(jié) 215
習(xí)題 217
第9章 構(gòu)造數(shù)據(jù)類型 221
9.1 結(jié)構(gòu)體類型與結(jié)構(gòu)體變量 222
9.1.1 結(jié)構(gòu)體類型的定義 222
9.1.2 結(jié)構(gòu)體變量的定義 223
9.1.3 結(jié)構(gòu)體變量的使用 225
9.2 結(jié)構(gòu)體數(shù)組 228
9.2.1 結(jié)構(gòu)體數(shù)組的定義與引用 228
9.2.2 結(jié)構(gòu)體數(shù)組的應(yīng)用 229
9.3 結(jié)構(gòu)體指針 230
9.3.1 指向結(jié)構(gòu)體變量的指針 230
9.3.2 用結(jié)構(gòu)體作函數(shù)參數(shù) 232
9.4 鏈表 235
9.4.1 鏈表的概念 235
9.4.2 鏈表的基本操作 236
9.5 共用體 243
9.5.1 共用體類型及變量定義 243
9.5.2 共用體變量的使用 245
9.6 枚舉 247
本章小結(jié) 249
習(xí)題 250
第10章 文件操作 255
10.1 文件概述 256
10.1.1 文件的概念 256
10.1.2 C語言的文件系統(tǒng) 256
10.1.3 文件類型指針 257
10.2 文件的打開與關(guān)閉 258
10.2.1 打開文件 258
10.2.2 關(guān)閉文件 259
10.3 文件的順序讀寫操作 260
10.3.1 按字符讀寫文件 260
10.3.2 按字符串讀寫文件 263
10.3.3 按格式讀寫文件 264
10.3.4 按數(shù)據(jù)塊讀寫文件 266
10.4 文件的隨機(jī)讀寫操作 268
10.4.1 文件的定位 268
10.4.2 二進(jìn)制隨機(jī)文件 269
10.5 文件操作時的出錯檢測 271
10.6 文件應(yīng)用舉例 272
本章小結(jié) 277
習(xí)題 277
附錄1 ASCII字符編碼表 280
附錄2 C語言運(yùn)算符的優(yōu)先級與結(jié)合方向 281
附錄3 C語言常用的庫函數(shù) 283
參考文獻(xiàn) 288
- 人工智能開發(fā)框架應(yīng)用 [主編 王明超 蘆婭云]
- 信息系統(tǒng)項(xiàng)目管理師案例分析一本通(第二版) [王樹文 編著]
- 價值營銷戰(zhàn)略模型—用三大價值構(gòu)建白酒營銷系統(tǒng) [李學(xué) 編著]
- 軟考論文高分特訓(xùn)與范文10篇——系統(tǒng)規(guī)劃與管理師 [薛大龍 施游 胡曉萍]
- 新概念英語單詞(全四冊)循環(huán)速記一本通 [周琨 編著]
- Windows Server 2016網(wǎng)絡(luò)操作系統(tǒng) [孟凡樓 劉洋]
- HTML5+CSS3網(wǎng)頁設(shè)計與制作項(xiàng)目化教程 [范佳 胡卓舒 馮迎]
- 水利水電工程金屬結(jié)構(gòu)和機(jī)電設(shè)備制造監(jiān)理工作指南 [主編 張小陽]
- 廣西瑤族傳統(tǒng)服飾文化研究 [容婷 著]
- 面向知識元的領(lǐng)域信息抽取與圖譜構(gòu)建 [朱小龍 著]
- 電子產(chǎn)品設(shè)計與制作 [黃荻 陳志漫]
- 數(shù)據(jù)庫原理與實(shí)踐(MySQL版) [楊俊杰 劉忠艷]
- 南陽漢代畫像石造型語言研究 [龐國華 著]
- C語言程序設(shè)計(第三版) [主編 丁紅 王立新 蔡開立]
- 民航客艙服務(wù)實(shí)用英語教程 [主編 田靜 徐亞玲]
- 軟考論文高分特訓(xùn)與范文10篇—信息系統(tǒng)項(xiàng)目管理師(第二版) [主編 薛大龍]
- Python數(shù)據(jù)分析 [主編 馮志輝 趙磊 李放]
- 大學(xué)信息技術(shù) [曾翰穎 編著]
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)基礎(chǔ) [主 編 李婷 張玉萍]
- Python程序設(shè)計與應(yīng)用(第二版) [主編 張廣淵]
- 多維視域下的高校籃球教學(xué)創(chuàng)新研究 [張利超 李寧 著]
- 創(chuàng)新創(chuàng)業(yè)訓(xùn)練實(shí)踐教程 [主編 王日華 陳武 黃喆誠]
- 智能控制導(dǎo)論(第四版) [蔡自興 編著]
- 輸水管線工程風(fēng)險管理 [張勇 黨亥生 著]
- 民用航空飛機(jī)標(biāo)準(zhǔn)線路施工 [主編 王志敏 陳明]
- 不息的水脈—大運(yùn)河講談錄 [趙珩 著]
- 實(shí)用運(yùn)籌學(xué) [主編 邢育紅 于晉臣]
- 三峽梯級電站水資源決策支持系統(tǒng)研究與開發(fā) [姚華明 潘紅忠 湯正]
- 海南黎族民俗文化鑒賞 [龐國華 著]
- 石墨烯在太赫茲及中紅外頻段電磁器件設(shè)計中的應(yīng)用 [李艷秀 莊華偉 著]