程序设计基础(C语言) / 普通高等学校“十四五”规划计算机类专业特色教材
¥59.80定价
作者: 李超锋,杨健,项巧莲
出版时间:2024-07
出版社:华中科技大学出版社
- 华中科技大学出版社
- 9787577209180
- 1-1
- 518852
- 61251177-4
- 16开
- 2024-07
- 计算机类、自动化类、信息学类、管理类
- 本科 研究生及以上
作者简介
内容简介
本书主要介绍了计算机基础知识、计算机基本工作原理、程序设计及程序设计语言、计算机算法及其表示方法、C语言的基本语法、程序流程控制结构,以及用数组处理批量数据、用函数实现模块化程序设计、用指针提升编程效率、用结构体和共用体处理复杂数据、用文件持久化数据等程序设计的基础知识。同时,每章设置扩展阅读模块,以故事性和趣味性体现课程思政,力争做到知识传授、能力培养和价值观塑造三位一体。本书配套的在线课程网站是纸质教材与数字化资源有机融合的一种尝试,力争做到线上线下一体化、知识更新便捷化和学习空间个性化。
全书语言简洁,示例丰富,深入浅出地引导读者理性思维和理性实践,章节结构安排合理。本书可作为高等院校计算机相关专业程序设计课程的教材,亦可作为编程开发人员及程序设计爱好者的自学参考书。
全书语言简洁,示例丰富,深入浅出地引导读者理性思维和理性实践,章节结构安排合理。本书可作为高等院校计算机相关专业程序设计课程的教材,亦可作为编程开发人员及程序设计爱好者的自学参考书。
目录
第1章 程序设计与C语言
1.1 计算机的工作原理
1.1.1 初识计算机
1.1.2 冯·诺依曼体系结构
1.2 程序设计与程序设计语言
1.2.1 程序设计
1.2.2 程序设计语言
1.2.3 C语言的发展与特点
1.3 初步认识C语言程序
1.3.1 最简单的C语言程序
1.3.2 包含多个函数的C语言程序
1.3.3 C语言程序的基本结构
1.4 C语言编程环境
1.4.1 C语言程序的开发步骤
1.4.2 CodeBlocks的安装和使用
1.5 扩展阅读
1.6 小结
习题
第2章 计算机算法
2.1 算法的概念
2.1.1 算法的定义
2.1.2 典型的算法
2.1.3 算法的特征
2.1.4 算法的评价
2.2 算法的表示
2.2.1 程序流程图
2.2.2 N-S图
2.2.3 伪代码
2.3 扩展阅读
2.4 小结
习题
第3章 顺序结构程序设计
3.1 数据类型、标识符、常量与变量
3.1.1 数据类型
3.1.2 标识符
3.1.3 常量
3.1.4 变量
3.2 整数类型
3.2.1 整型常量
3.2.2 整型变量
3.3 实数类型
3.3.1 实型常量
3.3.2 实型变量
3.4 字符型数据
3.4.1 字符型常量
3.4.2 字符型变量
3.4.3 字符串常量
3.5 数值型数据间的混合运算
3.5.1 自动转换
3.5.2 强制类型转换
3.6 运算符和表达式
3.6.1 算术运算符
3.6.2 算术运算的优先级与结合性
3.6.3 赋值运算符与赋值表达式
3.7 数据输入输出
3.7.1格式输出函数printf()
3.7.2 格式输入函数scanf()
3.7.3 字符数据的输入输出
3.8 C语句分类
3.9 顺序结构程序设计
3.10 扩展阅读
3.11 小结
习题
第4章 选择结构程序设计
4.1 选择结构与条件判断
4.2 关系表达式与逻辑表达式
4.2.1 关系表达式
4.2.2 逻辑表达式
4.2.3 条件运算符
4.3 用if语句实现选择结构
4.3.1 单分支结构if语句
4.3.2 二分支结构if语句
4.3.3 多分支结构if语句
4.4 选择结构的嵌套
4.4.1 if嵌套的一般形式
4.4.2 if-else配对
4.5 用switch语句实现多分支选择结构
4.5.1 switch语句一般形式
4.5.2 switch语句注意事项
4.6 选择结构程序举例
4.7 扩展阅读
4.8 小结
习题
第5章 循环结构程序设计
5.1 循环的基本思想
5.2 while语句
5.2.1 while语句构成的循环结构
5.2.2 while语句的执行过程
5.2.3 利用while语句进行循环结构程序设计
5.3 do…while语句
5.3.1 do…while语句构成的循环结构
5.3.2 do…while语句的执行过程
5.3.3 利用do…while语句进行循环结构程序设计
5.4 for语句
5.4.1 for语句构成的循环结构
5.4.2 for语句的执行过程
5.4.3 利用for语句进行循环结构程序设计
5.4.4 for语句的灵活性
5.4.5 循环结构类型的选择及转换 105
5.5 循环嵌套 105
5.6 break语句与continue语句 107
5.6.1 break语句 107
5.6.2 continue语句 109
5.6.3 break与continue的区别 110
5.7 循环结构程序举例 111
5.8 扩展阅读 113
5.9 小结 114
习题 114
第6章 数组 117
6.1 数组的概念 117
6.2 一维数组 117
6.2.1 一维数组的定义 117
6.2.2 一维数组的引用 118
6.2.3 一维数组的初始化 119
6.2.4 数组和地址 120
6.2.5 一维数组程序举例 121
6.3 二维数组 123
6.3.1 二维数组的定义 123
6.3.2 二维数组的引用 124
6.3.3 二维数组的初始化 124
6.3.4 二维数组程序举例 125
6.4 字符数组与字符串 128
6.4.1 字符数组 128
6.4.2 字符串 128
6.4.3 常用字符串处理函数 129
6.4.4 字符数组与字符串程序设计举例 132
6.5 扩展阅读 135
6.6 小节 136
习题 136
第7章 函数 138
7.1 模块化程序设计与函数 138
7.2 函数的定义、声明与调用 139
7.2.1 函数定义 139
7.2.2 函数调用 140
7.2.3 函数声明 141
7.2.4 没有返回值的函数 142
7.2.5 没有形参的函数 143
7.3 深入理解函数的调用 144
7.3.1 函数调用与内存空间 144
7.3.2 数组作为函数参数 147
7.4 函数的嵌套调用 149
7.5 函数的递归调用 151
7.6 变量的作用域 153
7.6.1 全局变量与局部变量 153
7.6.2 同名变量的作用域 155
7.7 变量的生存期 157
7.8 扩展阅读 159
7.9 小结 160
习题 160
第8章 指针 162
8.1 指针是什么 162
8.2 指针变量 163
8.2.1 什么是指针变量 163
8.2.2 指针变量的定义 164
8.2.3 指针变量的引用 165
8.2.4 指针运算 166
8.2.5 指针变量作为函数参数 168
8.3 通过指针访问数组 170
8.3.1 一维数组元素的指针 170
8.3.2 指向数组元素的指针的运算 170
8.3.3 两种引用数组元素的方法 171
8.3.4 多维数组元素的指针 173
8.3.5 以数组名作函数参数 174
8.4 通过指针引用字符串 176
8.4.1 字符串的引用方式 176
8.4.2 字符指针作为函数参数 178
8.5 函数指针 181
8.6 指针函数 183
8.7 指针数组和多重指针 185
8.7.1 指针数组 185
8.7.2 多重指针 186
8.8 动态内存分配与指向它的指针变量 188
8.8.1 建立和释放内存动态存储区域 188
8.8.2 void指针类型 189
8.9 指针应用程序举例 189
8.10 扩展阅读 195
8.11 小结
习题
第9章 自定义数据类型
9.1 定义和使用结构体变量
9.1.1 结构体类型的定义
9.1.2 结构体变量的定义
9.1.3 结构体变量的初始化与引用
9.2 使用结构体数组
9.2.1 结构体数组的定义
9.2.2 结构体数组的初始化与引用
9.3 结构体指针
9.3.1 结构体指针的概念
9.3.2 结构体与函数 211
9.4 结构体与链表 212
9.5 共用体类型 215
9.5.1 共用体的概念 215
9.5.2 共用体变量的定义与引用 216
9.5.3 共用体类型数据的特点 217
9.6 枚举类型 218
9.7 用typedef声明新类型名
9.8 应用程序举例
9.9 扩展阅读
9.10 小结
习题
第10章 文件
10.1 C语言中文件的概念
10.1.1 文件的概念
10.1.2 文件标识
10.1.3 文件缓冲区
10.1.4 文件类型指针
10.2 文件操作三步曲:打开、读写与关闭
10.2.1 打开文件
10.2.2 读写文件
10.2.3 关闭文件
10.3 应用程序举例
10.4 扩展阅读
10.5 小结
习题
附录
附录A 常用字符与ASCII字符集 247
附录B C语言中的关键字 252
附录C 运算符和结合性 253
附录D C语言常用语法提要 254
附录E C常用库函数 257
参考文献 261
1.1 计算机的工作原理
1.1.1 初识计算机
1.1.2 冯·诺依曼体系结构
1.2 程序设计与程序设计语言
1.2.1 程序设计
1.2.2 程序设计语言
1.2.3 C语言的发展与特点
1.3 初步认识C语言程序
1.3.1 最简单的C语言程序
1.3.2 包含多个函数的C语言程序
1.3.3 C语言程序的基本结构
1.4 C语言编程环境
1.4.1 C语言程序的开发步骤
1.4.2 CodeBlocks的安装和使用
1.5 扩展阅读
1.6 小结
习题
第2章 计算机算法
2.1 算法的概念
2.1.1 算法的定义
2.1.2 典型的算法
2.1.3 算法的特征
2.1.4 算法的评价
2.2 算法的表示
2.2.1 程序流程图
2.2.2 N-S图
2.2.3 伪代码
2.3 扩展阅读
2.4 小结
习题
第3章 顺序结构程序设计
3.1 数据类型、标识符、常量与变量
3.1.1 数据类型
3.1.2 标识符
3.1.3 常量
3.1.4 变量
3.2 整数类型
3.2.1 整型常量
3.2.2 整型变量
3.3 实数类型
3.3.1 实型常量
3.3.2 实型变量
3.4 字符型数据
3.4.1 字符型常量
3.4.2 字符型变量
3.4.3 字符串常量
3.5 数值型数据间的混合运算
3.5.1 自动转换
3.5.2 强制类型转换
3.6 运算符和表达式
3.6.1 算术运算符
3.6.2 算术运算的优先级与结合性
3.6.3 赋值运算符与赋值表达式
3.7 数据输入输出
3.7.1格式输出函数printf()
3.7.2 格式输入函数scanf()
3.7.3 字符数据的输入输出
3.8 C语句分类
3.9 顺序结构程序设计
3.10 扩展阅读
3.11 小结
习题
第4章 选择结构程序设计
4.1 选择结构与条件判断
4.2 关系表达式与逻辑表达式
4.2.1 关系表达式
4.2.2 逻辑表达式
4.2.3 条件运算符
4.3 用if语句实现选择结构
4.3.1 单分支结构if语句
4.3.2 二分支结构if语句
4.3.3 多分支结构if语句
4.4 选择结构的嵌套
4.4.1 if嵌套的一般形式
4.4.2 if-else配对
4.5 用switch语句实现多分支选择结构
4.5.1 switch语句一般形式
4.5.2 switch语句注意事项
4.6 选择结构程序举例
4.7 扩展阅读
4.8 小结
习题
第5章 循环结构程序设计
5.1 循环的基本思想
5.2 while语句
5.2.1 while语句构成的循环结构
5.2.2 while语句的执行过程
5.2.3 利用while语句进行循环结构程序设计
5.3 do…while语句
5.3.1 do…while语句构成的循环结构
5.3.2 do…while语句的执行过程
5.3.3 利用do…while语句进行循环结构程序设计
5.4 for语句
5.4.1 for语句构成的循环结构
5.4.2 for语句的执行过程
5.4.3 利用for语句进行循环结构程序设计
5.4.4 for语句的灵活性
5.4.5 循环结构类型的选择及转换 105
5.5 循环嵌套 105
5.6 break语句与continue语句 107
5.6.1 break语句 107
5.6.2 continue语句 109
5.6.3 break与continue的区别 110
5.7 循环结构程序举例 111
5.8 扩展阅读 113
5.9 小结 114
习题 114
第6章 数组 117
6.1 数组的概念 117
6.2 一维数组 117
6.2.1 一维数组的定义 117
6.2.2 一维数组的引用 118
6.2.3 一维数组的初始化 119
6.2.4 数组和地址 120
6.2.5 一维数组程序举例 121
6.3 二维数组 123
6.3.1 二维数组的定义 123
6.3.2 二维数组的引用 124
6.3.3 二维数组的初始化 124
6.3.4 二维数组程序举例 125
6.4 字符数组与字符串 128
6.4.1 字符数组 128
6.4.2 字符串 128
6.4.3 常用字符串处理函数 129
6.4.4 字符数组与字符串程序设计举例 132
6.5 扩展阅读 135
6.6 小节 136
习题 136
第7章 函数 138
7.1 模块化程序设计与函数 138
7.2 函数的定义、声明与调用 139
7.2.1 函数定义 139
7.2.2 函数调用 140
7.2.3 函数声明 141
7.2.4 没有返回值的函数 142
7.2.5 没有形参的函数 143
7.3 深入理解函数的调用 144
7.3.1 函数调用与内存空间 144
7.3.2 数组作为函数参数 147
7.4 函数的嵌套调用 149
7.5 函数的递归调用 151
7.6 变量的作用域 153
7.6.1 全局变量与局部变量 153
7.6.2 同名变量的作用域 155
7.7 变量的生存期 157
7.8 扩展阅读 159
7.9 小结 160
习题 160
第8章 指针 162
8.1 指针是什么 162
8.2 指针变量 163
8.2.1 什么是指针变量 163
8.2.2 指针变量的定义 164
8.2.3 指针变量的引用 165
8.2.4 指针运算 166
8.2.5 指针变量作为函数参数 168
8.3 通过指针访问数组 170
8.3.1 一维数组元素的指针 170
8.3.2 指向数组元素的指针的运算 170
8.3.3 两种引用数组元素的方法 171
8.3.4 多维数组元素的指针 173
8.3.5 以数组名作函数参数 174
8.4 通过指针引用字符串 176
8.4.1 字符串的引用方式 176
8.4.2 字符指针作为函数参数 178
8.5 函数指针 181
8.6 指针函数 183
8.7 指针数组和多重指针 185
8.7.1 指针数组 185
8.7.2 多重指针 186
8.8 动态内存分配与指向它的指针变量 188
8.8.1 建立和释放内存动态存储区域 188
8.8.2 void指针类型 189
8.9 指针应用程序举例 189
8.10 扩展阅读 195
8.11 小结
习题
第9章 自定义数据类型
9.1 定义和使用结构体变量
9.1.1 结构体类型的定义
9.1.2 结构体变量的定义
9.1.3 结构体变量的初始化与引用
9.2 使用结构体数组
9.2.1 结构体数组的定义
9.2.2 结构体数组的初始化与引用
9.3 结构体指针
9.3.1 结构体指针的概念
9.3.2 结构体与函数 211
9.4 结构体与链表 212
9.5 共用体类型 215
9.5.1 共用体的概念 215
9.5.2 共用体变量的定义与引用 216
9.5.3 共用体类型数据的特点 217
9.6 枚举类型 218
9.7 用typedef声明新类型名
9.8 应用程序举例
9.9 扩展阅读
9.10 小结
习题
第10章 文件
10.1 C语言中文件的概念
10.1.1 文件的概念
10.1.2 文件标识
10.1.3 文件缓冲区
10.1.4 文件类型指针
10.2 文件操作三步曲:打开、读写与关闭
10.2.1 打开文件
10.2.2 读写文件
10.2.3 关闭文件
10.3 应用程序举例
10.4 扩展阅读
10.5 小结
习题
附录
附录A 常用字符与ASCII字符集 247
附录B C语言中的关键字 252
附录C 运算符和结合性 253
附录D C语言常用语法提要 254
附录E C常用库函数 257
参考文献 261