本书主要内容包括:*章C语言概述、第二章程序设计初步、第3章 C语言编程基础、第4章 顺序结构程序设计、第5章选择结构程序设计、第6章循环结构程序设计、第7章数组、第8章函数、第9章指针、第10章结构体和共用体、第11章 文件、
(1) 写作风格独特,学而有趣。写作手法上采用生活用语、诙谐语言或名人名句进行理论知识的导引,一改往日教材严肃枯燥的风格
(2) 内容全面,定位准确,有浅度又有深度。
(3) 理论与实践结合,注重工程能力的训练。
(4) 学习方式与时俱进,突出信息化特色。在编写此书时设计了二维码,读者只要用手机扫描,即可进行相应知识点的视频学习,满足现代人碎片式学习的需求
胡春安 硕士/副教授
讲授课程:
本科生课程: C语言程序设计、Windows编程、VFP程序设计、多媒体技术等 ;
研究生课程: 面向对象程序设计。
研究方向:无线传感器网络、数据库技术、智能多媒体技术。
第1章 C语言概述 1
1.1 计算机语言 1
1.2 C语言程序 3
1.2.1 C语言的问世 3
1.2.2 简单C语言程序 3
1.2.3 C语言程序的基本组成 4
1.3 C语言程序的开发过程 5
1.4 C语言集成开发环境 5
1.4.1 Code::Blocks 6
1.4.2 Visual C 2015 12
1.5 经典算法 17
1.6 小结 19
习题 19
实验一 简单的C程序 20
第2章 程序设计初步 22
2.1 算法的概念 22
2.2 算法的描述 23
2.3 程序设计方法 24
2.3.1 结构化程序设计 24
2.3.2 模块化程序设计 26
2.3.3 自顶向下,逐步细化的设计过程 27
2.4 软件开发过程 27
2.5 经典算法 27
2.5.1 累加算法 27
2.5.2 擂台算法 29
2.5.3 简单选择排序法 30
2.6 小结 32
习题 32
实验二 简单算法 32
第3章 C语言编程基础 34
3.1 C语言的基本符号 34
3.1.1 标识符 34
3.1.2 常量 35
3.1.3 变量 35
3.2 数据类型 37
3.2.1 整型数据 38
3.2.2 实型数据 41
3.2.3 字符型数据 41
3.2.4 宏定义 44
3.2.5 应用举例 46
3.3 运算符和表达式 47
3.3.1 算术运算符与算术表达式 47
3.3.2 赋值运算符与赋值表达式 49
3.3.3 逗号运算符和逗号表达式 51
3.3.4 强制类型转换 51
3.3.5 自增自减运算符 52
3.3.6 sizeof 运算符 53
3.3.7 关系运算符和关系表达式 53
3.3.8 逻辑运算符和逻辑表达式 54
3.4 C语言语句 56
3.5 经典算法 57
3.5.1 整除求余算法 57
3.5.2 数位拆解算法 57
3.6 小结 58
习题 58
实验三 C语言编程基础 60
第4章 顺序结构程序设计 63
4.1 顺序结构 63
4.2 标准的输出函数 65
4.2.1 格式输出函数printf() 65
4.2.2 字符输出函数putchar() 68
4.3 标准的输入函数 69
4.3.1 格式输入函数scanf 69
4.3.2 字符输入函数getchar 72
4.4 数学函数 72
4.5 经典算法 75
4.5.1 摄华算法 75
4.5.2 海伦算法 75
4.6 小结 77
习题 77
实验四 顺序结构程序设计 79
第5章 选择结构程序设计 84
5.1 单分支结构 84
5.2 双分支结构 85
5.3 多分支结构 87
5.3.1 if 语句嵌套 88
5.3.2 switch语句 91
5.4 条件运算符和条件表达式 94
5.5 经典算法 95
5.5.1 海伦算法 95
5.5.2 数位拆解 96
5.5.3 分段函数 97
5.5.4 芳龄几何 97
5.5.5 简易计算器 98
5.5.6 报数游戏 99
5.6 小结 100
习题 100
实验五 选择结构程序设计 102
第6章 循环结构程序设计 105
6.1 前测循环 105
6.1.1 while循环语句 105
6.1.2 for循环语句 107
6.2 后测循环 108
6.3 循环嵌套 109
6.4 break语句和continue语句 111
6.4.1 break语句 111
6.4.2 continue语句 112
6.5 经典算法 113
6.5.1 迭代算法 113
6.5.2 穷举法 116
6.5.3 擂台算法 119
6.5.4 数位拆解 120
6.5.5 反证算法 120
6.6 小结 122
习题 123
实验六 循环结构程序设计 127
第7章 数组 132
7.1 一维数组 132
7.1.1 一维数组的定义 132
7.1.2 一维数组元素的引用 133
7.1.3 一维数组的初始化 134
7.1.4 一维数组应用举例 134
7.2 二维数组 135
7.2.1 二维数组的定义 135
7.2.2 二维数组元素的引用 136
7.2.3 二维数组的初始化 136
7.2.4 二维数组应用举例 137
7.3 字符数组 139
7.3.1 字符数组的定义 139
7.3.2 字符数组的初始化 139
7.3.3 字符数组的输入和输出 140
7.4 字符串函数 140
7.5 经典算法 145
7.5.1 顺序查找算法 145
7.5.2 冒泡法排序算法 145
7.5.3 选择法排序算法 147
7.6 小结 149
习题 149
实验七 数组 152
第8章 函数 155
8.1 函数 155
8.1.1 函数的定义 155
8.1.2 函数的返回值 158
8.1.3 函数的调用 159
8.1.4 函数的声明 161
8.2 递归函数 162
8.3 数组与函数 166
8.3.1 数组元素作函数实参 166
8.3.2 数组名作为函数参数 167
8.4 变量的属性 170
8.4.1 局部变量和全局变量 170
8.4.2 动态存储与静态存储方式 173
8.5 经典算法 175
8.5.1 二分查找算法 175
8.5.2 冒泡法排序算法 176
8.5.3 选择法排序算法 176
8.6 小结 177
习题 178
实验八 函数 181
第9章 指针 185
9.1 指针变量 185
9.1.1 内存地址 185
9.1.2 指针变量的定义 187
9.1.3 指针变量的引用 187
9.1.4 指针变量作为函数参数 189
9.2 一维数组与指针 190
9.2.1 一维数组的元素指针 190
9.2.2 通过指针引用数组元素 191
9.2.3 数组名作函数参数 193
9.2.4 指针数组 197
9.2.5 字符指针和字符串 200
9.3 二维数组与指针 201
9.3.1 二维数组与地址 201
9.3.2 二维数组与指针变量 203
9.4 函数与指针 204
9.4.1 函数指针 204
9.4.2 指针函数 208
9.5 经典算法 209
9.5.1 通用定积分算法 209
9.5.2 插入排序算法 211
9.6 小结 213
习题 213
实验九 指针 216
第10章 结构体和共用体 220
10.1 结构体 221
10.1.1 结构类型定义 221
10.1.2 结构体变量的定义 221
10.1.3 用typedef定义结构体
类型 223
10.1.4 结构体变量成员的引用和赋值 224
10.2 结构体数组 225
10.3 结构体指针 227
10.3.1 指向结构体变量的指针 227
10.3.2 指向结构体数组的指针 228
10.3.3 结构体指针变量作函数参数 230
10.4 共用体 232
10.5 经典算法 233
10.6 小结 235
习题 235
实验十 结构体 238
第11章 文件 240
11.1 文件的概述 240
11.1.1 文件概念 240
11.1.2 文件系统 241
11.2 文件的打开与关闭 241
11.2.1 文件指针 241
11.2.2 文件的打开 242
11.2.3 文件的关闭 243
11.3 文件的顺序读写 243
11.3.1 读/写字符 243
11.3.2 读/写字符串 244
11.3.3 读/写数据块 246
11.3.4 格式化读/写 247
11.4 文件的随机读写 248
11.5 文件的其他操作 251
11.5.1 文件检测函数 251
11.5.2 文件遍历函数 252
11.6 小结 253
习题 253
实验十一 文件 255
实验十二 趣味编程题 256
习题参考答案 263
附录A ASCII码表 266
附录B C语言关键字 269
附录C 运算符及优先级表 270
附录D 常用库函数 272
参考文献 278