第1章 C程序设计基础 1
1.1 C程序结构 1
1.1.1 “Hello,World.”程序 1
1.1.2 C程序结构 2
1.2 简单C程序举例 3
1.3 C语言的特点 8
1.4 C程序的上机步骤 9
1.4.1 运行C程序的步骤 9
1.4.2 在Microsoft Visual C++ 6.0环境下编辑、编译和运行C程序 10
习题 12
第2章 C语言的数据类型 14
2.1 概述 14
2.2 C语言的基本数据类型 15
2.2.1 整型 15
2.2.2 实型 16
2.2.3 字符型 16
2.3 常量与变量 17
2.3.1 C语言的字符集与标识符 17
2.3.2 常量 18
2.3.3 符号常量 20
2.3.4 变量 21
习题 22
第3章 运算符、表达式和常用库函数 24
3.1 算术运算符和算术表达式 24
3.1.1 算术运算符和算术表达式 24
3.1.2 算术运算中的类型转换 26
3.2 关系运算符和关系表达式 27
3.3 逻辑运算符和逻辑表达式 28
3.4.1 简单赋值运算 31
3.4 赋值运算符和赋值表达式 31
3.4.2 复合赋值运算 32
3.5 逗号运算符和逗号表达式 32
3.6 常用库函数 33
3.6.1 输入/输出函数 33
3.6.2 数学函数 42
3.6.3 字符函数 43
习题 45
4.1 程序的三种基本结构 49
第4章 结构化程序设计和算法 49
4.2 算法的特性 50
4.3 算法描述 51
习题 54
第5章 选择结构程序设计 56
5.1 if语句 56
5.1.1 if语句的基本形式和使用 56
5.1.2 复合语句 60
5.1.3 条件运算符 62
5.2 switch语句 63
5.3 程序举例 65
习题 67
第6章 循环结构程序设计 71
6.1 概述 71
6.2 while语句 71
6.3 do-while语句 73
6.4 for语句 75
6.5 break语句与continue语句 77
6.6 循环的嵌套 80
6.7 程序举例 83
习题 87
第7章 数组 95
7.1 一维数组 95
7.1.1 一维数组的定义 95
7.1.2 一维数组元素的引用 96
7.2 二维数组 98
7.2.1 二维数组的定义 98
7.2.2 二维数组元素的引用 99
7.3 字符数组 101
7.3.1 字符数组的定义和使用 101
7.3.2 字符数组和字符串 102
7.3.3 字符串处理函数 104
7.4 程序举例 108
习题 113
第8章 函数 124
8.1 函数概述 124
8.2.1 函数定义 125
8.2 函数定义和函数调用 125
8.2.2 函数调用 127
8.2.3 函数声明 128
8.3 函数的参数传递 130
8.3.1 函数调用的参数传递 130
8.3.2 值传递 130
8.3.3 地址传递 132
8.4 函数的嵌套调用和递归调用 134
8.4.1 函数的嵌套调用 134
8.4.2 函数的递归调用 135
8.5 变量的作用域 139
8.6 变量的存储类别 141
习题 143
第9章 预处理命令 159
9.1 概述 159
9.2 宏定义 159
9.2.1 不带参数的宏定义 159
9.2.2 带参数的宏定义 161
9.3 文件包含 163
9.4 条件编译 165
习题 166
第10章 指针 171
10.1 指针的基本概念 171
10.1.1 地址和指针 171
10.1.2 指针变量的定义和引用 172
10.1.3 指针变量作函数参数 175
10.2.1 一维数组元素的指针表示法 178
10.2 指针与数组 178
10.2.2 数组名作函数参数 181
10.2.3 二维数组中的指针 183
10.3 指针与字符串 185
10.4 指针与函数 188
10.4.1 指向函数的指针 188
10.4.2 返回指针值的函数 190
10.5 指针数组 191
10.5.1 指针数组的定义和应用 191
10.5.2 指针数组作main函数的参数 192
10.6 多级指针 193
10.7 程序举例 194
习题 198
第11章 结构体和共用体 207
11.1 结构体类型的定义和使用 207
11.1.1 结构体类型的定义 207
11.1.2 结构体类型变量的定义 208
11.1.3 结构体类型变量的引用 210
11.2 结构体数组 212
11.3 指向结构体类型数据的指针 214
11.4 链表 216
11.4.1 链表的基本概念 216
11.4.2 动态存储分配函数 217
11.4.3 链表的基本操作 218
11.5 共用体 225
11.5.1 共用体变量的定义 225
11.5.2 共用体变量的引用 227
习题 228
12.1 位运算概述 235
第12章 位运算 235
12.2 位运算符 236
12.3 程序举例 241
习题 244
第13章 文件 245
13.1 文件概述 245
13.2 文件类型指针 246
13.3 文件操作函数 248
13.3.1 文件的打开和关闭函数 248
13.3.2 文件的读写函数 250
13.3.3 文件的定位函数 254
13.4 程序举例 255
习题 260
附录 267
附录1 C语言关键字 267
附录2 字符的ASCII码表 267
附录3 运算符的优先级与结合性 269
附录4 常用库函数 270
参考文献 274