注册 登录 进入教材巡展
#
  • #

出版时间:2024-08

出版社:中国铁道出版社

以下为《C语言程序设计案例教程——基于数据处理》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 中国铁道出版社
  • 9787113313104
  • 1版
  • 531469
  • 16开
  • 2024-08
  • 高等院校理工类
  • 本科 高职
作者简介
羊四清,湖南人文科技学院三级教授,在本科高校从事计算机教学与行政管理工作30余年,主持和参与各类课题20余项、发表计算机专业论文40余篇、主编教材10本、获湖南省教学成果奖4项。主要担任C语言程序设计、数据结构、算法分析、编译原理等20余门计算机专业课程的教学工作,其中C语言的教学经验尤为丰富,为本教材的编写奠定了丰富的实践经验。
查看全部
内容简介
本书是面向普通高等院校“C语言程序设计”课程而编写的教材,主要包括C语言概述及程序设计基础、简单的数值运算程序设计、逻辑运算与选择结构程序设计、重复运算与循环结构程序设计、数组与批量数据处理、指针与字符串数据处理、函数与程序结构优化、结构体与复杂数据处理、链表与非连续存储数据处理、文件与大批量数据处理等内容。

本书每章均配有学习目标、小结与习题,以方便读者掌握重点和难点,并以计算机解决计算问题为核心,精心挑选程序用例,努力打造算法多样化与图解化表示,尽量做到结构清晰、逻辑性强、图文并茂,将复杂问题处理流程化,做到深入浅出,让读者能够深刻体会程序设计的乐趣。

