程序設計的計算思維與方法 (翻轉課堂版)
楊鑫
相關主題
商品描述
"本書是一本結合課程思政教學理念編寫的程序設計語言入門教材,旨在培養學生利用電腦分析和解決問題的能力,同時強化學生的民族精神和工程倫理。本書同時作為面向拔尖基地的創新培養配套教材,經過兩年多的編寫,在堅持學術嚴謹、規範的前提下,挖掘知識點本身的思政內涵,以思政與專業內容互融的方式,傳遞家國情懷和品格修養要素,培養理工科類學生應具有的科學精神、辯證思維、工匠精神、工程應用能力、職業倫理和職業素養。本書以程序設計為主線,註重理論與實踐相結合,配套有習題、PPT課件等資源,創新性地增加了前置知識、場景案例、企業案例、前沿案例、易錯盤點、知識拓展、翻轉課堂等模塊,激發學生的科創興趣與家國情懷。本書共包含11章內容,包括C語言的基本語法、數據類型、控制結構、數組、函數、指針、結構體、文件的輸入輸出等基礎內容,並提供了綜合實訓配套案例,即以C語言來開發高校學生健康信息管理系統、工業數據分析與文件信息管理系統和小車機器人應用實例等實踐內容。 本書適合作為高等學校電腦及相關專業C語言課程的教學用書,也適合作為學習C語言的讀者的自學教材。 "
目錄大綱
目錄
第1章程序設計與C語言簡介1
編程先驅1
引言1
前置知識2
本章知識點3
1.1程序設計基礎3
1.2算法基礎4
1.2.1算法的定義4
1.2.2算法的五大特性4
1.2.3算法的評定4
1.2.4算法的要素4
1.2.5算法的表示方法5
1.2.6算法的設計方法11
節後練習11
1.3初識C程序11
1.3.1C語言的特點11
1.3.2C語言的編寫工具12
1.3.3高級語言、匯編語言和C語言的對比13
1.3.4C語言程序的運行步驟13
節後練習14
1.4程序示例14
場景案例15
企業案例16
前沿案例16
易錯盤點17
知識拓展18
翻轉課堂25
章末習題25目錄第2章變量及表達式26
編程先驅26
引言26
前置知識27
本章知識點30
2.1變量31
2.1.1變量的命名規則31
2.1.2變量的作用域31
2.1.3變量的存儲類別32
節後練習33
2.2常量33
2.2.1整型常量33
2.2.2實型常量34
2.2.3字符常量35
2.2.4字符串常量39
2.2.5符號常量40
節後練習41
2.3標識符和關鍵字41
2.3.1標識符41
2.3.2關鍵字42
節後練習43
2.4 運算符43
2.4.1常用運算符43
2.4.2運算符的優先級和結合性45
節後練習46
2.5數據類型轉換46
節後練習47
2.6C語言的語句47
2.6.1控制語句47
2.6.2函數調用語句48
2.6.3表達式語句49
2.6.4空語句49
2.6.5復合語句49
節後練習50
場景案例50
企業案例51
前沿案例51
易錯盤點52
知識拓展54
翻轉課堂56
章末習題56
第3章數據的輸入與輸出58
編程先驅58
引言58
本章知識點59
3.1數據的格式化輸出59
3.1.1printf()函數調用的一般形式59
3.1.2格式字符串60
節後練習63
3.2數據的交互式輸入64
3.2.1scanf()函數的一般形式64
3.2.2變量的地址和變量值的關系64
3.2.3格式字符串65
節後練習68
3.3單個字符的輸入輸出68
3.3.1輸入單個字符68
3.3.2輸出單個字符70
3.4字符串的輸入輸出71
3.4.1字符串輸入函數gets()71
3.4.2字符串輸出函數puts()72
3.5順序結構程序設計示例73
節後練習75
場景案例76
企業案例76
前沿案例76
易錯盤點77
知識拓展77
翻轉課堂78
章末習題79
第4章 選擇結構80
編程先驅80
引言80
前置知識81
本章知識點81
4.1關系表達式、邏輯表達式、條件表達式 81
4.1.1關系運算符及關系表達式81
4.1.2邏輯運算符及邏輯表達式82
4.1.3條件運算符及條件表達式83
節後練習83
4.2if語句84
4.2.1用if語句實現選擇結構84
4.2.2if語句的不同形式84
4.2.3if語句的嵌套問題89
4.3switch語句89
4.3.1用switch語句實現選擇結構89
4.3.2switch語句的註意事項92
節後練習93
4.4goto語句93
4.5程序舉例93
場景案例95
企業案例95
前沿案例96
易錯盤點96
知識拓展99
翻轉課堂104
章末習題104
第5章循環結構105
編程先驅105
引言105
前置知識106
本章知識點107
5.1循環結構107
5.2while語句107
5.3do…while語句109
5.4for語句110
5.4.1用for語句實現循環結構110
5.4.2for循環中的三個表達式112
5.4.3幾種循環的比較113
5.5改變循環執行的狀態114
5.5.1break語句114
5.5.2continue語句115
5.6循環嵌套115
5.7程序舉例117
場景案例120
企業案例120
前沿案例121
易錯盤點121
知識拓展122
翻轉課堂132
章末習題133
第6章數組134
編程先驅134
引言134
前置知識135
本章知識點138
6.1數組的概念138
6.2一維數組的定義和引用139
6.2.1一維數組的定義139
6.2.2一維數組的引用140
6.2.3一維數組的初始化141
6.2.4程序舉例142
節後練習146
6.3二維數組的定義和引用146
6.3.1二維數組的定義146
6.3.2二維數組的引用147
6.3.3二維數組的初始化148
6.3.4程序舉例149
節後練習151
6.4字符數組與字符串152
6.4.1字符數組152
6.4.2字符數組的初始化152
6.4.3字符串152
6.4.4字符串的輸入輸出154
6.4.5字符串處理函數155
6.4.6程序舉例159
節後練習161
場景案例162
企業案例162
前沿案例162
易錯盤點163
知識拓展165
翻轉課堂166
章末習題167
第7章函數170
編程先驅170
引言170
前置知識171
本章知識點171
7.1函數的基本知識171
7.1.1函數的概念172
7.1.2函數的定義173
7.1.3函數的調用176
7.1.4函數的返回值177
7.1.5函數的原型說明180
節後練習181
7.2函數參數181
7.2.1數組元素作函數實參182
7.2.2一維數組作函數參數182
7.2.3二維數組作函數參數183
7.2.4含參main()函數 184
節後練習185
7.3函數的遞歸185
7.3.1函數嵌套簡介185
7.3.2遞歸概述186
7.3.3遞歸的原理187
7.3.4遞歸的使用188
7.3.5遞歸的優缺點189
節後練習190
7.4變量的作用域和存儲方法190
7.4.1局部變量與全局變量190
7.4.2變量存儲方法192
節後練習192
7.5內部函數與外部函數192
7.5.1C語言內部函數192
7.5.2C語言外部函數192
7.6預處理193
7.6.1宏替換193
7.6.2條件編譯194
7.6.3文件包含195
節後練習195
場景案例195
企業案例196
前沿案例196
易錯盤點197
知識拓展197
翻轉課堂202
章末習題203
第8章指針204
編程先驅204
引言204
前置知識205
本章知識點206
8.1地址和指針206
8.1.1指針206
8.1.2地址和指針的關系206
8.1.3變量的直接訪問和間接訪問207
8.2指針變量的定義和使用208
8.2.1指針和指針變量的區別208
8.2.2定義指針變量208
8.2.3指針變量的類型及含義209
8.2.4引用指針變量211
8.2.5指針作為函數的參數212
節後練習214
8.3指針和數組215
8.3.1數組指針的概念和定義215
8.3.2數組指針的基本運算215
8.3.3通過指針引用數組元素218
8.3.4用數組名作函數參數220
8.3.5用數組名作函數參數和用變量名作函數參數的區別222
8.3.6通過指針引用多維數組222
8.3.7指向多維數組元素的指針變量224
節後練習229
8.4字符指針與字符數組229
8.4.1字符串的引用方式229
8.4.2通過字符指針變量輸出字符串230
8.4.3用字符指針作函數參數231
8.4.4使用字符指針變量和字符數組的區別233
節後練習234
8.5動態存儲管理234
8.5.1為什麽需要動態存儲管理234
8.5.2內存的動態分配234
8.5.3內存動態分配的建立235
8.6程序舉例237
場景案例239
企業案例239
前沿案例239
易錯盤點240
知識拓展241
翻轉課堂251
章末習題251
第9章結構體254
編程先驅254
引言254
前置知識255
本章知識點256
9.1結構體的基本知識256
9.1.1結構體的概念256
9.1.2結構體變量的聲明與定義256
9.1.3結構體變量的初始化與引用259
節後練習263
9.2結構體數組263
9.2.1結構體數組的定義263
9.2.2結構體數組的應用264
節後練習266
9.3結構體指針266
9.3.1指向結構體變量的指針266
9.3.2指向結構體數組的指針268
節後練習269
9.4結構體與函數269
9.4.1結構體變量作函數參數269
9.4.2結構體變量的指針作函數參數270
節後練習272
9.5類型定義typedef272
9.6共享體274
9.6.1共享體的概念274
9.6.2共享體變量的引用275
9.6.3共享體類型數據的特點275
節後練習276
9.7枚舉類型277
9.8位段278
9.9鏈表279
9.10程序舉例286
場景案例287
企業案例287
前沿案例288
易錯盤點290
知識拓展291
翻轉課堂292
章末習題293
第10章文件的輸入與輸出295
編程先驅295
引言295
前置知識296
本章知識點297
10.1文件297
10.1.1文件的概念297
10.1.2文件的分類298
10.1.3文件緩沖區298
10.1.4文件類型指針298
節後練習299
10.2打開與關閉文件299
10.2.1用fopen()函數打開數據文件299
10.2.2用fclose()函數關閉數據文件300
節後練習301
10.3順序讀寫數據文件302
10.3.1以字符形式讀寫文件302
10.3.2以字符串形式讀寫文件304
10.3.3用格式化方式讀寫文本文件305
10.3.4以數據塊形式讀寫文件 306
10.3.5標準機理306
10.3.6程序舉例307
節後練習309
10.4隨機讀寫數據文件310
10.5文件讀寫的出錯檢測311
10.6其他函數312
場景案例313
企業案例313
前沿案例313
易錯盤點314
知識拓展315
翻轉課堂316
章末習題317
第11章程序設計創新實踐319
11.1高校學生健康信息管理系統319
11.1.1題目背景319
11.1.2設計任務319
11.1.3設計要求319
11.2工業數據分析與文件信息管理系統320
11.2.1題目背景320
11.2.2系統操作流程321
11.2.3設計任務321
11.2.4參考數據結構/功能設計322
11.2.5設計要求322
11.3機器人應用開發322
11.3.1Arduino概述322
11.3.2Arduino開發環境的搭建324
11.3.3課程實驗326
11.3.4綜合實訓340
參考文獻343