- 科学出版社
- 9787030699374
- 1版
- 421513
- 46258970-6
- 平装
- 16开
- 2021-10
- 244
- 工学
- 计算机科学与技术
- 工学
- 本科
内容简介
本书分程序设计概述篇、基础语法篇和问题求解篇,共十一章,在内容编排上注重易用性。每章开头都给出了知识要点,帮助读者了解学习的重点,设置了扩展的思考问题,引导读者多角度地分析问题、解决问题。本书的核心内容为基础语法篇和问题求解篇。基础语法篇主要突出C语言的语法规则和语句结构;问题求解篇引入实际问题,从问题求解过程的分析到使用C语言实现算法,由浅及深地引导读者掌握C语言的精髓。
本书既可作为高等院校程序设计语言基础课程的教材,也可供使用C语言或对C语言感兴趣的相关人员阅读。
本书既可作为高等院校程序设计语言基础课程的教材,也可供使用C语言或对C语言感兴趣的相关人员阅读。
目录
第1篇 程序设计概述
第1章 高级程序设计语言概论 3
1.1 软件与程序设计语言 3
1.1.1 软件概述 3
1.1.2 软件生命周期 4
1.1.3 程序设计语言概述 5
1.2 面向过程语言——C语言 6
1.2.1 一个简单的C语言程序 7
1.2.2 C语言的程序基本结构 10
1.3 面向对象语言 11
1.3.1 Java 11
1.3.2 C++ 13
1.3.3 Python 16
本章小结 18
习题 18
第2章 算法分析与描述 19
2.1 算法 19
2.1.1 算法的概念 19
2.1.2 算法分析 20
2.2 算法描述 22
2.2.1 自然语言描述算法 22
2.2.2 流程图描述算法 22
2.2.3 N-S图描述算法 24
2.2.4 伪代码描述算法 24
2.3 常见问题分析与算法描述 25
2.3.1 数据交换问题 25
2.3.2 找最值问题 26
2.3.3 条件判断问题 26
2.3.4 排序问题 27
2.3.5 查找问题 28
本章小结 28
习题 29
第2篇 基础语法
第3章 C程序的结构 33
3.1 C程序的基本结构 33
3.2 标识符与关键字 36
3.3 数据类型和常量、变量 37
3.3.1 基本数据类型 37
3.3.2 常量 38
3.3.3 变量 40
3.4 表达式 41
3.5 键盘输入与屏幕输出 43
3.6 C基本语句 47
本章小结 48
习题 48
第4章 选择结构 50
4.1 if语句 50
4.2 switch语句 55
4.3 选择结构综合应用 58
本章小结 58
习题 59
第5章 循环结构 61
5.1 循环语句 61
5.1.1 用while实现循环 61
5.1.2 用do...while实现循环 65
5.1.3 用fo
语句实现循环 68
5.2 程序流程的转移控制 71
5.2.1 goto语句 71
5.2.2
eak语句 72
5.2.3 continue语句 74
5.3 嵌套循环 76
5.4 循环结构综合实例 77
5.4.1 穷举法求解问题 77
5.4.2 迭代法求解问题 79
本章小结 81
习题 82
第3篇 问题求解
第6章 批量数据操作 87
6.1 一维数组 87
6.1.1 一维数组的定义及初始化 87
6.1.2 一维数组元素的引用及程序举例 89
6.2 二维数组 95
6.2.1 二维数组的定义 95
6.2.2 二维数组的初始化 96
6.2.3 二维数组的存储 96
6.2.4 二维数组元素的引用及程序举例 97
6.3 字符数组与字符串的应用 100
6.3.1 字符数组 100
6.3.2 字符串 102
6.3.3 字符串处理函数 104
6.4 综合实例——学生成绩管理系统V1.0 107
本章小结 110
习题 110
第7章 模块化程序设计 112
7.1 用户自定义函数实现模块化程序设计 112
7.1.1 如何定义函数 112
7.1.2 如何调用函数 114
7.1.3 如何对函数进行声明 117
7.1.4 函数的返回值 119
7.2 函数的嵌套调用和递归调用 119
7.2.1 函数的嵌套调用 119
7.2.2 函数的递归调用 121
7.3 用模块化程序设计解决数组中的问题 124
7.3.1 一维数组的模块化程序设计 124
7.3.2 二维数组的模块化程序设计 127
7.4 变量的作用域、存储类型 127
7.4.1 变量的作用域 127
7.4.2 变量的存储类型 131
7.5 综合实例——学生成绩管理系统V2.0 133
本章小结 137
习题 138
第8章 指针访问数据 140
8.1 指针的内涵 140
8.2 指针访问基类型数据 142
8.2.1 使用指针变量的例子 142
8.2.2 指针变量的定义 143
8.2.3 指针变量的初始化和引用 144
8.2.4 指针变量做函数参数 145
8.3 指针访问数组 149
8.3.1 数组的指针和数组元素的指针 149
8.3.2 指向数组元素的指针的运算 150
8.3.3 使用指针引用数组元素 151
8.3.4 数组名做函数参数 154
8.3.5 指向多维数组的指针和指针变量 156
8.3.6 字符指针 157
8.4 指针访问函数 160
8.4.1 函数指针变量的定义 161
8.4.2 函数指针变量的引用 161
8.4.3 函数指针变量做函数参数 162
8.5 动态内存管理 163
8.5.1 内存的动态分配 163
8.5.2 动态内存函数的使用 163
8.5.3 void类型的指针 165
本章小结 165
习题 166
第9章 复杂数据操作 168
9.1 用户自定义类型 168
9.2 结构体类型及变量 169
9.2.1 结构体类型的定义 170
9.2.2 结构体变量的定义 172
9.2.3 结构体变量的引用 173
9.2.4 结构体变量的初始化 174
9.2.5 嵌套的结构体 175
9.3 结构体数组 176
9.3.1 结构体数组的定义 178
9.3.2 结构体数组元素的引用 178
9.3.3 结构体数组元素的初始化 178
9.4 结构体指针 179
9.4.1 指向结构体变量的指针 179
9.4.2 指向结构体数组指针 179
9.4.3 结构体指针做函数参数 181
9.5 共用体与枚举类型 183
9.5.1 共用体类型的数据处理 183
9.5.2 枚举类型的数据处理 184
9.5.3 typedef类型 186
9.6 综合应用 186
本章小结 190
习题 190
第10章 文件操作 193
10.1 文件的存储和调用 193
10.1.1 文件名 195
10.1.2 文件的分类 195
10.1.3 文件缓存区 196
10.1.4 文件指针 196
10.2 文件的打开和关闭 197
10.2.1 文件的打开 197
10.2.2 文件的关闭 199
10.3 文件的读写操作 199
10.3.1 字符读写函数fgetc()和fputc() 199
10.3.2 字符串读写函数fgets()和fputs() 202
10.3.3 数据块读写函数f
ead()和fw
ite() 204
10.3.4 格式化读写函数fscanf()和fp
intf() 205
10.4 文件的其他操作 206
10.4.1 文件的随机读写 206
10.4.2 文件检测函数 208
本章小结 208
习题 208
第11章 综合应用案例:银行ATM模拟程序 210
参考文献 225
附录A 常用字符与ASCII值对照表 226
附录
库函数 227
第1章 高级程序设计语言概论 3
1.1 软件与程序设计语言 3
1.1.1 软件概述 3
1.1.2 软件生命周期 4
1.1.3 程序设计语言概述 5
1.2 面向过程语言——C语言 6
1.2.1 一个简单的C语言程序 7
1.2.2 C语言的程序基本结构 10
1.3 面向对象语言 11
1.3.1 Java 11
1.3.2 C++ 13
1.3.3 Python 16
本章小结 18
习题 18
第2章 算法分析与描述 19
2.1 算法 19
2.1.1 算法的概念 19
2.1.2 算法分析 20
2.2 算法描述 22
2.2.1 自然语言描述算法 22
2.2.2 流程图描述算法 22
2.2.3 N-S图描述算法 24
2.2.4 伪代码描述算法 24
2.3 常见问题分析与算法描述 25
2.3.1 数据交换问题 25
2.3.2 找最值问题 26
2.3.3 条件判断问题 26
2.3.4 排序问题 27
2.3.5 查找问题 28
本章小结 28
习题 29
第2篇 基础语法
第3章 C程序的结构 33
3.1 C程序的基本结构 33
3.2 标识符与关键字 36
3.3 数据类型和常量、变量 37
3.3.1 基本数据类型 37
3.3.2 常量 38
3.3.3 变量 40
3.4 表达式 41
3.5 键盘输入与屏幕输出 43
3.6 C基本语句 47
本章小结 48
习题 48
第4章 选择结构 50
4.1 if语句 50
4.2 switch语句 55
4.3 选择结构综合应用 58
本章小结 58
习题 59
第5章 循环结构 61
5.1 循环语句 61
5.1.1 用while实现循环 61
5.1.2 用do...while实现循环 65
5.1.3 用fo
语句实现循环 68
5.2 程序流程的转移控制 71
5.2.1 goto语句 71
5.2.2
eak语句 72
5.2.3 continue语句 74
5.3 嵌套循环 76
5.4 循环结构综合实例 77
5.4.1 穷举法求解问题 77
5.4.2 迭代法求解问题 79
本章小结 81
习题 82
第3篇 问题求解
第6章 批量数据操作 87
6.1 一维数组 87
6.1.1 一维数组的定义及初始化 87
6.1.2 一维数组元素的引用及程序举例 89
6.2 二维数组 95
6.2.1 二维数组的定义 95
6.2.2 二维数组的初始化 96
6.2.3 二维数组的存储 96
6.2.4 二维数组元素的引用及程序举例 97
6.3 字符数组与字符串的应用 100
6.3.1 字符数组 100
6.3.2 字符串 102
6.3.3 字符串处理函数 104
6.4 综合实例——学生成绩管理系统V1.0 107
本章小结 110
习题 110
第7章 模块化程序设计 112
7.1 用户自定义函数实现模块化程序设计 112
7.1.1 如何定义函数 112
7.1.2 如何调用函数 114
7.1.3 如何对函数进行声明 117
7.1.4 函数的返回值 119
7.2 函数的嵌套调用和递归调用 119
7.2.1 函数的嵌套调用 119
7.2.2 函数的递归调用 121
7.3 用模块化程序设计解决数组中的问题 124
7.3.1 一维数组的模块化程序设计 124
7.3.2 二维数组的模块化程序设计 127
7.4 变量的作用域、存储类型 127
7.4.1 变量的作用域 127
7.4.2 变量的存储类型 131
7.5 综合实例——学生成绩管理系统V2.0 133
本章小结 137
习题 138
第8章 指针访问数据 140
8.1 指针的内涵 140
8.2 指针访问基类型数据 142
8.2.1 使用指针变量的例子 142
8.2.2 指针变量的定义 143
8.2.3 指针变量的初始化和引用 144
8.2.4 指针变量做函数参数 145
8.3 指针访问数组 149
8.3.1 数组的指针和数组元素的指针 149
8.3.2 指向数组元素的指针的运算 150
8.3.3 使用指针引用数组元素 151
8.3.4 数组名做函数参数 154
8.3.5 指向多维数组的指针和指针变量 156
8.3.6 字符指针 157
8.4 指针访问函数 160
8.4.1 函数指针变量的定义 161
8.4.2 函数指针变量的引用 161
8.4.3 函数指针变量做函数参数 162
8.5 动态内存管理 163
8.5.1 内存的动态分配 163
8.5.2 动态内存函数的使用 163
8.5.3 void类型的指针 165
本章小结 165
习题 166
第9章 复杂数据操作 168
9.1 用户自定义类型 168
9.2 结构体类型及变量 169
9.2.1 结构体类型的定义 170
9.2.2 结构体变量的定义 172
9.2.3 结构体变量的引用 173
9.2.4 结构体变量的初始化 174
9.2.5 嵌套的结构体 175
9.3 结构体数组 176
9.3.1 结构体数组的定义 178
9.3.2 结构体数组元素的引用 178
9.3.3 结构体数组元素的初始化 178
9.4 结构体指针 179
9.4.1 指向结构体变量的指针 179
9.4.2 指向结构体数组指针 179
9.4.3 结构体指针做函数参数 181
9.5 共用体与枚举类型 183
9.5.1 共用体类型的数据处理 183
9.5.2 枚举类型的数据处理 184
9.5.3 typedef类型 186
9.6 综合应用 186
本章小结 190
习题 190
第10章 文件操作 193
10.1 文件的存储和调用 193
10.1.1 文件名 195
10.1.2 文件的分类 195
10.1.3 文件缓存区 196
10.1.4 文件指针 196
10.2 文件的打开和关闭 197
10.2.1 文件的打开 197
10.2.2 文件的关闭 199
10.3 文件的读写操作 199
10.3.1 字符读写函数fgetc()和fputc() 199
10.3.2 字符串读写函数fgets()和fputs() 202
10.3.3 数据块读写函数f
ead()和fw
ite() 204
10.3.4 格式化读写函数fscanf()和fp
intf() 205
10.4 文件的其他操作 206
10.4.1 文件的随机读写 206
10.4.2 文件检测函数 208
本章小结 208
习题 208
第11章 综合应用案例:银行ATM模拟程序 210
参考文献 225
附录A 常用字符与ASCII值对照表 226
附录
库函数 227