C语言程序设计案例式教程(第2版)

C语言程序设计
分享 推荐 4 收藏 130 阅读 14.4K
黑马程序员 (作者) 978-7-115-59863-9

关于本书的内容有任何问题,请联系 范博涛

1. 本书最大的卖点在于采用纯案例式的教学方法,用具体、形象的案例一点一滴地教会读者各个知识点,全书涵盖了C 语言程序设计的常用技术,提供了63 个趣味案例、6 个阶段案例、19 道经典思考题。
2. 本书提供免费教学资源,包括10 个精美教学PPT、723 道测试题、长达15小时的教学视频等。

内容摘要

本书在《C语言程序设计案例式教程》的基础上进行了完善、补充和修订,内容更加丰富、翔实,结构层次更加清晰、合理。本书共11章,第1章主要介绍C语言概述、C语言开发环境的搭建和C语言程序的编译机制等;第2章和第3章主要介绍C语言的基础知识,包括关键字、标识符、常量、变量、数据类型、类型转换、运算符与表达式等;第4~9章主要介绍C语言的核心知识,包括结构化程序设计、数组、函数、指针、字符串、结构体等;第10章和第11章主要介绍C语言的其他知识,包括预处理、文件管理。
本书配套有教学PPT、题库、教学视频、源代码、教学设计等资源。同时,为了帮助初学者及时解决学习过程中遇到的问题,作者提供了免费的在线答疑平台。
本书是C语言的入门教材,可作为高等教育本、专科院校计算机相关专业C语言程序设计课程的教材,也可作为程序爱好者的自学读物。

目录

