注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计C语言从入门到精通 第4版

C语言从入门到精通 第4版

C语言从入门到精通 第4版

定 价:¥89.90

作 者: 李岚 著
出版社: 人民邮电出版社
丛编项:
标 签: C C++ C# VC VC++ 程序设计 计算机/网络

购买这本书可以去


ISBN: 9787115548351 出版时间: 2021-07-01 包装: 平装
开本: 16开 页数: 434 字数:  

内容简介

  本书以零基础入门为宗旨,用范例引导读者学习,深入浅出地介绍了C语言的相关知识和实战技能。本书第Ⅰ篇【基础知识】主要讲解步入C语言的世界—Hello C、C程序的结构、C语言的基本构成元素、变量、数制、数据类型、运算符和表达式、算法、顺序结构与选择结构、循环结构与转向语句、数组以及字符数组和字符串等;第Ⅱ篇【核心技术—函数】主要讲解函数、变量的作用范围和存储类型、库函数、结构体和联合体、枚举等;第Ⅲ篇【高级应用—指针及文件】主要介绍指针、指针与数组、指针与函数、指针与字符串、指针与结构体、指针的高级应用与技巧以及文件等;第Ⅳ篇【数据结构及C语言中的常用算法】主要介绍数据结构、C语言中的高级算法、数学问题算法、排序问题算法、查找问题算法以及算法竞赛实例等;第Ⅴ篇【趣味解题】主要介绍歌手比赛评分系统、哥德巴赫猜想、打印日历、背包问题、火车车厢重排、商人过河以及K阶斐波那契数列的实现等。本书提供了与图书内容全程同步的教学录像。此外,还赠送了大量相关的学习资料,以便读者扩展学习。本书适合任何想学习C语言的读者,无论你是否从事计算机相关行业、是否接触过C语言,均可通过学习本书快速掌握C语言的开发方法和技巧。

作者简介

  李岚,工学硕士,高级工程师,现执教于河南工业大学信息科学与工程学院,在学校常年承担程序设计基础课程的教学任务,对C语言的知识结构及应用有深入了解,能够准确把握学生在学习C语言过程中的主要问题和困惑。主要研究方向为软件工程、信息系统,有丰富的MIS系统开发经验,主编或者参编教材5本,获河南省教育厅教学成果二等奖2项,获河南省科技进步三等奖2项。

图书目录