本书适合作为普通高等院校理工科各专业C语言程序设计课程教材,尤其适合应用型本科计算机专业学生使用,也可作为高职院校计算机相关专业学生和C语言自学者的参考书。
目录
第1章 C语言概述及程序设计基础1
1.1 C语言的发展及特点1
1.1.1 C语言的发展1
1.1.2 C语言的特点2
1.2 C语言程序的基本结构3
1.2.1 C语言程序的书写基本结构3
1.2.2 C语言程序的逻辑结构5
1.2.3 字符集6
1.2.4 标识符6
1.2.5 C语言语句9
1.2.6 C语言程序的书写约定12
1.3 编译预处理13
1.3.1 预处理命令13
1.3.2 文件包含13
1.3.3 宏定义15
1.3.4 条件编译18
1.4 程序设计基础21
1.4.1 算法基本概念21
1.4.2 算法的表示24
1.4.3 程序的三种基本结构26
1.5 Visual Studio 2019使用方法27
小结29
习题29
第2章 简单的数值运算程序设计31
2.1 C语言数据类型31
2.1.1 数据类型的分类31
2.1.2 数据类型的作用32
2.2 C语言常量33
2.2.1 整型常量33
2.2.2 实型常量34
2.2.3 字符常量34
2.2.4 枚举常量36
2.3 C语言变量37
2.3.1 变量的概念37
2.3.2 变量的定义38
2.3.3 变量的存储38
2.4 表达式与语句44
2.4.1 运算符44
2.4.2 与数值运算相关的运算符45
2.4.3 表达式48
2.4.4 表达式语句49
2.4.5 类型转换49
2.5 格式化输出/输入51
2.5.1 格式化输出51
2.5.2 格式化输入55
2.6 简单的数值运算程序设计示例57
小结62
习题62
第3章 逻辑运算与选择结构程序设计64
3.1 选择结构的必要性64
3.2 关系运算符和关系表达式65
3.2.1 关系运算符及其优先级65
3.2.2 关系表达式66
3.3 逻辑运算符和逻辑表达式67
3.3.1 逻辑运算符及其优先级67
3.3.2 逻辑表达式68
3.4 条件运算符和条件表达式69
3.5 if语句70
3.5.1 单分支if语句70
3.5.2 双分支if语句71
3.5.3 if语句的嵌套73
3.5.4 if语句使用注意事项78
3.6 switch语句78
3.6.1 switch语句的一般格式78
3.6.2 switch语句使用注意事项79
3.6.3 switch语句应用示例79
3.7 应用举例82
小结84
习题84
第4章 重复运算与循环结构程序设计86
4.1 重复运算与循环概述86
4.1.1 重复运算86
4.1.2 循环概述87
4.2 while语句88
4.2.1 while语句的格式88
4.2.2 while 语句的功能88
4.3 do...while语句92
4.3.1 do...while语句的格式92
4.3.2 do...while语句的功能92
4.4 for语句94
4.4.1 for语句的格式94
4.4.2 for语句的功能95
4.5 改变循环执行的状态97
4.5.1 break语句97
4.5.2 continue语句100
4.5.3 break语句和continue语句的区别101
4.6 三种循环语句的比较102
4.7 多重循环102
4.7.1 多重循环的概念102
4.7.2 多重循环的执行103
4.7.3 嵌套的特点及使用建议104
4.8 重复运算应用示例105
4.8.1 计数问题105
4.8.2 求和问题108
4.8.3 穷举求解110
4.8.4 图形输出111
小结114
习题114
第5章 数组与批量数据处理117
5.1 数组和数组元素117
5.1.1 数组的引入117
5.1.2 数组的概念118
5.2 一维数组119
5.2.1 一维数组的定义和引用119
5.2.2 一维数组的初始化121
5.3 运用一维数组进行批量数据处理121
5.3.1 数据统计122
5.3.2 数列运算123
5.3.3 数组排序126
5.3.4 数组查找、插入、删除、修改操作128
5.3.5 高精度运算136
5.4 二维数组138
5.4.1 二维数组的定义与引用138
5.4.2 二维数组的初始化141
5.5 运用二维数组进行数据运算处理142
5.5.1 矩阵中数的统计142
5.5.2 矩阵运算143
5.5.3 特殊矩阵143
小结144
习题145
第6章 指针与字符串数据处理147
6.1 指针的概念与意义147
6.1.1 地址与变量的地址147
6.1.2 指针与指针变量149
6.2 指针变量的定义和使用151
6.2.1 指针变量的定义151
6.2.2 指针变量的赋值151
6.2.3 指针变量的运算153
6.3 运用指针访问数组元素156
6.3.1 指向数组元素的指针变量156
6.3.2 指向数组的指针161
6.3.3 指针数组164
6.4 指针与字符串166
6.4.1 字符串常量的表示与存储166
6.4.2 字符串的定义与字符指针166
6.4.3 用指针数组表示字符串组171
6.4.4 二重指针与指针数组的关系173
6.4.5 字符处理函数175
6.4.6 字符数组应用举例181
小结182
习题183
第7章 函数与程序结构优化184
7.1 模块化程序设计184
7.1.1 模块化程序设计概述184
7.1.2 函数概述185
7.2 函数的分类与定义185
7.2.1 函数的分类185
7.2.2 函数的定义186
7.3 函数的调用与执行188
7.3.1 函数的调用188
7.3.2 函数说明语句189
7.3.3 函数的参数与参数传递191
7.3.4 函数的返回值193
7.3.5 函数的执行194
7.3.6 函数的编写195
7.4 数组作为函数参数196
7.4.1 数组元素作为函数实数196
7.4.2 数组作为函数形数、数组名作为函数实数197
7.4.3 二维数组作为函数参数201
7.5 指针变量作为函数参数202
7.5.1 形参是指针变量,实参是变量的地址202
7.5.2 形参是指针变量,实参是指针变量203
7.5.3 数组或指针变量作为函数的参数205
7.5.4 字符串作为函数参数209
7.5.5 指针数组作为函数的 参数211
7.6 指向函数的指针变量与指针型函数212
7.6.1 指向函数的指针变量212
7.6.2 指针型函数214
7.7 带参数的main()函数217
7.7.1 main()函数的参数217
7.7.2 main()函数参数的应用218
7.8 函数的嵌套调用与递归调用220
7.8.1 函数的嵌套调用220
7.8.2 函数的递归调用221
7.8.3 递归应用示例224
7.9 局部变量与全局变量228
7.9.1 局部变量228
7.9.2 全局变量229
7.10 变量的存储类别231
7.10.1 变量存储方式231
7.10.2 变量的存储类型231
7.11 内部函数和外部函数235
7.11.1 内部函数235
7.11.2 外部函数235
7.12 应用举例236
7.12.1 进制转换236
7.12.2 大数据的加减法运算238
小结239
习题240
第8章 结构体与复杂数据处理242
8.1 结构体类型242
8.1.1 结构体概述242
8.1.2 结构体类型的定义242
8.1.3 结构体变量的定义243
8.1.4 结构体变量的引用245
8.1.5 结构体变量的初始化246
8.2 结构体数组247
8.2.1 结构体数组的定义247
8.2.2 结构体数组的初始化248
8.2.3 结构体数组的应用249
8.2.4 指向结构体变量与数组的指针250
8.3 共用体252
8.3.1 共用体的概念252
8.3.2 共用体变量的定义与赋值253
8.3.3 共用体变量的引用254
8.3.4 共用体类型数据的特点255
8.3.5 共用体变量的应用256
8.4 用typedef定义类型名称258
8.4.1 typedef的作用258
8.4.2 typedef的用法258
8.5 动态存储分配与复杂数据处理应用示例260
8.5.1 动态存储分配260
8.5.2 结构体指针作为函数参数264
8.5.3 复杂数据处理示例265
小结266
习题267
第9章 链表与非连续存储数据处理268
9.1 链表的概念与访问268
9.1.1 链表的概念与表示268
9.1.2 链表结点的定义270
9.1.3 链表结点的访问270
9.2 链表的操作272
9.2.1 链表的定义272
9.2.2 初始化链表272
9.2.3 创建链表273
9.2.4 遍历链表275
9.2.5 插入结点275
9.2.6 删除结点276
9.2.7 释放所有结点277
9.3 非连续数据处理278
9.3.1 链表逆转存放278
9.3.2 查找指定位置的结点278
9.3.3 删除重复结点280
9.3.4 链表选择排序281
9.3.5 有序链表插入281
9.3.6 链表重组282
9.3.7 链表快速排序282
9.3.8 归并排序283
9.3.9 循环链表解决约瑟夫环284
9.3.10 双向链表的插入与删除285
9.4 指针定义与运算总结286
小结287
习题287
第10章 文件与大批量数据处理289
10.1 C文件的概念289
10.1.1 文件与文件名289
10.1.2 文件分类与存储290
10.1.3 文件流与缓冲区291
10.1.4 文件指针292
10.2 打开与关闭文件294
10.2.1 fopen()函数294
10.2.2 fclose()函数295
10.2.3 应用示例295
10.3 顺序读写文件数据297
10.3.1 读写字符函数fgetc()和fputc()297
10.3.2 读写字符串函数fgets()和fputs()302
10.3.3 格式化读写函数fscanf()和fprintf()304
10.3.4 读写块数据函数fread() 和fwrite()305
10.4 随机读写文件数据308
10.4.1 文件读写位置定位308
10.4.2 随机读写文件数据310
10.5 文件检测函数311
10.5.1 feof()函数311
10.5.2 ferror()函数311
10.5.3 clearerr()函数312
10.6 应用举例312
10.6.1 两个文件连接312
10.6.2 简易学生管理系统312
小结313
习题314
附录315
参考文献316