定 价:49 元
丛书名:卓越工程师教育培养计算机类创新系列规划教材
- 作者:吉根林,陈波主编
- 出版时间:2016/2/14 13:41:00
- ISBN:9787030446107
- 出 版 社:科学出版社
- 中图法分类:TP312
- 页码:356
- 纸张:胶版纸
- 版次:01
- 开本:16开
本教材分上篇、下篇两个部分。上篇为理论篇,下篇为实践篇。上篇介绍用C语言开发程序所必需的数据类型、程序语句与结构、常用算法等内容。下篇介绍上机环境、调试程序方法、上机实验、综合实训等。本教材采用"任务驱动"方式,从问题出发介绍C语言的知识点和程序设计思维方法,由浅入深、循序渐进,最后给出求解问题的程序。通过一些编程实例介绍编程算法,强调上机实践,注重计算思维和编程实践能力的培养。该书条理清晰、实例丰富、语言流畅,做到基础性、实用性、趣味性、拓展性四者相结合。
更多科学出版社服务,请扫码获取。
目录
理论知识篇
第1章绪论 2
1.1程序与程序设计语言 2
1.1.1计算机与程序 2
1.1.2程序设计语言 2
1.1.3高级语言程序的开发过程 3
1.2C语言的发展和特点 4
1.2.1C语言的发展历史 4
1.2.0C语言的特点 5
1.2.3C和C++ 6
1.3C程序的结构与书写风格 7
1.4本书组织结构和主要内容 8
本章小结 10
习题1 10
第2章数据的基本类型与基本运算11
【任务2.1】计算圆的面积和周长 11
2.1基本数据类型 11
2.1.1整型 12
2.1.2实型 13
2.1.3字符型 13
2.2常量 14
2.2.1字面常量 14
2.2.2符号常量 15
2.3变量 16
2.3.1变量的概念与命名 16
2.3.2变量的定义和初始化 16
2.3.3变量的赋值 19
2.4数据的基本运算 19
2.4.1C语言运算符简介 19
2.4.2算术运算符与算术表达式 20
2.4.3关系运算符与关系表达式 20
2.4.4逻辑运算符与逻辑表达式 21
2.4.5自增、自减运算符 23
2.4.6运算符的优先级与结合性 25
2.5数据类型转换 26
2.5.1自动类型转换 26
2.5.2强制类型转换 28
2.6完成【任务2.1】的程序 28
2.7简单程序设计实例 29
本章小结 30
习题2 30
第3章数据的输入/输出 33
【任务3.1】计算圆的面积和周长(改进版) 33
3.1C语言的输入/输出 33
3.2字符的非格式化输入/输出函数 33
3.3格式化输出函数printf 34
3.3.1printf 函数概述 34
3.3.2printf函数的格式说明 35
3.3.3printf函数的使用 37
3.4格式化输入函数scanf 39
3.4.1scanf 函数概述 39
3.4.2scanf函数的格式说明 40
3.4.3scanf函数的使用 41
3.5完成【任务3.1】的程序 43
3.6程序设计实例 43
本章小结 45
习题3 45
第4章程序的基本结构与基本语句 48
4.1程序与基本语句 48
4.1.1程序 48
4.1.2C基本语句 51
4.2顺序结构 52
【任务4.1】利用海伦公式求三角形面积 53
4.2.1赋值语句 53
4.2.2逗号运算符与逗号表达式 55
4.2.3完成【任务4.1】的程序 55
4.2.4顺序结构程序设计举例 56
4.3分支结构 57
【任务4.2】利用海伦公式求三角形面积(改进) 57
4.3.1单分支if语句 57
4.3.2双分支if语句 58
4.3.3完成【任务4.2】的程序 59
【任务4.3】百分制成绩转换成五级记分制成绩 61
4.3.4多分支if语句和if语句的嵌套 61
4.3.5条件运算符与条件表达式 63
4.3.6 switch 语句 64
4.3.7完成【任务4.3】的程序 65
4.3.8分支结构程序设计举例 67
4.4循环结构 71
【任务4.4】求100以内所有自然数的累加和 71
4.4.1for 语句 71
4.4.2while 语句 72
4.4.3dowhile 语句 73
4.4.4几种循环的比较 74
4.4.5 break 和 continue 语句 74
4.4.6完成【任务4.4】的程序 76
【任务4.5】打印图形 77
4.4.7循环的嵌套 78
4.4.8完成【任务4.5】的程序 80
4.4.9循环结构程序设计举例 81
本章小结 86
习题4 86
第5章函数和模块化程序设计 90
5.1模块化程序设计方法 90
5.2用户自定义函数 91
【任务5.1】用函数实现累加求和 91
5.2.1函数的定义与声明 91
5.2.2函数调用 93
5.2.3完成【任务5.1】的程序 95
5.3系统库函数 96
【任务5.2】用函数实现素数判定 96
5.3.1头文件与文件包含 97
5.3.2数学函数 98
5.3.3随机函数 99
5.3.4完成【任务5.2】的程序 100
5.4变量的作用域 100
5.4.1局部变量 100
5.4.2全局变量 102
5.4.3重名问题 102
5.5变量的生存期 103
5.5.1动态变量 104
5.5.2静态变量 104
5.6函数的嵌套调用 105
【任务5.3】方程近似解 105
5.6.1函数的嵌套调用 106
5.6.2完成【任务5.3】的程序 106
5.7递归函数 108
【任务5.4】求阶乘 108
5.7.1函数的递归定义与调用 108
5.7.2完成【任务5.4】的程序 108
5.8函数应用程序设计实例 109
本章小结 115
习题5 116
第6章数组 119
6.1一维数组 119
【任务6.1】计算平均成绩 119
6.1.1一维数组的定义与初始化 119
6.1.2一维数组的操作 120
6.1.3完成【任务6.1】的程序 121
6.1.4一维数组应用举例 122
6.2二维数组 125
【任务6.2】计算多科平均成绩 125
6.2.1二维数组的定义与初始化 125
6.2.2二维数组的操作 126
6.2.3完成【任务6.2】的程序 127
6.2.4二维数组应用举例 128
6.3字符串与字符数组 130
【任务6.3】统计字符个数 130
6.3.1字符数组的定义与初始化 130
6.3.2字符串的输入/输出 132
6.3.3字符串处理函数 135
6.3.4完成【任务6.3】的程序 138
6.3.5字符数组应用举例 139
6.4数组名作为函数参数 140
【任务6.4】统计学生成绩 140
6.4.1 一维数组名作为函数参数 140
6.4.2二维数组名作为函数参数 142
6.4.3完成【任务6.4】的程序 143
6.5数组应用程序设计实例 145
本章小结 146
习题6 147
第7章指针 150
7.1指向变量的指针 150
【任务7.1】通过自定义函数实现整数排序 150
7.1.1指针的概念 150
7.1.2指针变量的定义与初始化 151
7.1.3通过指针访问变量 154
7.1.4指针变量作为函数参数 154
7.1.5指针的强制转换 157
7.1.6 void 指针类型 157
7.1.7完成【任务7.1】的程序 158
7.2指向数组的指针 159
【任务7.2】通过自定义函数实现数组逆序 159
7.2.1指针变量与一维数组 159
7.2.2指针变量与二维数组 161
7.2.3数组指针作为函数参数 165
7.2.4完成【任务7.2】的程序 166
7.3指针数组和指向指针的指针 167
【任务7.3】多个字符串排序 167
7.3.1指针数组的定义与使用 168
7.3.2指针数组与字符串数组 169
7.3.3指向指针的指针 171
7.3.4 main函数的形参 172
7.3.5完成【任务7.3】的程序 174
7.4指向函数的指针 175
【任务7.4】主函数中实现对排序函数正序逆序操作的控制 175
7.4.1函数指针的定义与使用 176
7.4.2函数指针作为函数参数 176
7.4.3完成【任务7.4】的程序 178
7.5返回指针的函数 180
【任务7.5】自定义函数中字符串的传入和传出 180
7.5.1返回指针的函数定义与调用 180
7.5.2完成【任务7.5】的程序 182
7.6指针应用程序设计实例 183
本章小结 185
习题7 185
第8章自定义数据类型与链表 187
8.1结构体类型与结构体变量 187
【任务8.1】学生信息表中数据的输入和输出 187
8.1.1结构体类型与结构体变量的定义与使用 187
8.1.2嵌套的结构体类型与结构体变量 191
8.1.3完成【任务8.1】的程序 193
8.2结构体数组 194
【任务8.2】学生信息表中数据操作(改进1) 194
8.2.1结构体数组的定义与初始化 194
8.2.2完成【任务8.2】的程序 196
8.3指向结构体的指针与内存管理 200
【任务8.3】学生信息表中数据操作(改进2) 200
8.3.1指向结构体变量的指针 200
8.3.2指向结构体变量的指针与无名变量 201
8.3.3指向结构体变量的指针与动态数组 203
8.3.4结构体指针作为函数参数206
8.3.5完成【任务8.3】的程序 207
8.4单向链表 208
【任务8.4】学生信息表中数据操作(改进3) 208
8.4.1链表的概念 209
8.4.2单向链表中的基本操作 211
8.4.3完成【任务8.4】的程序 216
8.5共用体类型 220
8.6给数据类型定义别名 223
8.7枚举类型 224
8.8结构体与链表应用程序设计 225
实例 225
本章小结 226
习题8 227
第9章文件 231
【任务9.1】学生记录文件保存 231
9.1文件的概念 231
9.1.1C文件的分类 231
9.1.2文件操作的基本步骤 232
9.1.3文件类型的指针 232
9.2文件的常用操作 233
9.2.1文件的打开与关闭 233
9.2.2文件的读写 236
9.2.3文件的定位 245
9.2.4文件的检测 248
9.3其他文件操作函数 249
9.4完成【任务9.1】的程序 250
9.5文件应用程序设计实例 251
本章小结 254
习题9 255
第10章编译预处理与多文件组织 258
10.1宏定义 258
10.1.1无参宏定义 258
10.1.2带参宏定义 260
10.2条件编译 263
【任务10.1】方程近似解(多文件版) 263
10.2.1条件编译的形式 263
10.2.2保护头文件 265
10.3完成【任务10.1】的程序 267
本章小结 269
习题10 269
第11章位操作 271
【任务11.1】数据的循环移位 271
11.1位运算符和位运算 271
11.1.1按位与运算符 271
11.1.2按位或运算符 272
11.1.3按位异或运算符 272
11.1.4取反运算符 274
11.1.5左移运算符 274
11.1.6右移运算符 274
11.2完成【任务11.1】的程序 275
11.3位运算程序设计举例 276
本章小结 277
习题11 277
第12章综合应用实例 278
12.1系统设计与分析 278
12.1.1SMIS 体系结构 278
12.1.2SMIS的数据结构 279
12.2功能模块的详细设计与实现 279
12.2.1查询模块 279
12.2.2修改模块 280
12.2.3删除模块 281
12.2.4插入模块 281
12.2.5统计模块 283
12.2.6报表模块 284
12.2.7加载模块 285
12.2.8保存模块 286
12.2.9菜单设计方法 286
12.3其他问题 288
12.3.1文件编码问题 288
12.3.2工程文件的组织和管理 288
上机实践篇
实验一Visual C++6.0集成开发环境的使用 292
【实验1.1】 Visual C++6.0集成开发环境的安装 292
【实验1.2】 Visual C++ 6.0中程序的编辑、编译、连接和运行 293
【实验1.3】 Visual C++ 6.0中程序的调试 299
实验二数据的基本类型与基本运算 303
【实验2.1】计算长方形的周长和丽只 303
【实验2.2】计算本息和 303
实验三数据的输入与输出 304
【实验3.1】简单数据的计算与输入/输出 304
【实验3.2】程序改错与调试 304
实验四程序的基本语句与基本结构 305
【实验4.1】顺序结构程序设计 305
【实验4.2】分支结构程序设计 305
【实验4.3】循环结构程序设计 305
实验五函数 307
【实验5.1】基本函数设计与调用 307
【实验5.2】递归函数设计与调用 307
实验六数组 308
【实验6.1】一维数组的使用 308
【实验6.2】二维数组的使用 308
【实验6.3】字符数组的使用 309
【实验6.4】数组与函数 309
实验七指针 310
【实验7.1】指针与一维数组 310
【实验7.2】指针作函数参数 310
实验八自定义数据类型与链表 311
【实验8.1】结构体变量和数组的定义和使用 311
【实验8.2】链表的基本操作 311
实验九文件 312
【实验9.1】文件格式化输入/输出 312
【实验9.2】文件数据块输入/输出312
实验十综合实训 313
【综合实训1】服务明星评选 313
【综合实训2】图书管理信息系统315
参考文献 317
附录A字符的ASCI丨码表 318
附录B C语言运算符的优先级和结合性 319
附录C模拟试卷 320
其月末试卷(A卷) 321
期末试卷(B卷) 328
其月末试卷(C卷) 336
其月末试卷(D卷) 341
精彩页