第1章 绪论 1
1.1 C语言的发展历史 1
1.2 C语言的特点 1
1.3 简单的C语言程序介绍 2
1.3.1 程序快速简介 2
1.3.2 程序细节 2
1.4 C语言程序的格式 2
1.5 使用C语言的7个步骤 3
1.6 开发环境 5
1.6.1 Visual C++6.0 5
1.6.2 使用Turbo C 2.0编程 15
小结 18
习题 18
第2章 数据类型、运算符与表达式 19
2.1 数据类型 19
2.2 变量 19
2.2.1 变量的类型 20
2.2.2 类型修饰符 20
2.2.3 变量的定义 21
2.2.4 存储单元的基本概念 23
2.3 常量 23
2.3.1 整型常量 23
2.3.2 实型常量 24
2.3.3 字符常量 24
2.3.4 字符串常量 25
2.3.5 符号常量 25
2.4 运算符与表达式 26
2.4.1 运算符的优先级和结合性 26
2.4.2 算术运算符和算术表达式 27
2.4.3 关系运算符和关系表达式 30
2.4.4 逻辑运算符和逻辑表达式 31
2.4.5 位运算符 32
2.4.6 赋值运算符和赋值表达式 33
2.4.7 逗号运算符和逗号表达式 33
2.4.8 条件运算符和条件表达式 34
2.4.9 求字节数运算符 35
2.5 不同类型数据之间的转换 35
2.5.1 自动类型转换 35
2.5.2 强制类型转换 36
小结 37
习题 37
第3章 简单的程序设计 39
3.1 C语句概述 39
3.2 顺序结构 40
3.3 输入/输出 41
3.3.1 字符数据输入/输出 41
3.3.2 格式化输入/输出 42
小结 45
习题 45
第4章 控制流与程序结构 47
4.1 算法概述 47
4.1.1 算法 47
4.1.2 算法的主要特征 48
4.1.3 算法的表示 48
4.2 选择语句 50
4.2.1 if语句 51
4.2.2 switch…case语句 56
4.3 循环语句 58
4.3.1 while语句 58
4.3.2 do…while语句 59
4.3.3 for语句 60
4.3.4 循环语句的嵌套 63
4.4 跳转语句 64
4.4.1 goto语句 64
4.4.2 break语句 65
4.4.3 continue语句 67
小结 68
习题 68
第5章 数组 70
5.1 数组概述 70
5.1.1 初始化 71
5.1.2 指定初始化项目 72
5.1.3 为数组赋值 72
5.1.4 数组边界 73
5.1.5 指定数组大小 73
5.2 多维数组 74
5.2.1 二维数组 74
5.2.2 更多维数的数组 75
5.3 数组的排序算法 76
5.3.1 冒泡法排序 76
5.3.2 插入法排序 77
5.3.3 折半法排序 80
5.4 字符串处理函数 82
5.4.1 字符串复制函数 82
5.4.2 字符串连接函数 82
5.4.3 字符串比较函数 83
5.4.4 获得字符串长度函数 84
小结 84
习题 84
第6章 函数 86
6.1 函数概述 86
6.2 函数的定义与调用 87
6.2.1 函数定义 87
6.2.2 函数调用 89
6.2.3 形式参数与实际参数 91
6.2.4 函数的值 93
6.3 函数的嵌套与递归 94
6.3.1 嵌套调用 94
6.3.2 递归调用 95
6.4 变量的作用域 98
6.4.1 局部变量 98
6.4.2 全局变量 99
6.5 变量的存储类型 100
6.5.1 自动变量 100
6.5.2 静态变量 101
6.5.3 寄存器变量 101
6.5.4 外部变量 102
6.6 内部函数和外部函数 103
6.6.1 内部函数 103
6.6.2 外部函数 103
6.7 预处理指令 104
6.7.1 文件包含 104
6.7.2 宏定义 105
6.7.3 条件编译 107
小结 108
习题 109
第7章 指针 112
7.1 指针相关概念 112
7.1.1 地址与指针 112
7.1.2 变量与指针 113
7.1.3 指针变量 113
7.1.4 指针自加自减运算 114
7.2 数组与指针 115
7.2.1 一维数组与指针 115
7.2.2 二维数组与指针 116
7.2.3 字符串与指针 118
7.2.4 字符数组 121
7.3 指针与函数 122
7.3.1 函数返回值是指针 122
7.3.2 指向函数的指针 122
7.4 动态存储分配 124
小结 126
习题 127
第8章 结构体、共用体与枚举 129
8.1 结构体 129
8.1.1 结构体类型的定义 129
8.1.2 结构体变量的定义和初始化 129
8.1.3 结构体变量的引用 132
8.1.4 结构体数组 133
8.1.5 结构指针 135
8.1.6 结构体与函数 137
8.1.7 链表的基本操作 138
8.2 共用体 140
8.2.1 共用体类型的定义 140
8.2.2 共用体变量的说明和引用 140
8.3 枚举类型 141
8.3.1 枚举类型的定义 141
8.3.2 枚举变量的定义和引用 142
8.4 用户定义类型 144
8.5 程序举例 145
小结 148
习题 148
第9章 位运算 150
9.1 数值在计算机中的表示 150
9.1.1 二进制位与字节 150
9.1.2 数的表示主要形式 150
9.2 位运算 151
9.2.1 按位与运算 151
9.2.2 按位或运算 151
9.2.3 按位异或运算 151
9.2.4 按位取反运算 152
9.2.5 左移运算 152
9.2.6 右移运算 152
9.3 位域 153
9.3.1 位域的定义和位域变量的说明 153
9.3.2 位域的使用 154
小结 155
习题 155
第10章 文件 157
10.1 文件的概述 157
10.1.1 文件的基本概念 157
10.1.2 文件指针 157
10.2 文件的打开与关闭 158
10.2.1 文件的打开 158
10.2.2 文件的关闭 159
10.3 文件的读/写 159
10.3.1 字符读/写函数 159
10.3.2 字符串读/写函数 160
10.3.3 格式化读/写函数 161
10.3.4 数据块读/写函数 162
10.3.5 判断文件结束函数 162
10.4 文件定位函数 162
10.4.1 fseek函数 162
10.4.2 rewind函数 162
小结 162
习题 163
第11章 C语言项目实践 164
11.1 图书管理系统 164
11.1.1 系统功能与系统总体设计 164
11.1.2 功能模块的设计 164
11.1.3 数据结构设计 165
11.1.4 函数功能描述 165
11.1.5 程序演示 166
11.1.6 程序清单 167
11.2 企业员工信息管理系统 187
11.2.1 系统功能总体设计 187
11.2.2 功能模块的设计 187
11.2.3 数据结构设计 188
11.2.4 函数功能描述 189
11.2.5 程序演示 189
11.2.6 程序清单 191
11.3 Linux下C语言程序开发 207
11.3.1 Linux简介 207
11.3.2 Linux安装与常用命令 208
11.3.3 Linux常用命令 214
11.3.4 编辑器vi的使用 215
11.3.5 Linux下的C语言开发流程 217
小结 218
附录A 常用ASCII码对照表 219
附录B C语言中的关键字 220
附录C 运算符的优先级和结合性 221
附录D 常用ANSI C语言标准库函数 223
参考文献 229