第 1章 初识C语言 1
1.1 C语言概述 1
1.1.1 C语言的发展历史 1
1.1.2 C语言的标准 2
1.1.3 C语言的特点 2
1.1.4 C语言的应用领域 3
1.2 C语言开发环境的搭建 3
1.3 第 一个C语言程序 6
1.4 C语言程序的编译机制 9
本章小结 10
本章习题 11
第 2章 C语言的基础知识 12
【案例2-1】 我爱C语言 12
案例描述 12
知识需求 12
知识讲解 12
1.printf()函数 12
2.scanf()函数 15
案例实现 16
【案例2-2】 计算圆的面积和周长 16
案例描述 16
知识需求 17
知识讲解 17
1.关键字 17
2.标识符 19
3.常量 20
4.变量 21
案例实现 22
【案例2-3】 全国计算机等级考试信息的
录入 22
案例描述 22
知识需求 23
知识讲解 23
1.字符类型 23
2.整型 24
3.浮点型 24
4.布尔型 25
案例实现 25
【案例2-4】 密码破译 26
案例描述 26
知识需求 26
知识讲解 27
ASCII 27
案例实现 27
【案例2-5】 混合运算 27
案例描述 27
知识需求 28
知识讲解 28
隐式类型转换 28
案例实现 29
【案例2-6】 小明考试 29
案例描述 29
知识需求 30
知识讲解 30
显式类型转换 30
案例实现 31
本章小结 32
本章习题 32
第3章 运算符与表达式 34
【案例3-1】 算术运算 34
案例描述 34
知识需求 34
知识讲解 35
1.运算符与表达式 35
2.算术运算符与算术表达式 35
3.赋值运算符与赋值表达式 36
案例实现 37
【案例3-2】 鱼与熊掌不可兼得 38
案例描述 38
知识需求 38
知识讲解 39
1.关系运算符与关系表达式 39
2.条件运算符与条件表达式 39
案例实现 40
【案例3-3】 优先级 40
案例描述 40
知识需求 41
知识讲解 41
1.逻辑运算符与逻辑表达式 41
2.运算符的优先级 42
案例实现 43
【案例3-4】 交换 44
案例描述 44
知识需求 44
知识讲解 44
位运算符 44
案例实现 46
【案例3-5】 有容乃大 47
案例描述 47
知识需求 48
知识讲解 48
sizeof运算符 48
案例实现 48
本章小结 49
本章习题 49
第4章 结构化程序设计 51
【案例4-1】 画流程图 51
案例描述 51
知识需求 51
知识讲解 52
1.算法 52
2.流程图 52
案例实现 53
【案例4-2】 判断闰年 54
案例描述 54
知识需求 54
知识讲解 54
1.if语句 54
2.if…else语句 55
3.if…else if…else语句 55
案例实现 56
【案例4-3】 安全生产 57
案例描述 57
知识需求 57
知识讲解 57
1.switch语句 57
2.跳转语句 59
案例实现 59
【案例4-4】 计算1到100的和 60
案例描述 60
知识需求 60
知识讲解 61
1.while语句 61
2.do…while语句 61
案例实现 61
【案例4-5】 物不知数 62
案例描述 62
知识需求 63
知识讲解 63
for语句 63
案例实现 63
【案例4-6】 九九乘法表 64
案例描述 64
知识需求 65
知识讲解 65
循环嵌套 65
案例实现 66
【案例4-7】 百钱百鸡 67
案例描述 67
案例实现 67
【案例4-8】 完美数 68
案例描述 68
案例实现 69
【案例4-9】 回文素数 70
案例描述 70
案例实现 70
【案例4-10】 亲密数 71
案例描述 71
案例实现 72
本章小结 73
本章习题 73
第5章 数组 75
【案例5-1】 士兵报数 75
案例描述 75
知识需求 76
知识讲解 76
1.数组的概念 76
2.一维数组的定义与初始化 76
3.一维数组元素的引用 77
案例实现 77
【案例5-2】 最大值与最小值 78
案例描述 78
案例实现 78
【案例5-3】 学生成绩排序 79
案例描述 79
知识需求 79
知识讲解 79
1.冒泡排序 79
2.选择排序 81
3.插入排序 82
案例实现 84
【案例5-4】 纵横图 85
案例描述 85
知识需求 86
知识讲解 86
1.二维数组的定义与初始化 86
2.二维数组元素的访问 87
3.二维数组的内存分配 88
案例实现 89
【案例5-5】 杨辉三角 91
案例描述 91
案例实现 92
【案例5-6】 矩阵转置 93
案例描述 93
案例实现 94
【案例5-7】 斐波那契数列 95
案例描述 95
案例实现 95
本章小结 96
本章习题 97
第6章 函数 98
【案例6-1】 祖国生日快乐 98
案例描述 98
知识需求 99
知识讲解 99
1.函数的概念 99
2.函数的定义 99
3.函数的调用过程 100
4.函数的调用方式 101
案例实现 102
【案例6-2】 简易计算器 102
案例描述 102
知识需求 103
知识讲解 103
1.函数名 103
2.参数列表 103
3.返回值类型 104
案例实现 105
【案例6-3】 汉诺塔 107
案例描述 107
知识需求 107
知识讲解 108
递归函数 108
案例实现 109
【案例6-4】 0.99与1.01的差别 110
案例描述 110
案例实现 110
【案例6-5】 远水不救近火 111
案例描述 111
知识需求 111
知识讲解 112
1.局部变量 112
2.全局变量 112
案例实现 113
【案例6-6】 数据去重 114
案例描述 114
知识需求 114
知识讲解 114
数组作为函数参数 114
案例实现 115
【案例6-7】 体测成绩的判定 116
案例描述 116
知识需求 117
知识讲解 117
1.多个文件之间的变量引用 117
2.多个文件之间的函数调用 118
案例实现 120
本章小结 126
本章习题 126
第7章 指针 128
【案例7-1】 交换内存数据 128
案例描述 128
知识需求 129
知识讲解 129
1.认识计算机内存 129
2.指针的概念 130
3.指针变量的定义与引用 131
案例实现 133
【案例7-2】 3个数的排序 133
案例描述 133
知识需求 134
知识讲解 134
1.指针作为函数参数 134
2.指针的交换 134
案例实现 135
【案例7-3】 用户画像 136
案例描述 136
知识需求 137
知识讲解 137
1.指针的运算 137
2.数组名与指针的关系 138
3.一维数组指针 139
案例实现 140
【案例7-4】 快速排序 141
案例描述 141
案例实现 141
【案例7-5】 模拟Excel表格的功能 143
案例描述 143
知识需求 144
知识讲解 144
1.二维数组指针 144
2.函数指针 145
案例实现 145
【案例7-6】 问卷调查 147
案例描述 147
知识需求 148
知识讲解 148
1.动态数组的概念 148
2.内存申请 148
3.内存释放 149
4.内存操作 149
案例实现 150
【案例7-7】 点名册 151
案例描述 151
知识需求 151
知识讲解 151
1.通过指针引用字符数组 151
2.指针数组 152
3.二级指针 154
案例实现 155
【案例7-8】 围棋 156
案例描述 156
案例实现 156
本章小结 160
本章习题 160
第8章 字符串 162
【案例8-1】 取名器 162
案例描述 162
知识需求 163
知识讲解 163
1.字符数组 163
2.字符串 164
3.字符串与指针 164
案例实现 166
【案例8-2】 员工入职 167
案例描述 167
知识需求 167
知识讲解 167
1.gets()函数 167
2.puts()函数 168
案例实现 169
【案例8-3】 统计单词的个数 170
案例描述 170
案例实现 170
【案例8-4】 分隔字符串 171
案例描述 171
知识需求 172
知识讲解 172
字符串长度计算函数 172
案例实现 172
【案例8-5】 回文诗 173
案例描述 173
案例实现 173
【案例8-6】 你中有我 174
案例描述 174
知识需求 175
知识讲解 175
字符串查找函数 175
案例实现 176
【案例8-7】 文件替换 176
案例描述 176
知识需求 177
知识讲解 177
1.字符串连接函数 177
2.字符串复制函数 178
案例实现 179
【案例8-8】 点名册的排序 180
案例描述 180
知识需求 180
知识讲解 180
字符串比较函数 180
案例实现 181
【案例8-9】 密码 182
案例描述 182
知识需求 183
知识讲解 183
单个字符操作函数 183
案例实现 184
【案例8-10】 去除字符串两端的空格 187
案例描述 187
案例实现 187
【案例8-11】 回文字符串 188
案例描述 188
案例实现(1) 188
案例实现(2) 189
本章小结 191
本章习题 191
第9章 结构体 193
【案例9-1】 名片制作 193
案例描述 193
知识需求 194
知识讲解 194
1.结构体类型的定义 194
2.结构体变量的定义 195
3.结构体变量的初始化 196
4.结构体变量的存储方式 196
5.结构体变量成员的访问 197
案例实现 198
【案例9-2】 员工生日福利 200
案例描述 200
知识需求 200
知识讲解 200
1.访问嵌套结构体变量的成员 200
2.嵌套结构体的内存管理 201
案例实现 202
【案例9-3】 计算学生平均成绩 203
案例描述 203
知识需求 203
知识讲解 203
1.结构体数组的定义与初始化 203
2.结构体数组的访问 204
案例实现 205
【案例9-4】 打渔晒网 206
案例描述 206
知识需求 206
知识讲解 206
1.结构体变量作为函数参数 206
2.结构体数组作为函数参数 207
3.结构体指针作为函数参数 207
4.typedef关键字 207
案例实现 208
【案例9-5】 角色与权限 209
案例描述 209
知识需求 209
知识讲解 209
1.共用体类型的定义 209
2.共用体变量的定义 210
3.共用体变量的初始化和引用 211
案例实现 212
【案例9-6】 学生成绩管理系统 213
案例描述 213
案例实现 213
本章小结 224
本章习题 224
第 10章 预处理 227
【案例10-1】 环保购物袋 227
案例描述 227
知识需求 228
知识讲解 228
1.不带参数的宏 228
2.取消宏 229
案例实现 229
【案例10-2】 交换数组元素 230
案例描述 230
知识需求 231
知识讲解 231
带参数的宏 231
案例实现 232
【案例10-3】 包装输出 233
案例描述 233
知识需求 233
知识讲解 233
文件包含 233
案例实现 234
【案例10-4】 32还是64? 235
案例描述 235
知识需求 235
知识讲解 235
#if、#else和#endif指令 235
案例实现 235
【案例10-5】 劝学 236
案例描述 236
知识需求 236
知识讲解 237
1.#ifdef 237
2.#ifndef 237
案例实现 240
【案例10-6】 拒绝除以0 241
案例描述 241
知识需求 241
知识讲解 241
1.断言 241
2.断言与debug 241
案例实现 242
本章小结 243
本章习题 243
第 11章 文件管理 245
【案例11-1】 打开电子书 245
案例描述 245
知识需求 246
知识讲解 246
1.计算机中的流 246
2.文件的概念 246
3.文件的分类 247
4.文件指针 247
5.文件的打开与关闭 248
案例实现 250
【案例11-2】 输出文件内容 250
案例描述 250
知识需求 250
知识讲解 251
1.文件位置指针 251
2.单字符读写文件 251
3.单行读写文件 252
案例实现 253
【案例11-3】 班级通讯录 254
案例描述 254
案例实现 254
【案例11-4】 档案存储 255
案例描述 255
知识需求 256
知识讲解 256
1.fread()函数 256
2.fwrite()函数 256
案例实现 256
【案例11-5】 评判数学试卷 258
案例描述 258
知识需求 259
知识讲解 259
1.fscanf()函数 259
2.fprintf()函数 259
案例实现 260
【案例11-6】 图书管理系统 262
案例描述 262
案例实现 262
本章小结 271
本章习题 271
附录:ASCII表 273

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

黑马程序员,成立于2006年,它是传智教育旗下高端IT教育品牌,由中国Java培训先行者张孝祥老师发起,联合全球最大的中文IT社区CSDN、中关村软件园共同创办的一家专业教育机构。办学至今,我们一直坚守着“为千万人少走弯路而著书,为中华软件之崛起而讲课”的办学理念,坚持培养优秀软件应用工程师的宏伟目标,在累计培养的十万余名学员中,其中90%的学员均已在北、上、广等一线城市高薪就业,特别是“黑马程序员”的平均就业薪资已达到8K以上。为了迎合软件市场的需求,我们陆续开设了Java、网页平面、PHP、.Net、iOS、C/C++、Android等9个专业方向的课程,并且未来将逐渐开设其他专业方向的课程。随着传智播客的日益壮大,除了北京总部,我们在上海、广州、武汉、成都、深圳等地也创立了直营分支机构,传智播客俨然已成为了国内最具专业口碑的IT教育机构。

推荐用户

购买本书用户

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部