第 0 章 学习攻略
0.1 编程的魔力 002
0.2 C语言的起源及特点 002
0.3 C语言的用途 004
0.4 C语言实现的人机交互 004
0.5 C语言的学习方法 005
第 Ⅰ 篇基础知识
第 1 章 步入C语言的世界——Hello C
1.1 C语言的开发环境 009
1.1.1 C语言常用的开发环境 009
1.1.2 Code::Blocks开发环境 010
1.1.3 手机编译器 011
1.2 开始C编程—我的第 一个C程序 012
1.2.1 程序编写及运行流程 012
1.2.2 在Code::Blocks中开发C程序 013
1.2.3 在手机编译器中开发C程序 015
1.3 高手点拨 016
1.4 实战练习 016
第 2 章 C程序的结构
2.1 引例 018
2.2 声明区 018
2.2.1 头文件 018
2.2.2 函数声明 019
2.2.3 变量声明 019
2.3 主函数 020
2.4 函数定义区 020
2.5 注释 021
2.6 书写代码的规则 021
2.7 高手点拨 022
2.8 实战练习 022
第 3 章 C语言的基本构成元素
3.1 标识符和关键字 024
3.1.1 标识符 024
3.1.2 关键字 024
3.2 常量 024
3.3 常量的类别 025
3.3.1 数值常量 025
3.3.2 字符常量 026
3.3.3 字符串常量 028
3.3.4 符号常量 028
3.4 综合应用——常量与符号常量 028
3.5 高手点拨 029
3.6 实战练习 030
第 4 章 变量
4.1 变量概述 032
4.1.1 变量的定义 032
4.1.2 变量的定义与声明 033
4.2 变量的初始化和赋值 033
4.3 变量的输入和输出 034
4.3.1 格式化输出函数——printf() 034
4.3.2 格式控制符 035
4.3.3 格式化输入函数——scanf() 040
4.4 字符的输入和输出 042
4.4.1 字符输出函数——putchar() 043
4.4.2 字符输入函数——getchar() 043
4.5 综合应用——对变量的操作 044
4.6 高手点拨 046
4.7 实战练习 046
第 5 章 计算机中的数制系统
5.1 二进制 048
5.2 八进制 049
5.3 十进制 049
5.4 十六进制 050
5.5 数制间的转换 050
5.6 综合应用——数制转换 051
5.7 高手点拨 052
5.8 实战练习 052
第 6 章 数据的种类——数据类型
6.1 数据类型的分类 054
6.1.1 基本类型 054
6.1.2 构造类型 054
6.1.3 指针类型 054
6.1.4 空类型 054
6.2 整型 055
6.3 字符型 057
6.4 浮点型 059
6.5 类型转换 060
6.5.1 隐式转换 060
6.5.2 显式转换 061
6.6 综合应用——数据类型转换 062
6.7 高手点拨 063
6.8 实战练习 064
第 7 章 C 语言中的运算符和表达式
7.1 运算符和表达式 066
7.1.1 运算符 066
7.1.2 表达式 066
7.2 算术运算符和表达式 067
7.2.1 算术运算符 067
7.2.2 算术表达式 067
7.2.3 应用举例 067
7.3 关系运算符和表达式 069
7.3.1 关系运算符 069
7.3.2 关系表达式 069
7.3.3 应用举例 069
7.4 逻辑运算符和表达式 070
7.4.1 逻辑运算符 070
7.4.2 逻辑表达式 071
7.4.3 应用举例 071
7.5 条件运算符和表达式 073
7.6 赋值运算符和表达式 074
7.6.1 赋值运算符 074
7.6.2 赋值表达式 074
7.6.3 应用举例 075
7.7 自增、自减运算符 076
7.8 逗号运算符和表达式 077
7.9 位运算符 078
7.9.1 按位与运算符 078
7.9.2 按位或运算符 079
7.9.3 按位异或运算符 079
7.9.4 按位取反运算符 080
7.9.5 左移运算符 080
7.9.6 右移运算符 081
7.9.7 位运算赋值运算符 082
7.9.8 位运算应用 082
7.10 运算符的优先级和结合性 085
7.10.1 算术运算符 085
7.10.2 关系运算符 085
7.10.3 逻辑运算符 085
7.10.4 赋值运算符 085
7.11 综合应用——条件运算符的应用 086
7.12 高手点拨 087
7.13 实战练习 088
第 8 章 程序的灵魂——算法
8.1 算法概述 090
8.1.1 算法的定义 090
8.1.2 算法的特性 090
8.1.3 简单算法举例——解方程 091
8.2 如何表示一个算法 092
8.2.1 自然语言表示算法 092
8.2.2 流程图表示算法 094
8.2.3 N-S 流程图表示算法 098
8.2.4 伪代码表示算法 100
8.2.5 计算机语言表示算法 101
8.3 结构化程序设计方法 101
8.4 衡量程序质量的标准 102
8.5 综合应用——求解一元二次方程的根 103
8.6 高手点拨 104
8.7 实战练习 104
第 9 章 顺序结构与选择结构
9.1 语句 106
9.1.1 表达式语句 106
9.1.2 控制语句 106
9.1.3 空语句和复合语句 106
9.1.4 函数调用语句 107
9.2 顺序结构 107
9.3 选择结构 109
9.3.1 选择结构的定义 109
9.3.2 二分支选择结构——if 语句 109
9.3.3 二分支选择结构——if-else 语句 111
9.3.4 二分支选择结构——if-else 的嵌套形式 112
9.3.5 多分支选择结构——switch 语句 116
9.4 综合应用—计算奖金 118
9.5 高手点拨 119
9.6 实战练习 120
第 10章 循环结构与转向语句
10.1 循环结构 122
10.1.1 循环结构的定义 122
10.1.2 for 语句 123
10.1.3 while 语句 126
10.1.4 do-while 语句 127
10.1.5 循环的嵌套 129
10.2 转向语句 132
10.2.1 goto 语句 132
10.2.2 break 语句 133
10.2.3 continue 语句 135
10.3 综合应用——简单计算器的设计 136
10.4 高手点拨 138
10.5 实战练习 138
第 11章 数组
11.1 数组概述 140
11.2 一维数组 140
11.2.1 一维数组的定义 140
11.2.2 一维数组的初始化 142
11.2.3 一维数组元素的引用 143
11.2.4 一维数组的应用举例 145
11.3 二维数组 147
11.3.1 二维数组的定义 148
11.3.2 二维数组的初始化 148
11.3.3 二维数组元素的引用 149
11.3.4 二维数组的应用举例 149
11.4 综合应用——杨辉三角 151
11.5 高手点拨 152
11.6 实战练习 153
第 12章 字符数组和字符串
12.1 字符数组概述 156
12.2 字符数组 156
12.2.1 字符数组的定义 156
12.2.2 字符数组的初始化 156
12.2.3 字符数组的引用 157
12.2.4 字符数组的输入与输出 157
12.3 字符串 158
12.3.1 字符串和字符数组 159
12.3.2 字符串的输入和输出 160
12.3.3 字符串应用举例 162
12.4 综合应用——自动分类字符 164
12.5 高手点拨 165
12.6 实战练习 166
第 Ⅱ 篇 核心技术——函数
第 13章 函数
13.1 函数概述 169
13.1.1 什么是函数 169
13.1.2 函数的分类 170
13.2 函数功能 171
13.3 函数的返回值及类型 173
13.3.1 函数的返回值 173
13.3.2 函数返回值的类型 174
13.4 函数的参数及传递方式 177
13.4.1 函数的参数 177
13.4.2 函数参数的传递方式 179
13.4.3 带参数的主函数 182
13.5 函数的调用 183
13.5.1 函数调用方式 184
13.5.2 函数的声明 185
13.5.3 函数的嵌套调用 187
13.5.4 函数的递归调用 188
13.6 内部函数和外部函数 193
13.6.1 内部函数 193
13.6.2 外部函数 193
13.7 综合应用——用截弦法求方程的根 195
13.8 高手点拨 196
13.9 实战练习 197
第 14章 变量的作用范围和存储类型
14.1 变量的作用范围 200
14.1.1 局部变量 200
14.1.2 全局变量 201
14.2 变量的存储类型 203
14.2.1 自动类型 204
14.2.2 寄存器类型 204
14.2.3 静态类型 205
14.2.4 外部类型 207
14.3 综合应用——根据日期判断是该年第几天 208
14.4 高手点拨 209
14.5 实战练习 210
第 15章 库函数
15.1 C 标准函数库 212
15.2 数学函数 212
15.2.1 绝对值函数 213
15.2.2 幂函数和开平方函数 213
15.2.3 指数函数和对数函数 214
15.2.4 三角函数 214
15.2.5 取整函数和取余函数 215
15.3 字符串处理函数 216
15.3.1 字符串长度函数 216
15.3.2 字符串连接函数 216
15.3.3 字符串复制函数 217
15.3.4 字符串比较函数 218
15.3.5 字符串查找函数 219
15.3.6 字符串填充函数 220
15.4 字符处理函数 220
15.4.1 字符类型判断函数 221
15.4.2 字符大小写转换函数 222
15.5 数据类型转换和存储管理函数 222
15.5.1 数据类型转换函数 222
15.5.2 存储管理函数 223
15.6 随机函数 225
15.6.1 初识随机函数 225
15.6.2 使用随机函数 226
15.7 日期和时间处理函数 227
15.8 诊断函数 228
15.9 其他函数 229
15.9.1 exit()函数 229
15.9.2 qsort()函数 230
15.10 综合应用——猜数字游戏 231
15.11 高手点拨 233
15.12 实战练习 233
第 16章 结构体和联合体
16.1 结构体 236
16.1.1 结构体类型的定义 236
16.1.2 结构体变量的定义 236
16.1.3 结构体变量的初始化 237
16.1.4 结构体变量的引用 238
16.2 结构体数组 238
16.2.1 结构体数组的定义 239
16.2.2 结构体数组的初始化 239
16.2.3 结构体数组元素的引用 240
16.3 结构体与函数 241
16.3.1 结构体变量作为函数的参数——传值调用方式 241
16.3.2 结构体作为函数的返回值 242
16.4 联合体 243
16.4.1 联合体类型的定义 243
16.4.2 联合体变量的定义 244
16.4.3 联合体变量的初始化 244
16.4.4 联合体变量的引用 246
16.5 结构体和联合体的区别与联系 247
16.6 综合应用——计算学生平均成绩 247
16.7 高手点拨 249
16.8 实战练习 249
第 17章 枚举
17.1 枚举类型 252
17.1.1 枚举类型的定义 252
17.1.2 枚举类型的应用 253
17.2 高手点拨 254
17.3 实战练习 254
第 Ⅲ 篇高级应用——指针及文件
第 18章 指针
18.1 指针概述 257
18.1.1 指针类型的变量和定义 257
18.1.2 指针所指向变量的类型 257
18.1.3 指针的值 257
18.1.4 指针所占内存 257
18.2 指针的算术运算 258
18.2.1 指针与整数的运算 258
18.2.2 指针与指针的运算 259
18.3 &和*运算符 260
18.4 指针表达式 262
18.5 综合应用——使用指针进行排序 262
18.6 高手点拨 263
18.7 实战练习 263
第 19章 指针与数组
19.1 数组指针 266
19.2 数组指针作为函数参数 266
19.3 指针与字符数组 267
19.4 指针数组与指针的指针 267
19.5 综合应用——报数游戏(约瑟夫环) 269
19.6 高手点拨 270
19.7 实战练习 270
第 20章 指针与函数
20.1 函数指针 272
20.1.1 函数指针的定义 272
20.1.2 函数指针的赋值 272
20.1.3 通过函数指针调用函数 272
20.2 指针函数 273
20.3 指向函数的指针作为函数参数 275
20.4 综合应用——根据当年第几天输出该天的日期 276
20.5 高手点拨 277
20.6 实战练习 278
第 21章 指针与字符串
21.1 字符串指针 280
21.1.1 字符串指针的定义 280
21.1.2 字符串指针的应用 281
21.2 字符串指针作为函数参数 284
21.3 字符串指针与字符数组的区别 285
21.4 综合应用——“回文”问题 286
21.5 实战练习 287
第 22章 指针与结构体
22.1 结构体指针 290
22.1.1 结构体指针的定义 290
22.1.2 结构体指针的初始化 290
22.1.3 使用指针访问结构体成员 290
22.1.4 给结构体指针赋值 291
22.2 指向结构体数组的指针 292
22.3 结构体指针作为函数参数 294
22.4 综合应用——利用结构体创建单链表 295
22.5 高手点拨 296
22.6 实战练习 296
第 23章 指针的高级应用与技巧
23.1 指向指针的指针 298
23.2 void指针 299
23.3 内存操作 301
23.4 指针的传递 304
23.5 综合应用——数值的降序排列 304
23.6 高手点拨 305
23.7 实战练习 306
第 24章 文件
24.1 文件概述 308
24.1.1 文件类型 308
24.1.2 C如何操作文件——文件指针 308
24.1.3 文件缓冲区 309
24.2 文件的打开和关闭 309
24.2.1 文件的打开函数——fopen() 309
24.2.2 文件的关闭函数——fclose() 310
24.2.3 文件结束检测函数——feof() 311
24.3 文件的顺序读写 311
24.3.1 文本文件中字符的输入/输出 311
24.3.2 文本文件中字符串的输入/输出 313
24.3.3 文本文件中数据的格式化输入/输出 315
24.3.4 二进制文件的输入/输出——数据块读写 317
24.4 文件的随机读写 319
24.5 综合应用——文件操作 320
24.6 高手点拨 321
24.7 实战练习 322
第 Ⅳ 篇数据结构及C语言中的常用算法
第 25章 数据管理者——数据结构
25.1 数据结构概述 325
25.1.1 逻辑结构 325
25.1.2 存储结构 326
25.1.3 数据的运算 326
25.2 线性表 326
25.2.1 线性表的定义 326
25.2.2 线性表的主要操作 327
25.2.3 顺序表 327
25.2.4 单链表 329
25.3 栈 332
25.3.1 栈的定义 332
25.3.2 栈的主要操作 333
25.3.3 顺序栈 333
25.3.4 链式栈 333
25.4 队列 334
25.4.1 队列的定义 334
25.4.2 队列的主要操作 334
25.4.3 顺序队列 334
25.4.4 链队列 335
25.5 树和二叉树 335
25.5.1 树和二叉树的定义 336
25.5.2 二叉树的主要操作 336
25.5.3 二叉树的存储表示 336
25.5.4 二叉树的遍历 338
25.6 图 338
25.6.1 图的定义 338
25.6.2 图的主要操作 338
25.6.3 图的存储表示 338
25.6.4 图的遍历 339
25.7 综合应用——链表的反转 342
25.8 高手点拨 343
25.9 实战练习 344
第 26章 C语言中的高级算法
26.1 模拟算法 346
26.2 简单动态规划 347
26.3 用递归实现回溯算法 350
26.4 最短路径算法 352
26.4.1 只有五行的算法——Floyd-Warshall 352
26.4.2 Dijkstra 算法——单源最短边 352
26.4.3 Bellman-Ford算法——解决负权边 353
26.4.4 Bellman-Ford 的队列优化算法 353
26.4.5 最短路径算法对比分析 353
26.5 分治算法 356
26.6 贪心算法 358
26.7 综合应用——镖局运镖 359
26.8 高手点拨 361
26.9 实战练习 361
第 27章 数学问题算法
27.1 质因数分解 364
27.2 最大公约数的欧几里得算法 365
27.3 加法原理与乘法原理 366
27.4 排列与组合 367
27.5 综合应用——进站方案 368
27.6 高手点拨 369
27.7 实战练习 370
第 28章 排序问题算法
28.1 插入排序法 372
28.2 选择排序法 373
28.3 冒泡排序法 375
28.4 快速排序法 376
28.5 桶排序法 378
28.6 高手点拨 379
28.7 实战练习 380
第 29章 查找问题算法
29.1 顺序查找法 382
29.2 折半查找法 384
29.3 高手点拨 386
29.4 实战练习 386
第30章 算法竞赛实例
30.1 Hilbert曲线 388
30.2 四色问题 390
30.3 跳马问题 391
30.4 生成全部排列及其应用 392
30.5 贪吃蛇游戏 393
30.6 幻方 394
30.7 高精度计算 395
30.8 高手点拨 396
30.9 实战练习 396
第 Ⅴ 篇趣味解题
第31章 歌手比赛评分系统
31.1 问题描述 399
31.2 问题分析及实现 399
31.2.1 问题分析 399
31.2.2 问题实现 399
31.2.3 程序运行 403
31.3 开发过程常见问题及解决方案 406
第32章 哥德巴赫猜想
32.1 问题描述 408
32.2 问题分析及实现 408
32.2.1 问题分析 408
32.2.2 问题实现 408
32.2.3 程序运行 410
32.3 开发过程常见问题及解决方案 410
第33章 打印日历
33.1 问题描述 412
33.2 问题分析及实现 412
33.2.1 问题分析 412
33.2.2 问题实现 412
33.2.3 程序运行 413
33.3 开发过程常见问题及解决方案 414
第34章 背包问题
34.1 问题描述 416
34.2 问题分析及实现 416
34.2.1 问题分析 416
34.2.2 问题实现 416
34.2.3 程序运行 419
34.3 开发过程常见问题及解决方案 419
第35章 火车车厢重排
35.1 问题描述 422
35.2 问题分析及实现 422
35.2.1 问题分析 422
35.2.2 问题实现 422
35.2.3 程序运行 425
35.3 开发过程常见问题及解决方案 426
第36章 商人过河
36.1 问题描述 428
36.2 问题分析及实现 428
36.2.1 问题分析 428
36.2.2 问题实现 428
36.2.3 程序运行 430
36.3 开发过程常见问题及解决方案 430
第37章 K阶斐波那契数列的实现
37.1 问题描述 432
37.2 问题分析及实现 432
37.2.1 问题分析 432
37.2.2 问题实现 432
37.2.3 程序运行 433
37.3 开发过程常见问题及解决方案 434

本目录推荐