图书简介:
目 录
第1章 C语言概述 1
1.1 C语言的发展史 1
1.2 C语言的特点 3
1.3 算法 3
1.4 一个简单的C语言 7
1.5 C语言程序的开发环境 9
习题1 11
第2章 数据类型、运算法、表达式 13
2.1 数据类型 13
2.1.1 标识符 13
2.1.2 关键字 14
2.2 常量和变量 14
2.2.1 常量 14
2.2.2 变量 15
2.3 基本数据类型 17
2.3.1 整型数据 17
2.3.2 实型数据 19
2.3.3 字符型数据 20
2.4 运算符与表达式 22
2.4.1 C运算符 23
2.4.2 基本算术运算符 23
2.4.3 自增自减运算符 24
2.4.4 算术表达式 25
2.4.5 赋值运算符和表达式 26
2.5 强制类型转换运算符 27
2.6 逗号运算符和逗号表达式 28
习题2 29
第3章 顺序结构 31
3.1 C语句概述 31
3.2 输入输出函数 33
3.2.1 格式化输出函数 33
3.2.2 格式化输入函数 38
3.2.3 字符输入输出函数 42
3.3 顺序结构程序设计举例 42
习题3 43
第4章 选择结构 47
4.1 if语句 47
4.1.1 关系运算符和逻辑运算符 47
4.1.2 简单if语句格式 49
4.1.3 if…else格式 50
4.1.4 if…else…if格式 51
4.2 if语句的嵌套 52
4.3 条件运算符与条件表达式 53
4.4 switch语句 54
4.5 选择结构程序设计举例 56
习题4 59
第5章 循环结构 62
5.1 while语句 62
5.2 do…while语句 65
5.3 for语句 68
5.4 3种循环语句的比较 71
5.5 循环的嵌套 72
5.6 循环体中的控制命令 76
5.7 循环结构程序设计举例 79
习题5 83
第6章 数组 89
6.1 初识数组 89
6.2 一维数组 90
6.2.1 一维数组的定义与初始化 90
6.2.2 一维数组的引用 92
6.2.3 一维数组示例 94
6.3 二维数组及多维数组 97
6.3.1 二维数组的定义与初始化 97
6.3.2 二维数组的引用 99
6.3.3 二维数组示例 100
6.3.4 多维数组 104
6.4 字符数组与字符串 105
6.4.1 字符数组的定义与初始化 105
6.4.2 字符数组的引用 106
6.4.3 字符串 107
6.4.4 字符串的输入输出 108
6.4.5 常用的字符串处理函数 111
习题6 116
第7章 函数 119
7.1 函数的定义 119
7.1.1 无参函数的定义 119
7.1.2 空函数 122
7.1.3 有参函数的定义 122
7.2 函数的调用 122
7.2.1 函数调用的一般方法 122
7.2.2 函数的声明 123
7.2.3 函数的参数与返回值 123
7.3 函数的嵌套调用 125
7.3.1 数组名作为函数参数 125
7.3.2 嵌套调用函数 125
7.4 函数的递归调用 127
7.5 局部变量和全局变量 129
7.6 应用程序举例 135
习题7 137
第8章 指针 140
8.1 地址 140
8.2 指针变量 141
8.2.1 声明指针变量 142
8.2.2 指针变量的赋值 142
8.2.3 有关指针的运算符 143
8.2.4 指针操作 144
8.3 数组与指针 146
8.3.1 通过指针操作一维数组 147
8.3.2 通过指针操作二维数组 153
8.3.3 通过指针操作字符串 157
8.4 指针与函数 158
8.4.1 指针变量作为函数参数 158
8.4.2 返回指针值的函数 166
习题8 168
第9章 结构体和共用体 172
9.1 结构体 172
9.1.1 结构体类型的定义 172
9.1.2 结构体变量的定义 173
9.1.3 结构体变量的初始化 176
9.1.4 结构体变量的引用 177
9.1.5 结构体变量的内存分配 179
9.2 结构体数组 181
9.2.1 结构体数组的定义 181
9.2.2 结构体数组的初始化 182
9.2.3 结构体数组的引用 183
9.3 结构体指针 185
9.3.1 指向结构体变量的指针 185
9.3.2 指向结构体数组的指针 187
9.4 结构体作为函数参数 188
9.5 共用体 190
9.5.1 共用体类型的定义 190
9.5.2 共用体变量的定义 191
9.5.3 共用体变量的初始化 192
9.5.4 共用体变量的引用 193
9.6 枚举类型 195
9.7 使用typedef声明新类型名 198
习题9 198
第10章 文件 202
10.1 初识文件 202
10.1.1 文件的概念 202
10.1.2 文件的分类 203
10.1.3 文件的缓冲机制 204
10.1.4 文件指针 205
10.2 文件的打开与关闭 206
10.2.1 使用fopen函数打开数据文件 206
10.2.2 使用fclose函数关闭数据文件 209
10.3 文件的顺序读写 210
10.3.1 字符读写函数 210
10.3.2 字符串读写函数 212
10.3.3 数据块读写函数 214
10.3.4 格式化读写函数 216
10.4 文件的随机读写 218
10.4.1 fseek函数 219
10.4.2 rewind函数 220
10.4.3 ftell函数 222
习题10 222
展开
前 言
C语言是一种融合了控制特性的现代语言,其设计使用户可以自然地采用结构化编程和模块化设计,而这种做法使编写出的程序更可靠;C语言是一种高效的语言,用它生成的程序很紧凑且运行速度快;C语言也是一种功能强大和灵活性强的语言,它允许访问硬件,可以操纵内存中的特定位;C语言的可移植性极好,在一个系统上编写的C程序经过很少修改或不经修改就可以在其他系统上运行。
20世纪90年代以来,很多软件开发商转向用功能更强大的C++语言来开发大型项目,C++语言在C语言的基础上加入了面向对象的工具,其意图是使语言来适应问题而非让问题适应语言,基本上可以把C++语言看作C语言的超集,所以学习C语言的同时也可以学习到C++语言的很多知识,不管面向对象的语言如何流行,C语言在软件产业中依然是一种最重要的工具之一,特别是在含有大量数值计算的领域和嵌入式系统的开发中。所以在未来的若干年中C语言仍将保持强劲的势头。
对于初学者来说,迈出第一步可能是较难的。多数人能够熟练地应用许多现成的软件,但一开始并不相信自己也能开发软件。其实,编程的核心在于用程序设计找到解决问题的思路。要想做到这一点,必须以逻辑方式考虑问题,训练自己以计算机能够理解的方式去表达自己的逻辑,即“计算思维”。构建一个完整的C语言知识体系。这需要一个比较漫长的学习过程。
本书力图以简短的篇幅介绍C语言的基本概念和基本语法,使读者通过学习可以具有初步使用C语言来解决问题的能力。我们也注意到,学习编程语言最重要的不是其语法和标准,而是编程思想的建立和使用语言的能力。所以在内容上我们贯穿了引导学习者建立正确思维模式的训练。
本书由方灵、孔璐、任剑岚担任主编,柯芬芬、刘志华、熊淑云、张亮、金鑫、刘金华担任副主编,罗锋华对全书进行了审核,具体分工如下:第1章、第2章和第5章由方灵编写,第4章、第7章由孔璐编写,第6章、第9章和第10章由柯芬芬编写,第3章和第8章由刘志华编写,任剑岚、熊淑云、张亮、金鑫、刘金华参与了本书部分内容的编写,本书由刘伟杰审稿,在此一并表示感谢!
由于编者水平有限,书中难免存在错误或不妥之处,敬请广大读者批评指正。
编 者
展开