计算机基础教育 > 算法与程序设计类
C语言程序设计(第四版)
书号:9787113214623 套系名称:“十三五”高校计算机应用技术系列规划教材
作者:林小茶 出版日期:2016-06-01
定价:43.00 页码 / 开本:328 /16
策划编辑:周海燕 责任编辑:周海燕 彭立辉
适用专业:无 适用层次:本科院校
最新印刷时间:
资源下载
教学课件
教学素材
习题答案(暂无)
教学案例(暂无)
教学设计(暂无)
教学视频(暂无)
内容简介
前言
目录
作者介绍
图书特色
C语言是程序员的入门语言,也是许多大学为学生安排的第一门程序设计课程。本书充分考虑到这一点,在内容的编排上尽量符合初学者的要求,在实例的选择上从易到难,循序渐进,并且能够解决一些实际问题。本书主要内容包括:C语言概述、C语言的基本知识、顺序和选择结构程序设计、循环结构程序设计、函数、数组、指针、结构体等构造数据类型、文件和综合案例。全书通过大量的实例讲解了用C语言进行结构化程序设计的要领。为了方便读者参加全国计算机等级考试二级C语言程序设计的考试,本版教材将最新的考试题目分门别类,按照对应的学习内容在第2章~第8章的最后一节做了讲解。另外,本书还配有上机指导书,给出了本书部分编写程序题目的参考答案,供广大教师和学生参考。
本书适合作为大学应用型本科院校的学生学习C程序设计课程的教材,也可作为C语言自学者的教材或参考书。无
第1章C语言概述.............................. 1
1.1 程序与程序设计语言 .................... 1
1.1.1 程序 .................................... 1
1.1.2 程序设计语言..................... 2
1.2 C 语言发展历史和主要特点.......... 3
1.2.1 C 语言的发展历史.............. 3
1.2.2 C 语言的主要特点.............. 4
1.3 C 语言的基本结构......................... 4
1.3.1 第一个程序......................... 5
1.3.2 第二个程序......................... 5
1.3.3 printf()使用初步.................. 6
1.3.4 第三个程序......................... 7
1.4 程序的调试.................................... 7
1.4.1 调试步骤 ............................ 7
1.4.2 在 Visual Studio 2010 调试
环境下调试第一个程序...... 8
小结.......................................................12
习题.......................................................12
第2章C语言的基本知识.................. 13
2.1 变量 ..............................................13
2.2 常量 ..............................................15
2.3 C 语言的数据类型........................16
2.3.1 为什么要讨论数据类型.....16
2.3.2 C 语言有哪些数据类型 .....17
2.3.3 基本数据类型....................17
2.4 不同数据类型的变量说明............18
2.4.1 整型变量 ...........................18
2.4.2 浮点变量 ...........................19
2.4.3 字符变量 ...........................20
2.5 不同数据类型的常量写法............20
2.5.1 整型常量 ...........................20
2.5.2 浮点常量 ...........................21
2.5.3 字符常量 ...........................21
2.6 不同数据类型的输入/输出...........23
2.6.1 整型数据的输入/输出 .......23
2.6.2 浮点数据的输入/输出 .......24
2.6.3 字符数据的输入/输出 .......25
2.6.4 用 getchar()输入字符和用
putchar()输出字符..............26
2.7 不同数据类型数据间的混合运算 27
2.7.1 自动转换............................28
2.7.2 强制转换............................28
2.7.3 安全类型转换与非安全类型
转换 ...................................29
2.8 字符集和标识符 ...........................30
2.8.1 字符集 ...............................31
2.8.2 标识符 ...............................31
2.9 典型错误及典型例题 ...................32
小结.......................................................35
习题.......................................................36
第3章 顺序和选择结构程序设计........37
3.1 结构化程序设计 ...........................37
3.1.1 结构化程序设计的 3 种
基本结构 ...........................37
3.1.2 结构化程序设计思想的
产生 ...................................42
3.2 语句与分程序...............................44
3.3 顺序结构程序设计 .......................45
3.4 算术运算符与赋值运算符............46
3.4.1 算术运算符的种类及运算.46
3.4.2 算术表达式及算术运算符
的优先级 ...........................47
3.4.3 算术运算符的结合性.........48
3.4.4 普通赋值运算符 ................48
3.4.5 复合赋值运算符 ................49
3.5 选择结构程序设计 .......................49
CONTENTS
目录
2 C语言程序设计(第四版)
3.5.1 问题提出与程序示例 ........49
3.5.2 if 形式................................51
3.5.3 if…else 形式 ......................53
3.5.4 else if 形式.........................55
3.5.5 嵌套的 if 语句....................58
3.6 关系运算符与逻辑运算符............60
3.6.1 关系运算符........................60
3.6.2 逻辑运算符........................61
3.7 增 1/减 1 运算符...........................62
3.8 求字节数运算符...........................63
3.9 switch 语句....................................65
3.10 条件运算符.................................68
3.11 程序举例.....................................70
3.12 典型错误及典型例题 .................73
小结.......................................................78
习题.......................................................79
第4章 循环结构程序设计.................. 81
4.1 问题提出与程序示例 ...................81
4.2 while 语句 .....................................83
4.2.1 while 语句的语法和流程图83
4.2.2 使用 while 语句需要注意
的问题 ...............................84
4.3 do…while 语句..............................86
4.3.1 do…while 语句的语法和
流程图 ...............................86
4.3.2 使用 do…while 语句
解决问题 ...........................86
4.3.3 使用 do…while 语句需要
注意的问题........................88
4.4 for 语句.........................................89
4.4.1 for 语句的语法和流程图 ...89
4.4.2 使用 for 语句解决问题 ......90
4.4.3 使用 for 语句需要注意的
问题...................................91
4.5 多重循环 ......................................92
4.6 break 语句在循环语句中的用法 ..94
4.7 continue 语句 ................................96
4.7.1 continue 的用法 .................96
4.7.2 break 与 continue 的区别 ...96
4.8 程序举例 ......................................97
4.9 典型错误及典型例题 .................104
小结.....................................................108
习题.....................................................108
第5章 函数..................................... 111
5.1 问题提出与程序示例 .................111
5.2 函数基础 ....................................112
5.3 函数的定义.................................113
5.3.1 函数的定义形式 ..............113
5.3.2 函数的返回值..................114
5.4 函数调用 ....................................115
5.4.1 函数的调用方式 ..............115
5.4.2 嵌套调用..........................116
5.5 函数声明 ....................................118
5.6 参数传递 ....................................119
5.6.1 形参和实参......................119
5.6.2 形参的数据类型是基本
数据类型 .........................120
5.7 递归调用 ....................................121
5.8 变量的存储类别 .........................126
5.8.1 自动变量与外部变量.......126
5.8.2 静态变量..........................130
5.8.3 寄存器变量......................132
5.9 典型错误及典型例题 .................133
小结.....................................................136
习题.....................................................137
第6章 数组..................................... 138
6.1 问题提出与程序示例 .................138
6.2 一维数组 ....................................140
6.2.1 一维数组的定义 ..............140
6.2.2 一维数组的引用 ..............141
6.2.3 一维数组的初始化 ..........141
6.2.4 程序举例..........................142
6.3 数组作为函数的参数 .................146
6.4 字符串与字符串函数 .................149
3 目 录
6.4.1 字符数组 .........................149
6.4.2 使用字符串常量初始化
字符数组 .........................150
6.4.3 对字符数组进行输入/
输出操作 .........................150
6.4.4 字符串函数......................153
6.4.5 程序举例 .........................157
6.5 二维数组 ....................................160
6.5.1 二维数组 OP 的定义........160
6.5.2 二维数组的引用 ..............161
6.5.3 二维数组的初始化 ..........162
6.5.4 程序举例 .........................162
6.6 典型错误及典型例题 .................168
小结.....................................................174
习题.....................................................174
第7章 指针..................................... 178
7.1 指针类型与指针运算符..............178
7.1.1 指针数据类型..................179
7.1.2 指针运算符&和*的使用..180
7.2 空间的动态分配与指针运算......181
7.2.1 程序示例 .........................181
7.2.2 空指针 .............................182
7.2.3 存储器申请......................182
7.2.4 存储器释放......................184
7.2.5 指针值的算术运算 ..........184
7.3 指针与函数.................................187
7.3.1 形参的数据类型是
指针类型 .........................187
7.3.2 返回指针值的函数 ..........190
7.3.3 指向函数的指针 ..............191
7.4 指针与一维数组.........................195
7.4.1 问题提出与程序示例 ......195
7.4.2 数组名及指针作为
函数参数 .........................197
7.4.3 指针与字符串..................199
7.5 二级指针 ....................................201
7.6 指针数组 ....................................203
7.6.1 问题提出与程序示例.......203
7.6.2 指针数组的定义和使用...204
7.7 指针与二维数组 .........................207
7.7.1 用指针方法操作二维数组
.........................................207
7.7.2 动态的二维数组 ..............209
7.7.3 用指向数组的指针操作
二维数组 .........................211
7.8 命令行参数.................................213
7.9 典型错误及典型例题 .................217
小结.....................................................223
习题.....................................................224
第8章 结构体等构造数据类型......... 226
8.1 结构体 ........................................226
8.1.1 问题提出与程序示例.......226
8.1.2 结构体的声明和结构体
变量的定义......................227
8.1.3 结构体成员的引用 ..........228
8.1.4 结构体的初始化 ..............229
8.2 结构体数组.................................230
8.3 结构体与指针.............................231
8.3.1 指向结构体的指针 ..........231
8.3.2 结构体中的成员包含
指针 .................................234
8.3.3 用结构体类型指针
建立链表 .........................235
8.4 结构体与函数.............................240
8.4.1 结构体数据作为函数
的参数 .............................240
8.4.2 返回指向结构体的指针
的函数 .............................241
8.5 联合体 ........................................243
8.5.1 问题提出与程序示例.......243
8.5.2 联合体的声明和联合体
变量的定义......................244
8.5.3 联合体变量成员的引用...245
8.5.4 指向联合体变量的指针...246
4 C语言程序设计(第四版)
8.5.5 联合体变量与函数 ..........247
8.6 枚举 ............................................249
8.6.1 枚举的声明和枚举变量
的定义 .............................249
8.6.2 枚举变量的使用 ..............249
8.7 类型定义 ....................................250
8.8 程序举例 ....................................251
8.9 典型错误及典型例题 .................254
小结.....................................................259
习题.....................................................260
第9章 文件..................................... 263
9.1 问题提出与程序示例 .................263
9.2 文件操作的基本方法和
相关概念.....................................264
9.2.1 数据文件 .........................264
9.2.2 文件类型指针..................264
9.2.3 文件的打开......................265
9.2.4 文件的关闭......................267
9.2.5 文件操作顺序..................268
9.2.6 C 语言的设备文件...........269
9.3 文件的读/写操作........................269
9.3.1 fputc()函数与 fgetc()函数..269
9.3.2 fprintf()函数与 fscanf()函数
.........................................273
9.3.3 fread()函数与 fwrite()函数 275
9.3.4 fgets()和 fputs() .................279
9.4 文件的定位.................................280
9.4.1 文件的顺序存取和
随机存取 .........................280
9.4.2 rewind()函数.....................280
9.4.3 fseek()函数 .......................281
9.5 程序举例 ....................................282
小结.....................................................287
习题.....................................................287
第10章 综合案例............................ 290
附录A ASCII码与字符对照表.......... 300
附录B 运算符的优先级和结合性....... 302
附录C printf()函数的转换模式及说明304
附录D 预处理命令的使用................. 306
参考文献............................................ 310本教材的前三版已经印刷了多次,此次进行第四次修订。本书延续了前三版的特点,并在此基础上对所讲解的内容做了一些修订,以适合第一次学习程序设计者的需求。