书籍详情
C语言程序设计(慕课版)
作者:刘琨,段再超,赵冠哲,霍利岭,吕晓晴 著
出版社:人民邮电出版社
出版时间:2020-09-01
ISBN:9787115543493
定价:¥49.80
购买这本书可以去
内容简介
本书以初学者为主要对象,全面介绍了C语言程序设计的相关技术。在内容排列上由浅入深,让读者循序渐进地掌握C语言编程;在内容讲解上结合丰富的图解和形象的比喻,帮助读者理解“晦涩难懂”的技术;在内容形式上附有大量的注意、说明等栏目,夯实读者理论技术,丰富管理与开发经验。本书共分16章,其中前12章为基础部分,主要包括为什么要学C语言,最简单的C语言程序,什么是程序,C语言基础——数据类型、常量及变量,选择结构程序设计,循环结构程序设计,同一类型多个元素的集合——数组,写程序就是写函数,C语言的特产——指针,编译预处理,结构体和文件等内容;后4章为提高篇,核心是“以考促学”,主要包括全国计算机等级考试(NCRE)简介、考试流程、通过真题了解评分标准及注意事项和公共基础知识等内容。本书中的例题和课后习题包含了许多全国计算机等级考试二级真题,并且按照二级考试大纲要求,开发环境使用Visual C++ 2010 Express。本书可作为高等学校各专业C语言程序设计课程教材。对计算机爱好者、中学生、职高中专学生及各类自学人员也有参考价值。
作者简介
刘琨,河北师范大学软件学院php教研室教师,渡手科技实训中心教学总监,拥有五年软件开发和管理工作经验(其中包括两年海外工作经验),四年IT教学工作经验。资深技术讲师,实战经验丰富,授课耐心细致,通俗易懂,勇于实践,勤于创新,授课风格贴近生活,授课语言生动风趣,多年来培训的学员已成功在用友、搜狐、淘宝、中软等知名企业就职。
目录
第1章 为什么要学C语言 1
1.1 这门语言值得一学吗 1
1.2 C 语言教给我们的事 2
1.3 C 语言程序“编辑”体验 4
1.4 开发工具 4
1.4.1 Dev-C++ 5
1.4.2 Visual C++ 5
1.4.3 Visual C++2010 Express 7
1.5 C 语言程序的开发流程 7
1.5.1 编译C 语言源代码 8
1.5.2 连接目标文件 9
1.5.3 编译连接过程示例 9
1.5.4 运行程序 9
1.6 习题 10
第2章 最简单的C 语言程序 11
2.1 C 语言程序的构成 11
2.2 C 语言程序的注释 12
2.3 C 语言程序必须有main 函数 13
2.4 调用函数在屏幕上显示文字 14
2.5 #include 预处理器指示符 14
2.5.1 函数声明及其作用 14
2.5.2 试验寻找#include 的作用 15
2.5.3 #include 的作用 15
2.6 习题 16
第3章 什么是程序 18
3.1 程序简介 18
3.2 输入—处理—输出:这就是程序 19
3.2.1 用printf 函数输出数据 19
3.2.2 用scanf 函数输入数据 20
3.3 结构化程序设计 21
3.4 顺序结构与流程图 22
3.5 选择结构 24
3.6 循环结构 25
3.7 扩充内容:printf 函数的格式字符 27
3.8 扩充内容:scanf 函数的格式字符 31
3.9 扩充内容:字符输入输出函数 33
3.10 习题 37
3.10.1 输入输出函数 37
3.10.2 结构化程序设计 38
第4章 C 语言基础——数据类型、常量及变量 39
4.1 计算机是如何表示数据的 39
4.1.1 二进制、八进制和十六进制 39
4.1.2 表示数据的字节和位 40
4.2 数据类型 41
4.2.1 整型数据 42
4.2.2 字符型数据 45
4.2.3 实数类型 47
4.2.4 数据类型转换 48
4.3 常量 52
4.4 变量 54
4.4.1变量概述 54
4.4.2 为变量赋初值 57
4.4.3 变量使用时常见的错误 58
4.4.4 几个与变量相关的经典算法 59
4.5 扩充内容:标识符 61
4.6 习题 62
4.6.1 进制转换 62
4.6.2 数据类型 62
4.6.3 常量与变量 62
4.6.4 标识符 63
第5章 选择结构程序设计 64
5.1 用if 语句实现选择结构 65
5.2 switch 语句 69
5.3 扩充内容:关系运算符和关系表达式 73
5.4 扩充内容:条件运算符和条件表达式 74
5.5 扩充内容:逻辑运算符和逻辑表达式 75
5.6 习题 77
5.6.1 关系、条件及逻辑运算符 77
5.6.2 条件语句 77
第6章 循环结构程序设计 80
6.1 while 语句 80
6.2 do-while 语句 81
6.3 for 语句 82
6.4 循环嵌套 83
6.5 跳转语句 87
6.5.1 break 语句 87
6.5.2 continue 语句 88
6.6 扩充内容:算术运算符 89
6.7 扩充内容:赋值运算符 90
6.8 扩充内容:逗号运算符 90
6.9 习题 91
6.9.1 基本循环语句 91
6.9.2 嵌套循环 92
6.9.3 跳转语句 92
6.9.4 循环应用 93
第7章 同一类型多个元素的 集合——数组 95
7.1 一维数组 95
7.1.1 一维数组的声明和初始化 95
7.1.2 一维数组的引用 96
7.1.3 一维数组的实例 97
7.2 二维数组 101
7.2.1 二维数组的定义 101
7.2.2 二维数组的初始化 102
7.2.3 二维数组元素的引用 103
7.2.4 二维数组应用举例 103
7.3 字符数组 104
7.3.1 字符数组的定义 104
7.3.2 字符数组的初始化 105
7.3.3 字符数组的引用 105
7.4 字符数组与字符串 105
7.4.1 字符串的初始化 106
7.4.2 字符串的输入输出 107
7.4.3 字符串应用举例 108
7.4.4 使用字符串处理函数 110
7.5 习题 112
7.5.1 一维数组的定义和引用 112
7.5.2 二维数组的定义和引用 113
7.5.3 字符数组 114
第8章 写程序就是写函数 117
8.1 什么是函数 117
8.1.1 函数的由来 117
8.1.2 分而治之与信息隐藏 118
8.2 函数的分类和定义 120
8.2.1 函数的分类 120
8.2.2函数的定义 120
8.3 形式参数和实际参数分配内存的区别 122
8.4 函数的返回值 124
8.5 函数调用 126
8.5.1 函数调用的一般形式 126
8.5.2 函数调用的执行过程 128
8.6 函数的声明 129
8.7 函数的嵌套调用 131
8.8 函数的递归调用 133
8.9 数组作为函数参数——值传递与地址传递 137
8.9.1 数组元素作为函数实参——值传递 137
8.9.2 一维数组名作为函数参数——地址传递 138
8.10 变量的作用域 141
8.11 变量的存储类型 143
8.11.1 uto 变量 143
8.11.2 register 变量 143
8.11.3 extern 变量 144
8.11.4 static 变量 146
8.11.5 存储类型小结 148
8.12 习题 149
8.12.1 函数的调用与声明 149
8.12.2 函数的嵌套调用和递归调用 152
8.12.3 数组作为函数参数——值传递与地址传递 154
8.12.4 全局变量和局部变量 155
8.12.5 变量的存储类型 155
第9 章 C 语言特产——指针 157
9.1 指针简介 157
9.2 指针变量的定义 158
9.3 指针变量的初始化 159
9.4 指针变量的引用 160
9.4.1 与指针有关的两种运算符 160
9.4.2 指针变量的引用 161
9.5 指针与一维数组 161
9.6 指针与字符串 163
9.7 指针数组 165
9.8 二级指针 166
9.9 指针与二维数组 168
9.9.1 二维数组的行地址和列地址 168
9.9.2 通过二维数组的行指针和列指针来引用二维数组 170
9.10 指针与函数 171
9.10.1 函数名与指针的关系 171
9.10.2 返回指针变量的函数 172
9.11 指针总结 173
9.11.1 明确分辨各种指针类型 174
9.11.2 正确理解指针 174
9.12 扩充内容:使用指针引用数组元素的优点 175
9.13 扩充内容:函数指针与函数名 176
9.13.1 函数指针与函数名的区别 176
9.13.2 函数指针的作用 178
9.14 习题 178
9.14.1 指针概述与定义 178
9.14.2 指针变量的初始化 179
9.14.3 指针变量的引用 179
9.14.4 数组与指针 180
9.14.5 指针与字符串 181
9.14.6 指针数组 182
9.14.7 二维数组与指针 182
9.14.8 指向函数的指针 183
第10 章编译预处理 184
10.1 不带参数的宏定义 184
10.2 带参数的宏定义 186
10.3 #include 命令 187
10.4 习题 188
10.4.1 宏定义和调用 188
10.4.2 预处理 189
第11 章结构体 191
11.1 结构体类型与结构体变量 191
11.1.1 结构体类型的定义 191
11.1.2 结构体变量的定义 192
11.1.3 结构体变量的初始化和引用 195
11.2 结构体数组 196
11.2.1 结构体数组的定义 196
11.2.2 结构体数组的初始化和引用 197
11.3 结构体指针 198
11.3.1 结构体指针变量的定义与引用 198
11.3.2 结构体指针作为函数参数 200
11.4 用typedef 定义类型 201
11.5 链表 202
11.5.1 什么是链表 202
11.5.2 建立简单的链表 204
11.6 习题 205
11.6.1 结构体类型和结构体变量 205
11.6.2 结构体数组与指针 205
11.6.3 用typedef 说明一个新类型 207
11.6.4 链表 .207
第12章文件 208
12.1 C 语言文件的概念 208
12.1.1 文件的概念及分类 208
12.1.2 文件的处理方式 209
12.2 文件类型指针 209
12.3 文件的打开与关闭 211
12.3.1 文件打开 211
12.3.2 文件关闭 212
12.4 文件的读写 213
12.4.1 文件读写的含义 213
12.4.2 文件读写函数 214
12.5 文件的定位 219
12.6
习题 221
12.6.1 文件的概念及文件类型指针 221
12.6.2 文件的打开与关闭 221
12.6.3 文件的读写 222
12.6.4 文件的定位 223
第13 章全国计算机等级考试 (NCRE)简介 224
13.1 考试大纲基本要求 224
13.2 考试内容 224
13.3 考试方式 225
第14 章考试流程 226
14.1 登录 226
14.1.1 启动考试系统 226
14.1.2 准考证号验证 226
14.1.3 登录成功 227
14.2 答题 227
14.2.1 试题内容查阅窗口 227
14.2.2 考试状态信息条 228
14.2.3 启动考试环境 228
14.2.4 考生文件夹 228
14.3 交卷 229
第15 章通过真题了解评分标准 及注意事项 230
15.1 选择题 230
15.1.1 公共基础知识(共10 分) 230
15.1.2 C 语言基础知识(共30 分) 230
15.2 程序操作题 231
15.2.1 程序填空题(共18 分) 231
15.2.2 程序修改题(共18 分) 232
15.2.3 程序设计题(共24 分) 233
第16 章公共基础知识 234
16.1 数据结构 234
16.1.1 算法 234
16.1.2 数据结构的基本概念 234
16.1.3 线性表及其顺序存储结构 234
16.1.4 栈和队列 235
16.1.5 线性链表 235
16.1.6 树与二叉树 235
16.1.7 查找与排序 236
16.2 程序设计基础 236
16.2.1 程序设计方法与风格 236
16.2.2 结构化程序设计 236
16.2.3 面向对象程序设计 237
16.3 软件工程基础 237
16.3.1 软件工程的基本概念 237
16.3.2 需求分析及其方法 238
16.3.3 软件设计及其方法 238
16.3.4 软件测试 239
16.4 数据库设计基础 239
16.4.1 数据库系统的基本概念 239
16.4.2 E-R 模型 240
16.4.3 关系代数 240
16.4.4 数据库设计 241
附录A 字符与标准ASCII 代码 对照表 242
附录B 运算符和结合性 243
附录C Visual C++ 2010 Express 基本操作 246
C.1 常见配置 246
C.1.1 添加行号 246
C.1.2 添加生成工具栏 246
C.1.3 添加开始执行(不调试)按钮 247
C.2 创建工程 248
C.3 添加源程序 250
C.4 编写hello.c 编译并执行 251
1.1 这门语言值得一学吗 1
1.2 C 语言教给我们的事 2
1.3 C 语言程序“编辑”体验 4
1.4 开发工具 4
1.4.1 Dev-C++ 5
1.4.2 Visual C++ 5
1.4.3 Visual C++2010 Express 7
1.5 C 语言程序的开发流程 7
1.5.1 编译C 语言源代码 8
1.5.2 连接目标文件 9
1.5.3 编译连接过程示例 9
1.5.4 运行程序 9
1.6 习题 10
第2章 最简单的C 语言程序 11
2.1 C 语言程序的构成 11
2.2 C 语言程序的注释 12
2.3 C 语言程序必须有main 函数 13
2.4 调用函数在屏幕上显示文字 14
2.5 #include 预处理器指示符 14
2.5.1 函数声明及其作用 14
2.5.2 试验寻找#include 的作用 15
2.5.3 #include 的作用 15
2.6 习题 16
第3章 什么是程序 18
3.1 程序简介 18
3.2 输入—处理—输出:这就是程序 19
3.2.1 用printf 函数输出数据 19
3.2.2 用scanf 函数输入数据 20
3.3 结构化程序设计 21
3.4 顺序结构与流程图 22
3.5 选择结构 24
3.6 循环结构 25
3.7 扩充内容:printf 函数的格式字符 27
3.8 扩充内容:scanf 函数的格式字符 31
3.9 扩充内容:字符输入输出函数 33
3.10 习题 37
3.10.1 输入输出函数 37
3.10.2 结构化程序设计 38
第4章 C 语言基础——数据类型、常量及变量 39
4.1 计算机是如何表示数据的 39
4.1.1 二进制、八进制和十六进制 39
4.1.2 表示数据的字节和位 40
4.2 数据类型 41
4.2.1 整型数据 42
4.2.2 字符型数据 45
4.2.3 实数类型 47
4.2.4 数据类型转换 48
4.3 常量 52
4.4 变量 54
4.4.1变量概述 54
4.4.2 为变量赋初值 57
4.4.3 变量使用时常见的错误 58
4.4.4 几个与变量相关的经典算法 59
4.5 扩充内容:标识符 61
4.6 习题 62
4.6.1 进制转换 62
4.6.2 数据类型 62
4.6.3 常量与变量 62
4.6.4 标识符 63
第5章 选择结构程序设计 64
5.1 用if 语句实现选择结构 65
5.2 switch 语句 69
5.3 扩充内容:关系运算符和关系表达式 73
5.4 扩充内容:条件运算符和条件表达式 74
5.5 扩充内容:逻辑运算符和逻辑表达式 75
5.6 习题 77
5.6.1 关系、条件及逻辑运算符 77
5.6.2 条件语句 77
第6章 循环结构程序设计 80
6.1 while 语句 80
6.2 do-while 语句 81
6.3 for 语句 82
6.4 循环嵌套 83
6.5 跳转语句 87
6.5.1 break 语句 87
6.5.2 continue 语句 88
6.6 扩充内容:算术运算符 89
6.7 扩充内容:赋值运算符 90
6.8 扩充内容:逗号运算符 90
6.9 习题 91
6.9.1 基本循环语句 91
6.9.2 嵌套循环 92
6.9.3 跳转语句 92
6.9.4 循环应用 93
第7章 同一类型多个元素的 集合——数组 95
7.1 一维数组 95
7.1.1 一维数组的声明和初始化 95
7.1.2 一维数组的引用 96
7.1.3 一维数组的实例 97
7.2 二维数组 101
7.2.1 二维数组的定义 101
7.2.2 二维数组的初始化 102
7.2.3 二维数组元素的引用 103
7.2.4 二维数组应用举例 103
7.3 字符数组 104
7.3.1 字符数组的定义 104
7.3.2 字符数组的初始化 105
7.3.3 字符数组的引用 105
7.4 字符数组与字符串 105
7.4.1 字符串的初始化 106
7.4.2 字符串的输入输出 107
7.4.3 字符串应用举例 108
7.4.4 使用字符串处理函数 110
7.5 习题 112
7.5.1 一维数组的定义和引用 112
7.5.2 二维数组的定义和引用 113
7.5.3 字符数组 114
第8章 写程序就是写函数 117
8.1 什么是函数 117
8.1.1 函数的由来 117
8.1.2 分而治之与信息隐藏 118
8.2 函数的分类和定义 120
8.2.1 函数的分类 120
8.2.2函数的定义 120
8.3 形式参数和实际参数分配内存的区别 122
8.4 函数的返回值 124
8.5 函数调用 126
8.5.1 函数调用的一般形式 126
8.5.2 函数调用的执行过程 128
8.6 函数的声明 129
8.7 函数的嵌套调用 131
8.8 函数的递归调用 133
8.9 数组作为函数参数——值传递与地址传递 137
8.9.1 数组元素作为函数实参——值传递 137
8.9.2 一维数组名作为函数参数——地址传递 138
8.10 变量的作用域 141
8.11 变量的存储类型 143
8.11.1 uto 变量 143
8.11.2 register 变量 143
8.11.3 extern 变量 144
8.11.4 static 变量 146
8.11.5 存储类型小结 148
8.12 习题 149
8.12.1 函数的调用与声明 149
8.12.2 函数的嵌套调用和递归调用 152
8.12.3 数组作为函数参数——值传递与地址传递 154
8.12.4 全局变量和局部变量 155
8.12.5 变量的存储类型 155
第9 章 C 语言特产——指针 157
9.1 指针简介 157
9.2 指针变量的定义 158
9.3 指针变量的初始化 159
9.4 指针变量的引用 160
9.4.1 与指针有关的两种运算符 160
9.4.2 指针变量的引用 161
9.5 指针与一维数组 161
9.6 指针与字符串 163
9.7 指针数组 165
9.8 二级指针 166
9.9 指针与二维数组 168
9.9.1 二维数组的行地址和列地址 168
9.9.2 通过二维数组的行指针和列指针来引用二维数组 170
9.10 指针与函数 171
9.10.1 函数名与指针的关系 171
9.10.2 返回指针变量的函数 172
9.11 指针总结 173
9.11.1 明确分辨各种指针类型 174
9.11.2 正确理解指针 174
9.12 扩充内容:使用指针引用数组元素的优点 175
9.13 扩充内容:函数指针与函数名 176
9.13.1 函数指针与函数名的区别 176
9.13.2 函数指针的作用 178
9.14 习题 178
9.14.1 指针概述与定义 178
9.14.2 指针变量的初始化 179
9.14.3 指针变量的引用 179
9.14.4 数组与指针 180
9.14.5 指针与字符串 181
9.14.6 指针数组 182
9.14.7 二维数组与指针 182
9.14.8 指向函数的指针 183
第10 章编译预处理 184
10.1 不带参数的宏定义 184
10.2 带参数的宏定义 186
10.3 #include 命令 187
10.4 习题 188
10.4.1 宏定义和调用 188
10.4.2 预处理 189
第11 章结构体 191
11.1 结构体类型与结构体变量 191
11.1.1 结构体类型的定义 191
11.1.2 结构体变量的定义 192
11.1.3 结构体变量的初始化和引用 195
11.2 结构体数组 196
11.2.1 结构体数组的定义 196
11.2.2 结构体数组的初始化和引用 197
11.3 结构体指针 198
11.3.1 结构体指针变量的定义与引用 198
11.3.2 结构体指针作为函数参数 200
11.4 用typedef 定义类型 201
11.5 链表 202
11.5.1 什么是链表 202
11.5.2 建立简单的链表 204
11.6 习题 205
11.6.1 结构体类型和结构体变量 205
11.6.2 结构体数组与指针 205
11.6.3 用typedef 说明一个新类型 207
11.6.4 链表 .207
第12章文件 208
12.1 C 语言文件的概念 208
12.1.1 文件的概念及分类 208
12.1.2 文件的处理方式 209
12.2 文件类型指针 209
12.3 文件的打开与关闭 211
12.3.1 文件打开 211
12.3.2 文件关闭 212
12.4 文件的读写 213
12.4.1 文件读写的含义 213
12.4.2 文件读写函数 214
12.5 文件的定位 219
12.6
习题 221
12.6.1 文件的概念及文件类型指针 221
12.6.2 文件的打开与关闭 221
12.6.3 文件的读写 222
12.6.4 文件的定位 223
第13 章全国计算机等级考试 (NCRE)简介 224
13.1 考试大纲基本要求 224
13.2 考试内容 224
13.3 考试方式 225
第14 章考试流程 226
14.1 登录 226
14.1.1 启动考试系统 226
14.1.2 准考证号验证 226
14.1.3 登录成功 227
14.2 答题 227
14.2.1 试题内容查阅窗口 227
14.2.2 考试状态信息条 228
14.2.3 启动考试环境 228
14.2.4 考生文件夹 228
14.3 交卷 229
第15 章通过真题了解评分标准 及注意事项 230
15.1 选择题 230
15.1.1 公共基础知识(共10 分) 230
15.1.2 C 语言基础知识(共30 分) 230
15.2 程序操作题 231
15.2.1 程序填空题(共18 分) 231
15.2.2 程序修改题(共18 分) 232
15.2.3 程序设计题(共24 分) 233
第16 章公共基础知识 234
16.1 数据结构 234
16.1.1 算法 234
16.1.2 数据结构的基本概念 234
16.1.3 线性表及其顺序存储结构 234
16.1.4 栈和队列 235
16.1.5 线性链表 235
16.1.6 树与二叉树 235
16.1.7 查找与排序 236
16.2 程序设计基础 236
16.2.1 程序设计方法与风格 236
16.2.2 结构化程序设计 236
16.2.3 面向对象程序设计 237
16.3 软件工程基础 237
16.3.1 软件工程的基本概念 237
16.3.2 需求分析及其方法 238
16.3.3 软件设计及其方法 238
16.3.4 软件测试 239
16.4 数据库设计基础 239
16.4.1 数据库系统的基本概念 239
16.4.2 E-R 模型 240
16.4.3 关系代数 240
16.4.4 数据库设计 241
附录A 字符与标准ASCII 代码 对照表 242
附录B 运算符和结合性 243
附录C Visual C++ 2010 Express 基本操作 246
C.1 常见配置 246
C.1.1 添加行号 246
C.1.2 添加生成工具栏 246
C.1.3 添加开始执行(不调试)按钮 247
C.2 创建工程 248
C.3 添加源程序 250
C.4 编写hello.c 编译并执行 251
猜您喜欢