C语言是国内外广泛使用的计算机语言,是理工科学生应该掌握的一种程序设计工具。本书针对高等学校理工科C语言程序设计教学和等级考试的要求,结合作者多年的教学实践,经过精心策划、准确定位,以清晰的概念和大量的典型实例,深入浅出地介绍了C语言的基本知识、运算符和表达式、常见的算法、流程控制、函数、数组、指针、预编译命令、结构体与共用体、文件操作。同时还讲述了程序设计的思想和规范,并在附录中提供了上机实验指导。
本书结构合理、逻辑性强、通俗易懂,不仅可作为计算机专业和其他理工科专业的教材,也可作为等级考试和自学的参考书。
目录
- 第1章 概述 1
- 1.1 C语言的发展历史 1
- 1.1.1 C语言的发展 1
- 1.1.2 C语言的主要标准 2
- 1.2 C语言程序的结构 2
- 1.3 C语言程序的特点 4
- 1.4 C语言程序的开发方法 5
- 1.4.1 程序 5
- 1.4.2 程序设计和程序设计语言 5
- 1.4.3 程序开发方法 5
- 1.5 C语言程序上机调试 6
- 1.5.1 编写源程序 6
- 1.5.2 源程序文件编译 7
- 1.5.3 目标文件连接 8
- 1.5.4 执行 8
- 本章小结 9
- 习题1 10
- 第2章 数据类型、运算符和表达式 11
- 2.1 C语言的数据类型 11
- 2.2 常量与变量 11
- 2.2.1 标识符命名 11
- 2.2.2 常量 13
- 2.2.3 变量 14
- 2.3 整型数据 14
- 2.3.1 整型常量 14
- 2.3.2 整型变量 14
- 2.4 浮点型数据 16
- 2.4.1 浮点常量 16
- 2.4.2 浮点变量 16
- 2.5 字符型数据 17
- 2.5.1 字符常量 17
- 2.5.2 字符串常量 18
- 2.5.3 转义字符 18
- 2.5.4 字符变量 19
- 2.6 运算符和表达式 19
- 2.6.1 算术运算符 19
- 2.6.2 自增和自减运算符 20
- 2.6.3 关系运算符和逻辑运算符 21
- 2.6.4 位操作符 22
- 2.6.5 条件运算符 23
- 2.6.6 逗号操作符 24
- 2.6.7 赋值运算符 24
- 2.6.8 复合赋值运算符 25
- 2.6.9 关于优先级的小结 25
- 2.7 表达式求值 27
- 2.7.1 整型表达式 27
- 2.7.2 赋值表达式 28
- 2.7.3 关系表达式和逻辑表达式 29
- 本章小结 30
- 习题2 31
- 第3章 算法和控制语句 34
- 3.1 算法初步 34
- 3.1.1 算法的概念 34
- 3.1.2 算法的表示 35
- 3.1.3 算法举例 36
- 3.1.4 三种基本结构 38
- 3.2 C语言的标准输入和输出 39
- 3.2.1 格式化输入输出 40
- 3.2.2 其他输入输出 43
- 3.2.3 C语言语句 44
- 3.2.4 顺序结构程序设计 45
- 3.3 条件语句 46
- 3.3.1 if语句 46
- 3.3.2 if…else语句 49
- 3.3.3 if…else if 语句 50
- 3.3.4 条件语句的嵌套 55
- 3.3.5 条件语句的应用 58
- 3.4 多分支语句 61
- 3.4.1 switch多分支语句 61
- 3.4.2 多分支语句的嵌套 63
- 3.4.3 多分支语句应用 64
- 3.5 循环语句 66
- 3.5.1 while 循环语句 67
- 3.5.2 do…while 循环语句 69
- 3.5.3 for循环语句 72
- 3.5.4 循环语句的嵌套 75
- 3.6 转移语句 80
- 3.6.1 goto 语句 80
- 3.6.2 continue和break语句 80
- 3.7 综合应用 82
- 本章小结 90
- 习题3 91
- 第4章 函数 103
- 4.1 函数概述 103
- 4.2 函数的声明和定义 104
- 4.2.1 函数的类型说明 104
- 4.2.2 函数的定义 104
- 4.3 函数的参数和返回值 105
- 4.3.1 函数的形式参数和实际参数 105
- 4.3.2 函数的返回值 107
- 4.4 函数的调用 108
- 4.4.1 函数调用的一般形式 108
- 4.4.2 函数调用方式 110
- 4.4.3 函数的嵌套调用 112
- 4.4.4 函数递归调用 114
- 4.5 局部变量和全局变量 119
- 4.5.1 局部变量 119
- 4.5.2 全局变量 121
- 4.6 变量的存储类型 123
- 4.6.1 动态存储与静态存储 123
- 4.6.2 auto变量 123
- 4.6.3 static变量 124
- 4.6.4 register变量 125
- 4.6.5 用extern声明外部变量 126
- 4.7 外部函数和内部函数 127
- 4.7.1 内部函数 127
- 4.7.2 外部函数 127
- 4.8 综合应用 129
- 本章小结 132
- 习题4 133
- 第5章 数组 142
- 5.1 一维数组 142
- 5.1.1 一维数组的定义 143
- 5.1.2 一维数组元素的引用 145
- 5.1.3 数组的初始化 147
- 5.1.4 向函数传递一维数组 149
- 5.1.5 一维数组应用 153
- 5.2 二维数组 158
- 5.2.1 二维数组的声明 158
- 5.2.2 二维数组的初始化 159
- 5.2.3 二维数组应用 161
- 5.3 字符数组 164
- 5.3.1 字符数组的定义 165
- 5.3.2 字符数组元素的引用 165
- 5.3.3 字符数组元素的初始化 165
- 5.3.4 字符串的表示 166
- 5.3.5 字符数组的输入与输出 168
- 5.3.6 字符串处理函数 171
- 5.3.7 字符数组应用 174
- 5.4 多维数组 175
- 5.4.1 多维数组的定义 175
- 5.4.2 多维数组的初始化 176
- ※5.5 变长数组 177
- 5.5.1 不指定维长的数据初始化 177
- 5.5.2 可变长数组及定义 177
- 5.6 数组应用举例 178
- 本章小结 181
- 习题5 181
- 第6章 指针 189
- 6.1 指针与指针变量 189
- 6.2 指针变量的定义与引用 191
- 6.2.1 指针变量的定义 191
- 6.2.2 指针变量的引用 192
- 6.3 指针运算符与指针表达式 194
- 6.3.1 与指针运算相关的运算符与表达式 194
- 6.3.2 指针变量作函数的参数 198
- 6.3.3 返回指针的函数 200
- 6.4 指针与数组 201
- 6.4.1 指针与一维数组 201
- 6.4.2 指针与二维数组 205
- 6.4.3 数组指针作函数的参数 208
- 6.4.4 指针与字符数组 213
- 6.5 指针的地址分配 216
- 6.6 指针数组 218
- 6.7 指向指针的指针 222
- 6.8 指向函数的指针变量 224
- 6.9 main函数的参数 225
- 本章小结 228
- 习题6 228
- 第7章 预编译命令 235
- 7.1 概述 235
- 7.1.1 宏定义 235
- 7.1.2 无参宏定义 235
- 7.2 带参宏定义 238
- 7.3 include命令 241
- 7.4 条件编译 242
- 本章小结 244
- 习题7 244
- 第8章 结构体与共用体 248
- 8.1 结构体的声明和结构体变量定义 249
- 8.1.1 结构体的声明 249
- 8.1.2 结构体变量的声明 250
- 8.1.3 结构体成员的引用 252
- 8.1.4 结构体变量的赋值 255
- 8.2 结构体数组和结构体指针 255
- 8.2.1 结构体数组的定义和数组元素的引用 255
- 8.2.2 结构体数组元素的赋值及引用 256
- 8.2.3 指向结构体变量的指针 258
- 8.2.4 结构体数组和结构体指针的应用 260
- 8.3 结构体与函数 261
- 8.3.1 结构体变量作为函数参数 261
- 8.3.2 函数的返回值 263
- 8.4 链表及其应用 266
- 8.4.1 链表结点的定义 266
- 8.4.2 链表的建立 269
- 8.4.3 链表的插入 271
- 8.4.4 链表的删除 272
- 8.5 共用体 273
- 8.5.1 共用体的定义 273
- 8.5.2 共用体变量的引用 275
- 8.6 枚举类型和自定义类型 276
- 8.6.1 枚举类型的定义和枚举变量的说明 276
- 8.6.2 枚举类型变量的赋值和使用 276
- 8.7 类型定义符typedef 278
- 8.8 位段 279
- 8.8.1 位域的定义和位域变量的说明 279
- 8.8.2 位域的使用 280
- 8.9 结构体的综合应用 282
- 本章小结 284
- 习题8 285
- 第9章 文件系统 290
- 9.1 文件和流的概念 290
- 9.1.1 文件的定义 290
- 9.1.2 流的定义 290
- 9.1.3 文件的模式 291
- 9.2 文件的使用 292
- 9.2.1 文件的打开与关闭 292
- 9.2.2 文件的读写操作 294
- 9.2.3 文件指针的定位 302
- 9.2.4 出错的检测 304
- 9.3 文件系统应用举例 305
- 本章小结 307
- 习题9 308
- 附录A 实验指导 311
- 附录B 常用字符与ASCII码对应表 324
- 附录C 运算符优先级和结合性 325
- 附录D C语言关键字 327
- 附录E C语言常用函数表 328
- ??
- ??
- ??
- ??
- C语言程序设计教程