描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121360831
编辑推荐
本书注重教材的可读性和实用性,每章的内容均是作者根据多年C 语言及计算机相关
专业课程的教学实践组织而成的。学习目标和意义明确,难点和关键知识点阐述详细,并
附有大量的图表,以方便读者正确、直观地理解问题。全书精选了大量例题,例题由浅入
深,强化了知识点、算法、编程方法和技巧,并给出了详细的解释。全部例题已在Visual C
6.0 平台调试通过,可直接引用;此外,本书还简要介绍了数据结构与算法,使读者能够对
程序设计有全面的认识。从大的方向了解程序设计语言的基本概念,从而更易于接受课程
的内容,这正好适应了目前我国提倡的对大学生进行计算机思维教学的需要。
专业课程的教学实践组织而成的。学习目标和意义明确,难点和关键知识点阐述详细,并
附有大量的图表,以方便读者正确、直观地理解问题。全书精选了大量例题,例题由浅入
深,强化了知识点、算法、编程方法和技巧,并给出了详细的解释。全部例题已在Visual C
6.0 平台调试通过,可直接引用;此外,本书还简要介绍了数据结构与算法,使读者能够对
程序设计有全面的认识。从大的方向了解程序设计语言的基本概念,从而更易于接受课程
的内容,这正好适应了目前我国提倡的对大学生进行计算机思维教学的需要。
内容简介
本书对C语言作了全面、详细、系统的介绍,并选择Visual C 6.0作为编译平台。全书由11章组成,第1章介绍了C语言的发展、特点及编译环境等;第2章介绍了常见的数据结构和算法;第3章介绍了C语言基本的数据类型、标识符和关键字的概念以及运算符和表达式等概念;第4、5、6章介绍了C语言中的三种基本结构;第7章介绍了数组的概念;第8章介绍了函数的知识;第9章介绍了指针的概念及使用方法;第10章介绍了构造型数据;第11章介绍了文件的概念及使用等内容。
目 录
目 录
第1章 C语言程序设计概述 1
1.1 程序设计语言概述 1
1.1.1 程序设计语言的发展与分类 1
1.1.2 程序设计的过程 3
1.2 程序设计方法 4
1.2.1 结构化程序设计 4
1.2.2 面向对象程序设计 6
1.3 C语言的发展及特点 8
1.3.1 C语言的发展 8
1.3.2 C语言的特点和优点 9
1.4 简单的C语言程序 11
1.4.1 C语言程序示例 11
1.4.2 C语言程序构成简介 13
1.5 执行C程序 14
1.5.1 步骤 14
1.5.2 C程序的集成开发工具 15
1.6 小结 16
习题 17
第2章 数据结构与算法 18
2.1 引言 18
2.2 数据结构概述 19
2.3 常见的数据结构 19
2.3.1 线性表 19
2.3.2 栈 20
2.3.3 队列 21
2.3.4 树 23
2.3.5 图 24
2.4 算法概述 25
2.4.1 什么是算法 25
2.4.2 算法的性质 26
2.4.3 算法的描述 26
2.5 常用算法介绍 31
2.5.1 递归算法与分治算法 31
2.5.2 动态规划 31
2.5.3 贪心算法 31
2.5.4 回溯法 32
2.5.5 分支限界法 32
2.6 算法评价 32
2.7 小结 33
习题 34
第3章 基本数据类型、运算符和表达式 36
3.1 C语言的基本数据类型 36
3.1.1 数据类型的产生 36
3.1.2 C语言的数据类型 36
3.2 常量和变量 40
3.2.1 标识符与关键字 40
3.2.2 常量与符号常量 41
3.2.3 变量及其定义 42
3.3 运算符和表达式 44
3.3.1 算术运算符及其表达式 44
3.3.2 关系运算符及其表达式 45
3.3.3 逻辑运算符及其表达式 46
3.3.4 位运算符及其表达式 47
3.3.5 赋值运算符及其表达式 50
3.3.6 条件运算符及其表达式 50
3.3.7 逗号运算符及其表达式 51
3.3.8 求字节数运算符 51
3.4 运算符的结合性及优先级 52
3.4.1 运算符的结合性 52
3.4.2 运算符的优先级 52
3.4.3 表达式的书写规则 53
3.5 各种数据类型的转换 54
3.5.1 自动转换 54
3.5.2 赋值转换 55
3.5.3 强制类型转换 56
3.6 程序示例 57
3.7 小结 59
习题 59
第4章 顺序结构 62
4.1 C语言程序的语句 62
4.2 数据输入/输出 64
4.2.1 格式化输出函数printf 64
4.2.2 格式化输入函数scanf 66
4.2.3 字符输出函数putchar 67
4.2.4 字符输入函数getchar 67
4.3 较复杂的输入/输出格式控制 68
4.3.1 输出数据格式控制 69
4.3.2 输入数据格式控制 72
4.4 程序示例 75
4.5 小结 77
习题 78
第5章 选择结构 84
5.1 用条件表达式实现选择结构 84
5.2 if语句 87
5.2.1 if语句的3种格式 87
5.2.2 嵌套的if语句 94
5.3 switch语句 95
5.4 程序示例 98
5.5 小结 102
习题 102
第6章 循环结构 108
6.1 while语句 108
6.2 do-while语句 111
6.2.1 语句格式 111
6.2.2 执行过程 111
6.3 for语句 112
6.3.1 语句格式 112
6.3.2 执行过程 112
6.4 break和continue语句 115
6.4.1 break语句 115
6.4.2 continue语句 117
6.5 3种循环的比较 118
6.6 循环的嵌套 119
6.7 程序示例 120
6.8 小结 124
习题 125
第7章 数组 130
7.1 数组的基本概念 130
7.2 一维数组 131
7.2.1 一维数组的定义和存储结构 131
7.2.2 引用一维数组元素 132
7.2.3 初始化一维数组 134
7.3 二维数组 136
7.3.1 二维数组的定义 136
7.3.2 引用二维数组元素 137
7.3.3 初始化二维数组 139
7.3.4 定义多维数组 141
7.4 字符数组 141
7.4.1 定义及初始化字符数组 141
7.4.2 输入/输出字符串 143
7.4.3 字符串处理函数 144
7.5 数组应用示例 148
7.6 小结 154
习题 154
第8章 函数与编译预处理 162
8.1 函数的基本概念 162
8.2 定义与声明函数 164
8.2.1 定义函数 164
8.2.2 声明函数 165
8.3 调用函数 166
8.3.1 调用函数语句的一般格式 166
8.3.2 函数的返回值 166
8.4 函数的传值方式 168
8.5 函数的嵌套和递归调用 170
8.5.1 嵌套调用 170
8.5.2 函数的递归调用 172
8.6 数组作为函数的参数 176
8.6.1 数组元素作为函数实参 176
8.6.2 数组名作为函数实参 176
8.7 变量的作用域 179
8.7.1 局部变量 179
8.7.2 全局变量 180
8.8 变量的存储类型 182
8.8.1 动态与静态存储方式 182
8.8.2 auto变量 182
8.8.3 static变量 183
8.8.4 register变量 184
8.8.5 用extern声明外部变量 185
8.9 内部和外部函数 185
8.9.1 内部函数 185
8.9.2 外部函数 186
8.10 编译预处理 187
8.10.1 宏定义命令 187
8.10.2 文件包含命令 192
8.10.3 条件编译命令 192
8.11 小结 194
习题 195
第9章 指针 198
9.1 指针的基本概念 198
9.1.1 定义及初始化指针变量 199
9.1.2 指针变量与普通变量的区别 201
9.2 指针运算 202
9.2.1 指针的赋值运算 202
9.2.2 指针的算术运算 202
9.2.3 指针的关系运算 204
9.3 指针与数组 204
9.3.1 指向一维数组的指针 205
9.3.2 指向二维数组的指针 206
9.3.3 指向字符串指针 209
9.3.4 指针数组和指向指针的指针 211
9.4 指针作为函数的参数 214
9.5 指针应用示例 216
9.6 小结 219
习题 220
第10章 构造型数据类型 225
10.1 结构体类型 225
10.1.1 定义结构体 225
10.1.2 定义结构体变量 226
10.1.3 初始化结构体变量 227
10.1.4 引用结构体变量成员 228
10.2 结构体数组 229
10.2.1 声明结构体数组 229
10.2.2 初始化和引用结构体数组成员 230
10.3 结构体指针 231
10.4 链表 234
10.4.1 链表的基本概念 234
10.4.2 内存动态管理函数 235
10.4.3 链表的基本操作 236
10.5 共用体 242
10.5.1 定义共用体及共用体变量 242
10.5.2 初始化共用体变量和引用其成员 243
10.5.3 应用共用体 245
10.6 枚举型 246
10.7 定义类型 248
10.8 程序示例 249
10.9 小结 253
习题 254
第11章 文件 261
11.1 文件的相关概念 261
11.2 打开与关闭文件 262
11.2.1 使用fopen函数打开文件 262
11.2.2 使用fclose函数关闭文件 264
11.3 顺序读写文件 264
11.3.1 读写文件的一个字符 264
11.3.2 读写文件的一个字符串 268
11.3.3 读写文件的一组数据 269
11.3.4 格式化读写文件 271
11.4 随机读写文件 272
11.5 文件定位 272
11.6 随机读写文件函数 273
11.7 文件检测函数 274
11.8 小结 274
习题 275
附录 C语言常用的库函数 277
第1章 C语言程序设计概述 1
1.1 程序设计语言概述 1
1.1.1 程序设计语言的发展与分类 1
1.1.2 程序设计的过程 3
1.2 程序设计方法 4
1.2.1 结构化程序设计 4
1.2.2 面向对象程序设计 6
1.3 C语言的发展及特点 8
1.3.1 C语言的发展 8
1.3.2 C语言的特点和优点 9
1.4 简单的C语言程序 11
1.4.1 C语言程序示例 11
1.4.2 C语言程序构成简介 13
1.5 执行C程序 14
1.5.1 步骤 14
1.5.2 C程序的集成开发工具 15
1.6 小结 16
习题 17
第2章 数据结构与算法 18
2.1 引言 18
2.2 数据结构概述 19
2.3 常见的数据结构 19
2.3.1 线性表 19
2.3.2 栈 20
2.3.3 队列 21
2.3.4 树 23
2.3.5 图 24
2.4 算法概述 25
2.4.1 什么是算法 25
2.4.2 算法的性质 26
2.4.3 算法的描述 26
2.5 常用算法介绍 31
2.5.1 递归算法与分治算法 31
2.5.2 动态规划 31
2.5.3 贪心算法 31
2.5.4 回溯法 32
2.5.5 分支限界法 32
2.6 算法评价 32
2.7 小结 33
习题 34
第3章 基本数据类型、运算符和表达式 36
3.1 C语言的基本数据类型 36
3.1.1 数据类型的产生 36
3.1.2 C语言的数据类型 36
3.2 常量和变量 40
3.2.1 标识符与关键字 40
3.2.2 常量与符号常量 41
3.2.3 变量及其定义 42
3.3 运算符和表达式 44
3.3.1 算术运算符及其表达式 44
3.3.2 关系运算符及其表达式 45
3.3.3 逻辑运算符及其表达式 46
3.3.4 位运算符及其表达式 47
3.3.5 赋值运算符及其表达式 50
3.3.6 条件运算符及其表达式 50
3.3.7 逗号运算符及其表达式 51
3.3.8 求字节数运算符 51
3.4 运算符的结合性及优先级 52
3.4.1 运算符的结合性 52
3.4.2 运算符的优先级 52
3.4.3 表达式的书写规则 53
3.5 各种数据类型的转换 54
3.5.1 自动转换 54
3.5.2 赋值转换 55
3.5.3 强制类型转换 56
3.6 程序示例 57
3.7 小结 59
习题 59
第4章 顺序结构 62
4.1 C语言程序的语句 62
4.2 数据输入/输出 64
4.2.1 格式化输出函数printf 64
4.2.2 格式化输入函数scanf 66
4.2.3 字符输出函数putchar 67
4.2.4 字符输入函数getchar 67
4.3 较复杂的输入/输出格式控制 68
4.3.1 输出数据格式控制 69
4.3.2 输入数据格式控制 72
4.4 程序示例 75
4.5 小结 77
习题 78
第5章 选择结构 84
5.1 用条件表达式实现选择结构 84
5.2 if语句 87
5.2.1 if语句的3种格式 87
5.2.2 嵌套的if语句 94
5.3 switch语句 95
5.4 程序示例 98
5.5 小结 102
习题 102
第6章 循环结构 108
6.1 while语句 108
6.2 do-while语句 111
6.2.1 语句格式 111
6.2.2 执行过程 111
6.3 for语句 112
6.3.1 语句格式 112
6.3.2 执行过程 112
6.4 break和continue语句 115
6.4.1 break语句 115
6.4.2 continue语句 117
6.5 3种循环的比较 118
6.6 循环的嵌套 119
6.7 程序示例 120
6.8 小结 124
习题 125
第7章 数组 130
7.1 数组的基本概念 130
7.2 一维数组 131
7.2.1 一维数组的定义和存储结构 131
7.2.2 引用一维数组元素 132
7.2.3 初始化一维数组 134
7.3 二维数组 136
7.3.1 二维数组的定义 136
7.3.2 引用二维数组元素 137
7.3.3 初始化二维数组 139
7.3.4 定义多维数组 141
7.4 字符数组 141
7.4.1 定义及初始化字符数组 141
7.4.2 输入/输出字符串 143
7.4.3 字符串处理函数 144
7.5 数组应用示例 148
7.6 小结 154
习题 154
第8章 函数与编译预处理 162
8.1 函数的基本概念 162
8.2 定义与声明函数 164
8.2.1 定义函数 164
8.2.2 声明函数 165
8.3 调用函数 166
8.3.1 调用函数语句的一般格式 166
8.3.2 函数的返回值 166
8.4 函数的传值方式 168
8.5 函数的嵌套和递归调用 170
8.5.1 嵌套调用 170
8.5.2 函数的递归调用 172
8.6 数组作为函数的参数 176
8.6.1 数组元素作为函数实参 176
8.6.2 数组名作为函数实参 176
8.7 变量的作用域 179
8.7.1 局部变量 179
8.7.2 全局变量 180
8.8 变量的存储类型 182
8.8.1 动态与静态存储方式 182
8.8.2 auto变量 182
8.8.3 static变量 183
8.8.4 register变量 184
8.8.5 用extern声明外部变量 185
8.9 内部和外部函数 185
8.9.1 内部函数 185
8.9.2 外部函数 186
8.10 编译预处理 187
8.10.1 宏定义命令 187
8.10.2 文件包含命令 192
8.10.3 条件编译命令 192
8.11 小结 194
习题 195
第9章 指针 198
9.1 指针的基本概念 198
9.1.1 定义及初始化指针变量 199
9.1.2 指针变量与普通变量的区别 201
9.2 指针运算 202
9.2.1 指针的赋值运算 202
9.2.2 指针的算术运算 202
9.2.3 指针的关系运算 204
9.3 指针与数组 204
9.3.1 指向一维数组的指针 205
9.3.2 指向二维数组的指针 206
9.3.3 指向字符串指针 209
9.3.4 指针数组和指向指针的指针 211
9.4 指针作为函数的参数 214
9.5 指针应用示例 216
9.6 小结 219
习题 220
第10章 构造型数据类型 225
10.1 结构体类型 225
10.1.1 定义结构体 225
10.1.2 定义结构体变量 226
10.1.3 初始化结构体变量 227
10.1.4 引用结构体变量成员 228
10.2 结构体数组 229
10.2.1 声明结构体数组 229
10.2.2 初始化和引用结构体数组成员 230
10.3 结构体指针 231
10.4 链表 234
10.4.1 链表的基本概念 234
10.4.2 内存动态管理函数 235
10.4.3 链表的基本操作 236
10.5 共用体 242
10.5.1 定义共用体及共用体变量 242
10.5.2 初始化共用体变量和引用其成员 243
10.5.3 应用共用体 245
10.6 枚举型 246
10.7 定义类型 248
10.8 程序示例 249
10.9 小结 253
习题 254
第11章 文件 261
11.1 文件的相关概念 261
11.2 打开与关闭文件 262
11.2.1 使用fopen函数打开文件 262
11.2.2 使用fclose函数关闭文件 264
11.3 顺序读写文件 264
11.3.1 读写文件的一个字符 264
11.3.2 读写文件的一个字符串 268
11.3.3 读写文件的一组数据 269
11.3.4 格式化读写文件 271
11.4 随机读写文件 272
11.5 文件定位 272
11.6 随机读写文件函数 273
11.7 文件检测函数 274
11.8 小结 274
习题 275
附录 C语言常用的库函数 277
前 言
前 言
C语言概念简洁、数据类型丰富、表达能力强、运算符多且用法灵活,控制流和数据结构新颖,并且程序结构性和可读性好,有利于培养程序开发人员良好的编程习惯,并易于体现结构化程序设计思想。它具有高级语言程序设计的特点,又具有汇编语言的功能。C语言既能有效地进行算法描述,又能对硬件直接进行操作;既适合编写应用程序,又适合开发系统软件,是目前世界上应用广泛、最具影响的程序设计语言之一。C语言本身还具有整体语言紧凑整齐、设计精巧、编辑方便、编译与目标代码运行效率高、操作简便,以及使用灵活等许多鲜明特点。特别是它扩充了图形、彩色、窗口等功能,以及高效的集成开发环境,赢得了广大用户的喜爱,得到了广泛的应用。
本书全面介绍了C语言的概念、特性和结构化程序设计方法。全书共11章,第1章为C语言程序设计概述;第2章介绍了数据结构与算法;第3章介绍了基本数据类型、运算符和表达式;第4章至第6章介绍了用C语言进行结构化程序设计的基本方法,包括结构化程序的顺序结构、选择结构、循环结构及其设计方法;第7章介绍了数组;第8章介绍了函数的定义和使用方法,以及编译预处理的相关知识;第9章介绍了指针的概念,并做了充分阐述;第10章介绍了构造型数据类型;第11章详细阐述了C语言的文件操作。
本书注重教材的可读性和实用性,每章的内容均是作者根据多年C语言及计算机相关专业课程的教学实践组织而成的。学习目标和意义明确,难点和关键知识点阐述详细,并附有大量的图表,以方便读者正确、直观地理解问题。全书精选了大量例题,例题由浅入深,强化了知识点、算法、编程方法和技巧,并给出了详细的解释。全部例题已在Visual C 6.0平台调试通过,可直接引用;此外,本书还简要介绍了数据结构与算法,使读者能够对程序设计有全面的认识。从大的方向了解程序设计语言的基本概念,从而更易于接受课程的内容,这正好适应了目前我国提倡的对大学生进行计算机思维教学的需要。
为配合读者学习本书,作者另编写了一本《C语言程序设计基础实验教程》作为本书的配套教材,供读者复习和检查学习效果时使用。
本书由华东交通大学雷莉霞、刘媛媛任主编,甘岚、范萍任副主编,其中甘岚编写了第3、5章,刘媛媛编写了第6、9、10章,范萍编写了第2、8、11章,雷莉霞编写了第1、4、7章和附录,并负责全书的统稿工作。
在本书的编写过程中得到了华东交通大学信息工程学院计算机基础部全体老师的热情支持和指导,在此表示衷心感谢。
由于作者水平有限,加之时间仓促,书中错误和不当之处在所难免,敬请读者批评指正。
C语言概念简洁、数据类型丰富、表达能力强、运算符多且用法灵活,控制流和数据结构新颖,并且程序结构性和可读性好,有利于培养程序开发人员良好的编程习惯,并易于体现结构化程序设计思想。它具有高级语言程序设计的特点,又具有汇编语言的功能。C语言既能有效地进行算法描述,又能对硬件直接进行操作;既适合编写应用程序,又适合开发系统软件,是目前世界上应用广泛、最具影响的程序设计语言之一。C语言本身还具有整体语言紧凑整齐、设计精巧、编辑方便、编译与目标代码运行效率高、操作简便,以及使用灵活等许多鲜明特点。特别是它扩充了图形、彩色、窗口等功能,以及高效的集成开发环境,赢得了广大用户的喜爱,得到了广泛的应用。
本书全面介绍了C语言的概念、特性和结构化程序设计方法。全书共11章,第1章为C语言程序设计概述;第2章介绍了数据结构与算法;第3章介绍了基本数据类型、运算符和表达式;第4章至第6章介绍了用C语言进行结构化程序设计的基本方法,包括结构化程序的顺序结构、选择结构、循环结构及其设计方法;第7章介绍了数组;第8章介绍了函数的定义和使用方法,以及编译预处理的相关知识;第9章介绍了指针的概念,并做了充分阐述;第10章介绍了构造型数据类型;第11章详细阐述了C语言的文件操作。
本书注重教材的可读性和实用性,每章的内容均是作者根据多年C语言及计算机相关专业课程的教学实践组织而成的。学习目标和意义明确,难点和关键知识点阐述详细,并附有大量的图表,以方便读者正确、直观地理解问题。全书精选了大量例题,例题由浅入深,强化了知识点、算法、编程方法和技巧,并给出了详细的解释。全部例题已在Visual C 6.0平台调试通过,可直接引用;此外,本书还简要介绍了数据结构与算法,使读者能够对程序设计有全面的认识。从大的方向了解程序设计语言的基本概念,从而更易于接受课程的内容,这正好适应了目前我国提倡的对大学生进行计算机思维教学的需要。
为配合读者学习本书,作者另编写了一本《C语言程序设计基础实验教程》作为本书的配套教材,供读者复习和检查学习效果时使用。
本书由华东交通大学雷莉霞、刘媛媛任主编,甘岚、范萍任副主编,其中甘岚编写了第3、5章,刘媛媛编写了第6、9、10章,范萍编写了第2、8、11章,雷莉霞编写了第1、4、7章和附录,并负责全书的统稿工作。
在本书的编写过程中得到了华东交通大学信息工程学院计算机基础部全体老师的热情支持和指导,在此表示衷心感谢。
由于作者水平有限,加之时间仓促,书中错误和不当之处在所难免,敬请读者批评指正。
评论
还没有评论。