简介
蒋道霞、王维平主编的《C语言程序设计》系统、全面地讲授了C语言
程序设计的基本思想、方法和解决实际问题的技巧。全书共分13章,主要
包括C语言的各种数据类型和运算符、各种表达式、语句结构、函数及库函
数、地址和指针、数组、字符串、变量的作用域、结构体及共用体、位运
算和文件等。
《C语言程序设计》以“工作场景导入”→“知识讲解”→“回到工作
场景”→“工作实训营”为主线编写,在结构安排上,尽可能将概念、知
识点与生活实例相结合,并以例题配合深入学习,每一章都有配套的实训
和知识拓展,突出了实用性和操作性,以便于读者掌握每章的重点及提高
操作能力。本书结构清晰、易教易学、实例丰富、可操作性强、学以致用
、注重能力的培养。
《C语言程序设计》可作为高等院校计算机专业C语言程序设计课程的
教材,也可以作为等级考试的辅导教材,以及计算机爱好者自学用书和各
类工程技术人员的参考书。
目录
《c语言程序设计》
第1章 c语言概述 1
1.1 c语言的发展与特点 2
1.1.1 c语言的发展历程 2
1.1.2 c语言的特点 2
1.2 c语言程序的格式和构成 4
1.2.1 c语言程序的格式说明 4
1.2.2 c语言程序的构成及编译 5
1.2.3 c语言程序的基本要求 5
1.3 c语言的开发环境 6
1.3.1 visual c++ 6.0的安装 6
1.3.2 进入visual c++ 6.0开发环境 8
1.3.3 visual c++ 6.0重要菜单命令介绍 9
本章小结 10
习题 10
第2章 数据描述与基本操作 13
2.1 工作场景导入 14
2.2 数据类型 14
2.2.1 常量与变量 14
2.2.2 整型数据 18
.2.2.3 实型数据 19
2.2.4 字符型数据 20
2.3 运算符与表达式 21
2.3.1 算术运算符与算术表达式 22
2.3.2 赋值运算符与赋值表达式 25
2.3.3 逗号运算符与逗号表达式 27
2.4 不同类型数据间的混合运算 28
2.4.1 隐式类型转换 29
2.4.2 强制类型转换 30
2.5 回到工作场景 30
2.6 工作实训营 31
2.6.1 训练实例 31
2.6.2 工作实践常见问题解析 32
本章小结 33
习题 33
第3章 顺序结构 37
3.1 工作场景导入 38
3.2 c语句 38
3.2.1 表达式语句 38
3.2.2 函数调用语句 39
3.2.3 控制语句 39
3.2.4 空语句 39
3.2.5 复合语句 40
3.3 数据的输入与输出 41
3.3.1 格式输入函数 41
3.3.2 格式输出函数 45
3.3.3 字符输出函数 49
3.3.4 字符输入函数 50
3.4 顺序程序设计 51
3.5 回到工作场景 52
3.6 工作实训营 53
3.6.1 训练实例 53
3.6.2 工作实践常见问题解析 54
本章小结 55
习题 56
第4章 选择结构 59
4.1 工作场景导入 60
4.2 关系运算符与关系表达式 60
4.2.1 关系运算符 60
4.2.2 关系表达式 61
4.3 逻辑运算符与逻辑表达式 62
4.3.1 逻辑运算符 62
4.3.2 逻辑表达式 63
4.4 if语句 64
4.4.1 if语句的三种格式 64
4.4.2 嵌套选择语句 68
4.4.3 条件运算符 69
4.5 switch语句 71
4.6 选择结构程序设计举例 72
4.7 回到工作场景 74
4.8 工作实训营 76
4.8.1 训练实例 76
4.8.2 工作实践常见问题解析 78
本章小结 79
习题 80
第5章 循环结构 85
5.1 工作场景导入 86
5.2 while型循环 86
5.2.1 while结构的形式 86
5.2.2 while循环的语义 87
5.3 do-while型循环 89
5.3.1 结构形式 89
5.3.2 do-while循环的含义 90
5.4 for型循环 91
5.4.1 for循环的表现形式 91
5.4.2 for语句的变型 93
5.5 其他控制语句 94
5.5.1 break语句 94
5.5.2 continue语句 95
5.6 回到工作场景 97
5.7 工作实训营 98
5.7.1 训练实例 98
5.7.2 工作实践常见问题解析 100
本章小结 101
习题 102
第6章 数组 107
6.1 工作场景导入 108
6.2 一维数组 108
6.2.1 一维数组的定义与引用 108
6.2.2 一维数组的初始化 109
6.2.3 一维数组应用举例 109
6.3 二维数组与多维数组 112
6.3.1 二维数组的定义与引用 112
6.3.2 二维数组的初始化 113
6.3.3 二维数组应用举例 113
6.3.4 多维数组 115
6.4 字符数组与字符串 116
6.4.1 字符数组定义 116
6.4.2 字符数组的初始化 116
6.4.3 字符串 117
6.4.4 字符串的输入与输出 117
6.4.5 字符串处理函数 118
6.5 回到工作场景 120
6.6 工作实训营 121
6.6.1 训练实例 121
6.6.2 工作实践中常见问题解析 123
本章小结 123
习题 124
第7章 函数 129
7.1 工作场景导入 130
7.2 函数定义 130
7.3 函数间的参数传递 132
7.3.1 形式参数和实际参数 132
7.3.2 函数的返回值 133
7.4 函数的参数传递方式 133
7.4.1 普通变量作为函数参数 133
7.4.2 数组作为函数参数 134
7.5 函数调用 135
7.5.1 调用的一般形式 135
7.5.2 函数调用方式 135
7.5.3 函数的嵌套调用 136
7.5.4 函数的递归调用 138
7.6 变量的作用域 139
7.6.1 局部变量 139
7.6.2 全局变量 140
7.7 变量的存储类型 141
7.7.1 动态变量 141
7.7.2 静态变量 141
7.7.3 全局变量的存储类型 142
7.8 函数的作用域 142
7.8.1 内部函数 142
7.8.2 外部函数 143
7.9 回到工作场景 143
7.10 工作实训营 145
7.10.1 训练实例 145
7.10.2 工作实践常见问题解析 146
本章小结 147
习题 148
第8章 指针 153
8.1 工作场景导入 154
8.2 指针与地址 155
8.3 指针变量 156
8.3.1 指针变量的定义 156
8.3.2 指针变量赋值与初始化 157
8.3.3 指针变量的引用 158
8.3.4 指针的算术运算 160
8.4 指针与数组 162
8.4.1 一维数组的指针 162
8.4.2 二维数组的指针 166
8.5 指针与函数 171
8.5.1 指针作为函数参数 171
8.5.2 指针型函数 174
8.5.3 一维数组的指针作为函数参数 177
8.5.4 二维数组的指针作为函数参数 180
8.6 指针与字符串 184
8.6.1 单字符串 184
8.6.2 多字符串 187
8.6.3 字符串指针作为函数参数 189
8.7 字符数组与字符指针的区别 190
8.8 指向指针的指针 190
8.8.1 定义形式 191
8.8.2 传给main函数的参数 193
8.8.3 void指针类型 196
8.9 回到工作场景 198
8.10 工作实训营 201
8.10.1 训练实例 201
8.10.2 工作实践常见问题解析 202
本章小结 203
习题 204
第9章 编译预处理 209
9.1 工作场景导入 210
9.2 宏定义 210
9.2.1 无参数宏定义 210
9.2.2 有参数宏定义 215
9.2.3 宏替换与函数调用的区别 217
9.3 文件包含 218
9.4 条件编译 221
9.5 回到工作场景 224
9.6 工作实训营 225
9.6.1 训练实例 225
9.6.2 工作实践常见问题解析 227
本章小结 227
习题 228
第10章 复杂数据类型 233
10.1 工作场景导入 234
10.2 结构体 234
10.2.1 结构体类型的声明 235
10.2.2 结构体变量 236
10.2.3 结构体变量的引用与初始化 238
10.2.4 结构体数组 241
10.2.5 结构体指针 243
10.2.6 结构体与函数 247
10.2.7 结构体嵌套 251
10.3 用指针操作链表 252
10.3.1 链表概述 252
10.3.2 动态内存管理函数 253
10.3.3 链表的基本操作 254
10.3.4 结点的插入与删除 256
10.4 共用体 261
10.4.1 共用体类型定义 262
10.4.2 共用体变量的引用 263
10.5 枚举类型 265
10.6 类型定义typedef 267
10.7 回到工作场景 269
10.8 工作实训营 271
10.8.1 训练实例 271
10.8.2 工作实践常见问题解析 274
本章小结 274
习题 275
第11章 文件 281
11.1 工作场景导入 282
11.2 c文件的概述 283
11.2.1 文件的基本概念 283
11.2.2 文件指针 284
11.3 文件的打开与关闭 285
11.4 文件的读写 287
11.4.1 单个字符的读写操作 287
11.4.2 字符串的读写操作 289
11.4.3 数据块的读写操作 291
11.4.4 格式化读写函数 293
11.5 文件的定位与出错检测 295
11.5.1 文件的定位 296
11.5.2 文件操作的出错检测 297
11.6 回到工作场景 299
11.7 工作实训营 299
11.7.1 训练实例 299
11.7.2 工作实践常见问题解析 301
本章小结 301
习题 302
第12章 位运算 307
12.1 工作场景导入 308
12.2 二进制位运算概述 308
12.3 各种位运算 309
12.4 回到工作场景 314
12.5 工作实训营 315
12.5.1 训练实例 315
12.5.2 工作实践常见问题解析 316
本章小结 316
习题 317
第13章 课程设计实训项目 319
附录a 常用ascii代码对照表 339
附录b c语言中的关键字 340
附录c 常用的ansi c标准库函数 341
附录d 第13章实例程序 347
附录e 习题答案 357
参考文献 380
第1章 c语言概述 1
1.1 c语言的发展与特点 2
1.1.1 c语言的发展历程 2
1.1.2 c语言的特点 2
1.2 c语言程序的格式和构成 4
1.2.1 c语言程序的格式说明 4
1.2.2 c语言程序的构成及编译 5
1.2.3 c语言程序的基本要求 5
1.3 c语言的开发环境 6
1.3.1 visual c++ 6.0的安装 6
1.3.2 进入visual c++ 6.0开发环境 8
1.3.3 visual c++ 6.0重要菜单命令介绍 9
本章小结 10
习题 10
第2章 数据描述与基本操作 13
2.1 工作场景导入 14
2.2 数据类型 14
2.2.1 常量与变量 14
2.2.2 整型数据 18
.2.2.3 实型数据 19
2.2.4 字符型数据 20
2.3 运算符与表达式 21
2.3.1 算术运算符与算术表达式 22
2.3.2 赋值运算符与赋值表达式 25
2.3.3 逗号运算符与逗号表达式 27
2.4 不同类型数据间的混合运算 28
2.4.1 隐式类型转换 29
2.4.2 强制类型转换 30
2.5 回到工作场景 30
2.6 工作实训营 31
2.6.1 训练实例 31
2.6.2 工作实践常见问题解析 32
本章小结 33
习题 33
第3章 顺序结构 37
3.1 工作场景导入 38
3.2 c语句 38
3.2.1 表达式语句 38
3.2.2 函数调用语句 39
3.2.3 控制语句 39
3.2.4 空语句 39
3.2.5 复合语句 40
3.3 数据的输入与输出 41
3.3.1 格式输入函数 41
3.3.2 格式输出函数 45
3.3.3 字符输出函数 49
3.3.4 字符输入函数 50
3.4 顺序程序设计 51
3.5 回到工作场景 52
3.6 工作实训营 53
3.6.1 训练实例 53
3.6.2 工作实践常见问题解析 54
本章小结 55
习题 56
第4章 选择结构 59
4.1 工作场景导入 60
4.2 关系运算符与关系表达式 60
4.2.1 关系运算符 60
4.2.2 关系表达式 61
4.3 逻辑运算符与逻辑表达式 62
4.3.1 逻辑运算符 62
4.3.2 逻辑表达式 63
4.4 if语句 64
4.4.1 if语句的三种格式 64
4.4.2 嵌套选择语句 68
4.4.3 条件运算符 69
4.5 switch语句 71
4.6 选择结构程序设计举例 72
4.7 回到工作场景 74
4.8 工作实训营 76
4.8.1 训练实例 76
4.8.2 工作实践常见问题解析 78
本章小结 79
习题 80
第5章 循环结构 85
5.1 工作场景导入 86
5.2 while型循环 86
5.2.1 while结构的形式 86
5.2.2 while循环的语义 87
5.3 do-while型循环 89
5.3.1 结构形式 89
5.3.2 do-while循环的含义 90
5.4 for型循环 91
5.4.1 for循环的表现形式 91
5.4.2 for语句的变型 93
5.5 其他控制语句 94
5.5.1 break语句 94
5.5.2 continue语句 95
5.6 回到工作场景 97
5.7 工作实训营 98
5.7.1 训练实例 98
5.7.2 工作实践常见问题解析 100
本章小结 101
习题 102
第6章 数组 107
6.1 工作场景导入 108
6.2 一维数组 108
6.2.1 一维数组的定义与引用 108
6.2.2 一维数组的初始化 109
6.2.3 一维数组应用举例 109
6.3 二维数组与多维数组 112
6.3.1 二维数组的定义与引用 112
6.3.2 二维数组的初始化 113
6.3.3 二维数组应用举例 113
6.3.4 多维数组 115
6.4 字符数组与字符串 116
6.4.1 字符数组定义 116
6.4.2 字符数组的初始化 116
6.4.3 字符串 117
6.4.4 字符串的输入与输出 117
6.4.5 字符串处理函数 118
6.5 回到工作场景 120
6.6 工作实训营 121
6.6.1 训练实例 121
6.6.2 工作实践中常见问题解析 123
本章小结 123
习题 124
第7章 函数 129
7.1 工作场景导入 130
7.2 函数定义 130
7.3 函数间的参数传递 132
7.3.1 形式参数和实际参数 132
7.3.2 函数的返回值 133
7.4 函数的参数传递方式 133
7.4.1 普通变量作为函数参数 133
7.4.2 数组作为函数参数 134
7.5 函数调用 135
7.5.1 调用的一般形式 135
7.5.2 函数调用方式 135
7.5.3 函数的嵌套调用 136
7.5.4 函数的递归调用 138
7.6 变量的作用域 139
7.6.1 局部变量 139
7.6.2 全局变量 140
7.7 变量的存储类型 141
7.7.1 动态变量 141
7.7.2 静态变量 141
7.7.3 全局变量的存储类型 142
7.8 函数的作用域 142
7.8.1 内部函数 142
7.8.2 外部函数 143
7.9 回到工作场景 143
7.10 工作实训营 145
7.10.1 训练实例 145
7.10.2 工作实践常见问题解析 146
本章小结 147
习题 148
第8章 指针 153
8.1 工作场景导入 154
8.2 指针与地址 155
8.3 指针变量 156
8.3.1 指针变量的定义 156
8.3.2 指针变量赋值与初始化 157
8.3.3 指针变量的引用 158
8.3.4 指针的算术运算 160
8.4 指针与数组 162
8.4.1 一维数组的指针 162
8.4.2 二维数组的指针 166
8.5 指针与函数 171
8.5.1 指针作为函数参数 171
8.5.2 指针型函数 174
8.5.3 一维数组的指针作为函数参数 177
8.5.4 二维数组的指针作为函数参数 180
8.6 指针与字符串 184
8.6.1 单字符串 184
8.6.2 多字符串 187
8.6.3 字符串指针作为函数参数 189
8.7 字符数组与字符指针的区别 190
8.8 指向指针的指针 190
8.8.1 定义形式 191
8.8.2 传给main函数的参数 193
8.8.3 void指针类型 196
8.9 回到工作场景 198
8.10 工作实训营 201
8.10.1 训练实例 201
8.10.2 工作实践常见问题解析 202
本章小结 203
习题 204
第9章 编译预处理 209
9.1 工作场景导入 210
9.2 宏定义 210
9.2.1 无参数宏定义 210
9.2.2 有参数宏定义 215
9.2.3 宏替换与函数调用的区别 217
9.3 文件包含 218
9.4 条件编译 221
9.5 回到工作场景 224
9.6 工作实训营 225
9.6.1 训练实例 225
9.6.2 工作实践常见问题解析 227
本章小结 227
习题 228
第10章 复杂数据类型 233
10.1 工作场景导入 234
10.2 结构体 234
10.2.1 结构体类型的声明 235
10.2.2 结构体变量 236
10.2.3 结构体变量的引用与初始化 238
10.2.4 结构体数组 241
10.2.5 结构体指针 243
10.2.6 结构体与函数 247
10.2.7 结构体嵌套 251
10.3 用指针操作链表 252
10.3.1 链表概述 252
10.3.2 动态内存管理函数 253
10.3.3 链表的基本操作 254
10.3.4 结点的插入与删除 256
10.4 共用体 261
10.4.1 共用体类型定义 262
10.4.2 共用体变量的引用 263
10.5 枚举类型 265
10.6 类型定义typedef 267
10.7 回到工作场景 269
10.8 工作实训营 271
10.8.1 训练实例 271
10.8.2 工作实践常见问题解析 274
本章小结 274
习题 275
第11章 文件 281
11.1 工作场景导入 282
11.2 c文件的概述 283
11.2.1 文件的基本概念 283
11.2.2 文件指针 284
11.3 文件的打开与关闭 285
11.4 文件的读写 287
11.4.1 单个字符的读写操作 287
11.4.2 字符串的读写操作 289
11.4.3 数据块的读写操作 291
11.4.4 格式化读写函数 293
11.5 文件的定位与出错检测 295
11.5.1 文件的定位 296
11.5.2 文件操作的出错检测 297
11.6 回到工作场景 299
11.7 工作实训营 299
11.7.1 训练实例 299
11.7.2 工作实践常见问题解析 301
本章小结 301
习题 302
第12章 位运算 307
12.1 工作场景导入 308
12.2 二进制位运算概述 308
12.3 各种位运算 309
12.4 回到工作场景 314
12.5 工作实训营 315
12.5.1 训练实例 315
12.5.2 工作实践常见问题解析 316
本章小结 316
习题 317
第13章 课程设计实训项目 319
附录a 常用ascii代码对照表 339
附录b c语言中的关键字 340
附录c 常用的ansi c标准库函数 341
附录d 第13章实例程序 347
附录e 习题答案 357
参考文献 380
C语言程序设计
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×