《C语言程式设计教程(第2版)》是2011年2月21日机械工业出版社出版的图书,作者是朱鸣华。
基本介绍
- 书名:C语言程式设计教程(第2版)
- 作者:朱鸣华
- ISBN:9787111328667
- 页数:258
- 出版社:机械工业出版社
- 出版时间:2011年2月21日
- 开本:16开
- 丛书名:高等院校精品课程系列教材.省级
- 版次:2-1
内容简介
本书介绍利用c语言进行程式设计的基本知识。全书共13章,详细介绍了c语言的基本概念、算法与程式设计基础、数据的输入和输出、选择结构、循环结构、数组、函式、指针、结构体与共用体、档案、面向对象程式设计与c++基础以及数据结构基础等内容。每章配有大量的习题,便于读者巩固所学知识,掌握程式设计的基本方法和编程技巧。
本书力求概念叙述準确、严谨,语言通俗易懂,适合作为高等院校理工科非计算机专业的“c语言程式设计”课程的教材,也可供工程技术人员参考。
图书目录
第2版前言
第1版前言
教学建议
第1章 c语言概述 1
1.1 c语言发展简史 1
1.2 c语言的特点 2
1.3 简单c语言程式举例 2
1.4 c语言程式的组成与结构 3
1.5 c语言程式的开发步骤 5
小结 6
习题 6
第2章 算法与程式设计基础 7
2.1 算法概述 7
2.1.1 算法的概念 7
2.1.2 算法的特徵 7
2.2 算法的常用表示方法 8
2.2.1 自然语言 8
2.2.2 流程图 8
2.2.3 n-s流程图 9
2.3 程式设计典型算法 11
.2.4 结构化程式设计方法 12
小结 12
习题 12
第3章 数据类型、运算符与表达式 14
3.1 c语言的基本符号 14
3.1.1 标识符 14
3.1.2 常量 14
3.1.3 变数 15
3.1.4 关键字 16
3.2 c 语言的数据类型 16
3.2.1 整型数据 16
3.2.2 实型数据 19
3.2.3 字元型数据 20
3.3 运算符和表达式 22
3.3.1 算术运算符和算术表达式 23
3.3.2 赋值运算符和赋值表达式 23
3.3.3 逗号运算符和逗号表达式 25
3.4 数据类型转换 25
3.4.1 不同数据类型的数据间的混合运算 25
3.4.2 强制类型转换 26
3.5 自增运算和自减运算 27
3.6 位运算 28
小结 30
习题 31
第4章 数据的输入和输出 33
4.1 数据的输出 33
4.1.1 格式输出函式printf 33
4.1.2 字元输出函式putchar 36
4.2 数据的输入 37
4.2.1 格式输入函式scanf 37
4.2.2 字元输入函式getchar 39
4.3 套用举例 41
小结 41
习题 42
第5章 选择结构 45
5.1 关係运算符和关係表达式 45
5.1.1 关係运算符 45
5.1.2 关係表达式 45
5.2 逻辑运算符和逻辑表达式 46
5.2.1 逻辑运算符 46
5.2.2 逻辑表达式 46
5.3 选择语句 47
5.3.1 if语句 47
5.3.2 if语句的嵌套 49
5.3.3 switch语句 50
5.4 条件运算符和条件表达式 51
5.5 套用举例 52
小结 55
习题 55
第6章 循环结构 58
6.1 goto语句与标号 58
6.2 while循环语句 59
6.3 do-while循环语句 60
6.4 for循环语句 62
6.5 三种循环语句的比较 64
6.6 循环嵌套 64
6.7 break语句、continue语句和空语句 66
6.7.1 break语句 66
6.7.2 continue语句 67
6.7.3 空语句 68
6.8 套用举例 69
小结 72
习题 72
第7章 数组 78
7.1 一维数组 78
7.1.1 一维数组的定义和引用 78
7.1.2 一维数组的初始化 79
7.1.3 一维数组程式举例 80
7.2 二维数组 82
7.2.1 二维数组的定义和引用 82
7.2.2 二维数组的初始化 83
7.2.3 二维数组程式举例 83
7.3 字元数组 86
7.3.1 字元数组的定义 86
7.3.2 字元数组的初始化 87
7.3.3 字元数组的引用 87
7.3.4 字元数组与字元串 88
7.3.5 字元数组的输入和输出 88
7.3.6 字元串处理函式 89
7.3.7 字元数组套用举例 91
小结 94
习题 94
第8章 函式 99
8.1 函式的基本概念 99
8.1.1 函式的概念 99
8.1.2 函式的定义 100
8.1.3 函式的调用 101
8.1.4 函式参数的传递方式 102
8.1.5 函式的返回值 103
8.1.6 函式的原型声明 105
8.2 数组作为函式参数 106
8.2.1 一维数组作为函式参数 106
8.2.2 二维数组作为函式参数 107
8.2.3 数组作为函式参数的函式调用方式 107
8.3 函式的嵌套调用和递归调用 110
8.3.1 函式的嵌套调用 110
8.3.2 函式的递归调用 111
8.4 变数的作用域和存储方法 114
8.4.1 局部变数和全局变数 114
8.4.2 变数的存储方法 117
8.5 内部函式和外部函式 120
8.6 编译预处理 121
8.6.1 宏定义 121
8.6.2 档案包含 123
8.6.3 条件编译 124
8.7 函式套用举例 125
小结 129
习题 130
第9章 指针 136
9.1 指针的基本概念及指针变数的定义 136
9.1.1 指针的基本概念 136
9.1.2 指针变数的定义方法 136
9.2 指针运算 137
9.2.1 赋值运算 137
9.2.2 取地址运算 137
9.2.3 取内容运算 138
9.2.4 指针表达式与整数相加、减运算 139
9.2.5 自增、自减运算 139
9.2.6 同类指针相减运算 140
9.2.7 关係运算 141
9.2.8 强制类型转换运算 141
9.2.9 空指针 141
9.3 指针变数与一维数组 142
9.3.1 指针变数与一维数组之间的联繫和区别 142
9.3.2 字元串指针与字元串 143
9.4 指针与函式 144
9.4.1 指针作为函式参数 144
9.4.2 返回指针的函式 147
9.4.3 函式的指针和指向函式的指针变数 149
9.5 指针与二维数组 150
9.5.1 二维数组的结构 150
9.5.2 二维数组元素及其地址 151
9.5.3 指针数组 152
9.5.4 指针与字元串数组 153
9.5.5 指向数组的指针变数 155
9.6 二级指针 156
9.7 记忆体空间的动态分配 158
9.7.1 指向void的指针 158
9.7.2 常用记忆体管理函式 159
9.8 main函式的参数 160
9.8.1 命令行参数 160
9.8.2 指针数组作为main函式的形参 160
9.9 套用举例 161
小结 165
习题 166
第10章 结构体与共用体 173
10.1 结构体类型与结构体变数 173
10.1.1 结构体类型的定义 173
10.1.2 结构体变数的定义 174
10.1.3 结构体变数的引用 175
10.1.4 结构体变数的初始化 176
10.2 结构体数组 176
10.2.1 结构体数组的定义 176
10.2.2 结构体数组的引用 177
10.2.3 结构体数组的初始化 177
10.2.4 套用举例 178
10.3 结构体指针 179
10.3.1 结构体指针变数的定义 179
10.3.2 结构体数组指针 180
10.4 结构体类型数据在函式间的传递 181
10.4.1 结构体变数作为函式参数 181
10.4.2 结构体指针变数作为函式参数 182
10.4.3 结构体数组作为函式参数 183
10.4.4 套用举例 183
10.5 共用体 186
10.5.1 共用体类型的定义 186
10.5.2 共用体变数的定义 186
10.5.3 共用体变数的引用和初始化 187
10.6 枚举类型 190
10.6.1 枚举类型的说明 190
10.6.2 枚举型变数的定义 190
10.7 用typedef定义类型 192
10.8 鍊表及其简单操作 193
10.8.1 鍊表的概念 193
10.8.2 鍊表的基本操作 194
小结 196
习题 197
第11章 档案 200
11.1 档案概述 200
11.1.1 档案的概念 200
11.1.2 档案的分类 200
11.1.3 档案缓冲区 201
11.1.4 档案类型指针 201
11.2 档案的打开与关闭 202
11.2.1 打开档案 202
11.2.2 关闭档案 203
11.3 档案的顺序读写 203
11.3.1 格式化读写函式fscanf和fprintf 203
11.3.2 字元方式读写函式fgetc和fputc 203
11.3.3 数据块读写函式fread和fwrite 204
11.3.4 字元串读写函式fgets和fputs 205
11.4 档案的定位与随机读写 205
11.4.1 档案指针重定位函式rewind 205
11.4.2 随机读写函式fseek 206
11.4.3 其他相关函式 208
小结 208
习题 209
第12章 面向对象程式设计与c++基础 213
12.1 面向对象程式设计的基本概念 213
12.2 面向对象程式设计语言c++简介 215
12.2.1 c++程式结构 215
12.2.2 c++对c的补充 217
12.2.3 c++中的类 219
12.2.4 c++中的构造函式和析构函式 221
12.2.5 c++中的继承 223
12.2.6 c++中的多态性、函式重载和虚函式 224
小结 226
习题 227
第13 章 数据结构基础 228
13.1 概述 228
13.1.1 数据结构的基本概念 228
13.1.2 数据的逻辑结构与存储结构 229
13.2 线性表 230
13.2.1 线性表概述 230
13.2.2 线性表的存储 230
13.3 栈和伫列 231
13.3.1 栈 231
13.3.2 伫列 233
13.4 树与二叉树 235
13.4.1 树的定义 235
13.4.2 二叉树 236
13.4.3 哈夫曼树 239
13.5 图 242
13.5.1 图的定义 242
13.5.2 图的存储结构 243
小结 244
习题 244
习题参考答案 246
附录a c语言的关键字 250
附录b 双目算术运算中两边运算量类型转换规律 251
附录c 运算符的优先权和结合性 252
附录d 常用字元与ascii码对照表 253
附录e 常用库函式 255
参考文献 259