本書致力于新工科新形態(tài)教材的建設(shè),基于第一版在實(shí)際教學(xué)中的多年應(yīng)用,對(duì)全書編程案例進(jìn)行了優(yōu)化與整合,并通過二維碼添加了案例的教學(xué)視頻及拓展內(nèi)容資源。本書不僅強(qiáng)調(diào)內(nèi)容的全面性和實(shí)用性,還嚴(yán)格遵循科學(xué)的教學(xué)理念與編寫依據(jù),旨在為高等院校學(xué)生及編程愛好者提供一本高效且易于理解的C語言教材。
全書共分為四部分:第一部分為基礎(chǔ)篇,涵蓋C語言編程初步、數(shù)據(jù)處理和交互;第二部分為流程控制篇,包括選擇控制結(jié)構(gòu)、循環(huán)控制結(jié)構(gòu)、函數(shù);第三部分為進(jìn)階篇,涉及指針、數(shù)組、字符串、結(jié)構(gòu)、動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)文件;第四部分為高階篇,包括預(yù)編譯指令與位運(yùn)算及應(yīng)用。
更多科學(xué)出版社服務(wù),請(qǐng)掃碼獲取。
1993.09 - 1997.07 河南大學(xué)計(jì)算機(jī)系計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)習(xí);1997.09 – 2000.07 河南大學(xué)計(jì)算機(jī)科學(xué)學(xué)院基礎(chǔ)數(shù)學(xué)專業(yè)碩士研究生;2004.03 – 2007.09 北京理工大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院計(jì)算機(jī)軟件與理論專業(yè)博士研究生;2008.03 – 2008.12 中國(guó)科學(xué)院遙感與信息研究所進(jìn)修學(xué)習(xí)2000.07 – 2008.12 河南大學(xué)計(jì)算機(jī)與信息工程學(xué)院工作
2008.12 – 2017.11 河南大學(xué)軟件學(xué)院副院長(zhǎng)
2017.11 – 2018.07 河南大學(xué)軟件學(xué)院院長(zhǎng)
2018.07 – 2023.04 河南大學(xué)計(jì)算機(jī)與信息工程學(xué)院院長(zhǎng)、黨委副書記、河南省大數(shù)據(jù)分析與處理重點(diǎn)實(shí)驗(yàn)室主任
2023.04 – 河南省大數(shù)據(jù)分析與處理重點(diǎn)實(shí)驗(yàn)室主任計(jì)算機(jī)軟件與理論(1)2019年,“大規(guī)模數(shù)據(jù)智能處理關(guān)鍵技術(shù)及產(chǎn)業(yè)應(yīng)用”,河南省人民政府科學(xué)技術(shù)進(jìn)步獎(jiǎng),二等獎(jiǎng),排名第1;
(2)2022年,“兩貫通六著重”學(xué)生創(chuàng)新能力的培養(yǎng)與實(shí)踐,河南省高等教育教學(xué)成果獎(jiǎng),二等獎(jiǎng),排名第1;
(3)2022年,新工科背景下計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)創(chuàng)新實(shí)踐能力培養(yǎng)模式探究,河南省高等教育教學(xué)成果獎(jiǎng),二等獎(jiǎng),排名第4;
目錄
第一部分 基礎(chǔ)篇
第1章 C語言編程初步 1
1.1 程序與程序設(shè)計(jì) 1
1.2 初識(shí)C語言 2
1.2.1 C語言的發(fā)展和特點(diǎn) 2
1.2.2 C語言程序的編寫和運(yùn)行 3
1.3 C語言程序架構(gòu) 8
習(xí)題 12
第2章 數(shù)據(jù)處理和交互 13
2.1 數(shù)據(jù)類型 13
2.1.1 整型數(shù)據(jù)類型 13
2.1.2 浮點(diǎn)型數(shù)據(jù)類型 16
2.2 變量 17
2.2.1 變量的定義 17
2.2.2 變量和地址 19
2.2.3 變量的命名要求 20
2.3 常量 20
2.4 運(yùn)算符 22
2.4.1 算術(shù)運(yùn)算符 24
2.4.2 賦值運(yùn)算符 25
2.4.3 自增/自減運(yùn)算符 27
2.5 數(shù)據(jù)類型轉(zhuǎn)換 28
2.6 交互式輸入輸出 30
2.6.1 putchar函數(shù)和getchar函數(shù) 31
2.6.2 格式化輸出函數(shù)printf 32
2.6.3 格式化輸入函數(shù)scanf 34
2.6.4 cin和cout 35
2.7 案例:小小計(jì)算器1.0 37
習(xí)題 40
第二部分 流程控制篇
第3章 選擇控制結(jié)構(gòu) 41
3.1 關(guān)系運(yùn)算符 41
3.2 邏輯運(yùn)算符 42
3.3 if語句和if-else語句 44
3.3.1 if語句 44
3.3.2 if-else語句 47
3.3.3 if-else鏈 50
3.4 switch語句 54
3.5 選擇結(jié)構(gòu)的嵌套 59
3.6 條件運(yùn)算符 60
3.7 案例:小小計(jì)算器2.0 62
習(xí)題 65
第4章 循環(huán)控制結(jié)構(gòu) 66
4.1 while語句 66
4.2 for語句 69
4.3 do-while語句 72
4.4 break語句和continue語句 73
4.5 循環(huán)的嵌套 78
4.6 案例:小小計(jì)算器3.0 81
習(xí)題 84
第5章 函數(shù) 86
5.1 函數(shù)概述 86
5.1.1 函數(shù)的原型和定義 86
5.1.2 函數(shù)調(diào)用 88
5.1.3 遞歸調(diào)用 95
5.2 變量的作用域和存儲(chǔ)類別 100
5.2.1 局部變量 100
5.2.2 全局變量 104
5.2.3 變量的存儲(chǔ)類別 107
5.3 C 語言常用庫(kù)函數(shù) 111
5.3.1 數(shù)學(xué)庫(kù)函數(shù) 111
5.3.2 時(shí)間函數(shù) 113
5.3.3 隨機(jī)函數(shù) 114
5.4 案例:小小計(jì)算器4.0 116
習(xí)題 119
第三部分 進(jìn)階篇
第6章 指針 121
6.1 存儲(chǔ)地址與指針 121
6.2 指針變量 123
6.2.1 指針變量的定義 123
6.2.2 指針的運(yùn)算 126
6.3 指針與函數(shù) 127
6.3.1 指針變量作為函數(shù)參數(shù) 127
6.3.2 返回指針的函數(shù) 132
6.3.3 指向函數(shù)的指針 134
習(xí)題 135
第7章 數(shù)組 137
7.1 一維數(shù)組 137
7.1.1 一維數(shù)組的定義 137
7.1.2 一維數(shù)組的地址 140
7.1.3 一維數(shù)組的初始化 142
7.1.4 一維數(shù)組的使用 144
7.2 多維數(shù)組 146
7.2.1 二維數(shù)組的定義 146
7.2.2 二維數(shù)組的地址和初始化 149
7.2.3 二維數(shù)組的使用 150
7.2.4 多維數(shù)組基礎(chǔ) 154
7.3 數(shù)組作為函數(shù)的參數(shù) 154
7.4 數(shù)組和指針 158
7.4.1 一維數(shù)組和指針 158
7.4.2 二維數(shù)組和指針 160
7.4.3 指向一維數(shù)組的指針 163
7.5 案例:成績(jī)管理器1.0 165
習(xí)題 173
第8章 字符串 175
8.1 字符串基礎(chǔ) 175
8.2 字符串的輸入輸出 176
8.3 字符和字符串庫(kù)函數(shù) 179
8.3.1 字符串庫(kù)函數(shù) 179
8.3.2 字符庫(kù)函數(shù) 181
8.3.3 轉(zhuǎn)換庫(kù)函數(shù) 183
8.4 字符串處理 184
8.5 字符串和指針 193
8.5.1 使用指針創(chuàng)建字符串 193
8.5.2 使用指針訪問字符串 195
8.5.3 指針數(shù)組 197
8.6 案例:成績(jī)管理器1.1 200
習(xí)題 204
第9章 結(jié)構(gòu) 206
9.1 結(jié)構(gòu)的基礎(chǔ) 206
9.1.1 結(jié)構(gòu)的定義 206
9.1.2 結(jié)構(gòu)的使用 208
9.1.3 結(jié)構(gòu)的初始化 210
9.2 typedef語句 212
9.3 結(jié)構(gòu)和函數(shù) 214
9.3.1 結(jié)構(gòu)作為函數(shù)的參數(shù) 214
9.3.2 函數(shù)返回結(jié)構(gòu) 217
9.4 結(jié)構(gòu)和指針 218
9.5 枚舉類型 222
9.6 案例:成績(jī)管理器2.0 225
習(xí)題 233
第10章 動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu) 234
10.1 動(dòng)態(tài)存儲(chǔ)分配 234
10.2 鏈表 236
10.3 案例:成績(jī)管理器2.5 240
習(xí)題 247
第11章 數(shù)據(jù)文件 248
11.1 文件的基礎(chǔ) 248
11.2 打開和關(guān)閉文件 249
11.3 讀取和寫入文本文件 251
11.3.1 字符讀取函數(shù)fgetc 251
11.3.2 字符寫入函數(shù)fputc 253
11.3.3 字符串讀取函數(shù)fgets 254
11.3.4 字符串寫入函數(shù)fputs 255
11.3.5 fprintf和fscanf 257
11.4 二進(jìn)制文件讀寫 260
11.5 其他文件相關(guān)函數(shù) 263
11.6 案例1:成績(jī)管理器3.0 268
11.7 案例2:繪制地圖 272
習(xí)題 276
第四部分 高階篇
第12章 預(yù)編譯指令 277
12.1 宏定義 277
12.1.1 變量式宏定義 277
12.1.2 函數(shù)式宏定義 279
12.1.3 宏定義的范圍 280
12.2 文件包含和條件編譯 281
第13章 位運(yùn)算及應(yīng)用 286
13.1 位運(yùn)算 286
13.2 位運(yùn)算應(yīng)用 289
參考文獻(xiàn) 292