第1章 C语言基础知识 1
1.1 C语言概述 1
1.1.1 C语言的由来与标准化 1
1.1.2 C语言的特点和应用 1
1.2 C程序的结构 2
1.2.1 C程序的基本结构 2
1.2.2 简单C程序分析 3
1.2.3 C程序的具体构成 5
1.2.4 C程序的上机执行过程 8
1.2.5 Vistual C++6.0的上机步骤 9
1.3 C语言的数据类型 10
1.3.1 基本数据类型 11
1.3.2 变量 11
1.3.3 常量 13
1.3.4 数据在计算机内的存储 17
1.4 C程序的输入/输出 19
1.4.1 用函数实现输入/输出 19
1.4.2 用对象流实现输入/输出 24
小结 27
上机练练练 27
习题 30
第2章 运算符与表达式 32
2.1 概述 32
2.2 算术运算符与算术表达式 33
2.2.1 算术运算符 33
2.2.2 算术表达式 33
2.2.3 自增和自减运算符 34
2.3 赋值运算符与赋值表达式 35
2.3.1 赋值运算符 35
2.3.2 复合赋值运算符 36
2.3.3 赋值表达式 36
2.4 关系运算符与关系表达式 37
2.4.1 关系运算符 37
2.4.2 关系表达式 38
2.5 逻辑运算符与逻辑表达式 38
2.5.1 逻辑运算符 38
2.5.2 逻辑表达式 39
2.6 位运算符与位运算表达式 40
2.6.1 位运算符 40
2.6.2 位运算表达式 41
2.7 条件运算符与条件表达式 46
2.8 逗号运算符和逗号表达式 47
2.9 求字节运算符与求字节表达式 47
2.10 数据类型转换 48
2.10.1 自动类型转换 48
2.10.2 强制类型转换 51
小结 51
上机练练练 51
习题 55
第3章 程序的控制结构 60
3.1 结构化程序设计概述 60
3.2 顺序结构 61
3.2.1 C语言的语句 61
3.2.2 顺序结构应用举例 62
3.3 选择结构 63
3.3.1 if语句 63
3.3.2 switch语句 68
3.4 循环结构 70
3.4.1 while语句 70
3.4.2 do-while语句 71
3.4.3 for语句 72
3.4.4 循环嵌套 74
3.5 其他控制语句 76
3.5.1 break语句 76
3.5.2 continue语句 77
3.5.3 goto语句 79
小结 79
上机练练练 80
习题 85
第4章 构造数据类型 90
4.1 数组 90
4.1.1 数组概述 90
4.1.2 一维数组 92
4.1.3 二维数组 105
4.1.4 字符数组和字符串 113
4.2 结构体 120
4.2.1 结构体类型声明 121
4.2.2 结构体变量 122
4.2.3 结构体数组 126
4.2.4 位段 129
4.2.5 结构体的应用举例 131
4.3 共用体 132
4.3.1 共用体类型声明 132
4.3.2 共用体变量 133
4.3.3 共用体的应用举例 135
4.4 枚举类型 136
4.4.1 枚举类型声明 136
4.4.2 枚举变量 137
4.4.3 枚举类型的应用举例 139
4.5 自定义类型名 140
小结 141
上机练练练 141
习题 152
第5章 函数 159
5.1 函数概述 159
5.2 函数的定义和调用 161
5.2.1 函数的定义 161
5.2.2 函数的调用 164
5.3 函数的参数传递 166
5.3.1 值传递 166
5.3.2 地址传递 168
5.4 函数的调用方式 172
5.4.1 函数的嵌套调用 172
5.4.2 函数的递归调用 174
5.5 变量的作用域和生存期 178
5.5.1 变量的作用域 178
5.5.2 变量的生存期和存储类型 180
5.6 宏定义 186
5.6.1 无参宏定义 186
5.6.2 带参宏定义 187
小结 190
上机练练练 190
习题 194
第6章 指针 200
6.1 指针与指针变量 200
6.1.1 指针的基本概念 200
6.1.2 指针变量的定义 201
6.1.3 指针变量的赋值 202
6.1.4 指针运算符 203
6.2 指针与数组 204
6.2.1 指针与一维数组 204
6.2.2 移动指针及两指针相减运算 207
6.2.3 指针比较 208
6.2.4 指向字符串的指针 209
6.2.5 指针与二维数组 212
6.3 指向指针的指针 220
6.3.1 指向指针的指针的概念 220
6.3.2 指向指针的指针变量定义 220
6.3.3 指向指针的指针变量的应用 221
6.4 指针与结构体 222
6.4.1 指向结构体变量的指针变量 222
6.4.2 指向结构体数组的指针变量 223
6.4.3 通过指针变量存取位段数据 224
6.5 指向共用体和枚举型的指针 225
6.5.1 指向共用体变量的指针变量 225
6.5.2 指向枚举型的指针变量 226
6.6 函数与指针 226
6.6.1 返回指针的函数 226
6.6.2 指针变量作函数的形参 228
6.6.3 主函数main()的形参 230
6.6.4 指向函数的指针 231
6.7 链表 234
6.7.1 单向链表的建立 234
6.7.2 单向链表的查找操作 235
6.7.3 单向链表结点的插入操作 236
6.7.4 单向链表结点的删除操作 236
6.7.5 一个完整的单向链表应用程序 237
小结 240
上机练练练 241
习题 248
第7章 文件 257
7.1 文件的基本概念 257
7.2 文件指针 258
7.3 文件的打开与关闭 259
7.3.1 文件打开函数 259
7.3.2 文件关闭函数 260
7.4 文件的读写 261
7.4.1 字符读写函数 261
7.4.2 数据块读写函数 265
7.4.3 数据格式化读取函数 267
7.4.4 其他的文件读写函数 268
7.5 文件的定位函数 270
7.6 文件出错检测函数 272
小结 273
上机练练练 273
习题 278
附录A ASCII码表 280
附录B 运算符和结合性 281
附录C C语言常用库函数 282
参考文献 286