第1章 C语言概述 1
1.1 程序、算法和流程图 1
1.1.1 程序 1
1.1.2 算法 1
1.1.3 流程图 2
1.2 C语言的特点和源程序的基本结构 3
1.2.1 C语言的特点 3
1.2.2 C语言程序的构成和书写格式 4
1.2.3 C语言程序的3种基本结构 5
1.3 在Visual C++6.0环境开发C语言程序 5
1.3.1 C语言程序的开发过程 5
1.3.2 Visual C++6.0的启动和操作 6
1.3.3 C语言程序调试 9
本章小结 11
习题1 11
第2章 数据类型、运算符与表达式 13
2.1 C语言基本数据类型 13
2.2 常量与变量 13
2.2.1 常量和符号常量 13
2.2.2 变量 14
2.3 整型数据 15
2.3.1 整型常量 15
2.3.2 整型变量 15
2.4 实型数据 16
2.4.1 实型常量 16
2.4.2 实型变量 16
2.5 字符型数据 17
2.5.1 字符型常量 17
2.5.2 字符型变量 17
2.5.3 字符串常量 18
2.6 运算符与表达式 18
2.6.1 算术运算符与表达式 19
2.6.2 关系运算符与表达式 21
2.6.3 逻辑运算符与表达式 22
2.6.4 赋值运算符与表达式 23
2.6.5 条件运算符 24
2.6.6 逗号运算符 24
2.7 数据之间的混合运算与数据类型转换 25
本章小结 26
习题2 27
第3章 顺序结构与基本输入/输出函数 29
3.1 格式化输入/输出函数 29
3.1.1 格式化输入函数scanf() 29
3.1.2 格式化输出函数printf() 30
3.2 字符输入/输出函数 32
3.2.1 字符输入函数getchar() 32
3.2.2 字符输出函数putchar() 32
本章小结 32
习题3 33
第4章 选择结构 37
4.1 单分支if语句 37
4.2 二分支if语句 38
4.2.1 二分支if语句 38
4.2.2 二分支if语句与条件运算符 39
4.2.3 if语句嵌套 39
4.2.4 多分支if语句 40
4.3 switch语句 42
4.4 综合实例 44
本章小结 47
习题4 48
第5章 循环结构 52
5.1 goto语句 52
5.2 for循环语句 53
5.3 while循环和do…while循环语句 55
5.3.1 while循环语句 55
5.3.2 do…while循环语句 56
5.4 循环嵌套 58
5.5 break语句和continue语句 60
5.5.1 break语句 60
5.5.2 continue语句 61
5.6 综合实例 62
本章小结 65
习题5 66
第6章 数组 71
6.1 一维数组 71
6.1.1 一维数组的定义 71
6.1.2 一维数组的初始化 72
6.1.3 一维数组元素的引用 73
6.2 二维数组 76
6.2.1 二维数组的定义 76
6.2.2 二维数组元素的初始化 76
6.2.3 二维数组元素的引用 77
6.2.4 多维数组 78
6.3 字符数组 79
6.3.1 字符数组的定义 79
6.3.2 字符数组的初始化 80
6.3.3 字符串与字符数组 80
6.3.4 字符串的输入输出 82
6.3.5 字符串处理函数 83
6.4 综合实例 86
本章小结 87
习题6 88
第7章 函数 92
7.1 函数的定义 93
7.2 函数的参数和返回值 94
7.2.1 函数的形式参数和实际参数 94
7.2.2 函数的返回值 95
7.3 函数的调用 96
7.3.1 函数调用的一般形式 96
7.3.2 函数的原型声明 96
7.3.3 函数的嵌套调用 98
7.3.4 函数的递归调用 99
7.4 数组作为函数参数 101
7.4.1 数组元素作为函数实参 101
7.4.2 数组名作为函数参数 102
7.5 变量的存储类别、作用域和生存期 103
7.5.1 局部变量和全局变量 103
7.5.2 变量的存储类别 105
7.6 内部函数和外部函数 107
7.6.1 内部函数 107
7.6.2 外部函数 107
本章小结 108
习题7 108
第8章 指针 112
8.1 指针的概念和定义 112
8.1.1 指针的概念 112
8.1.2 指针变量的定义和初始化 112
8.1.3 指针的引用 113
8.1.4 指向指针的指针 115
8.1.5 指针数组 117
8.2 指针变量与函数参数 118
8.3 指针与数组 120
8.4 指针与二维数组 123
8.4.1 二维数组的地址 123
8.4.2 指向二维数组的指针变量 125
8.5 指针与字符串 127
8.5.1 用字符指针指向字符串 127
8.5.2 字符串指针作函数参数 128
8.6 指针与函数 129
8.6.1 函数指针 129
8.6.2 返回值是指针的函数 130
8.7 带参数的main()函数 131
本章小结 132
习题8 133
第9章 编译预处理 135
9.1 宏定义 135
9.1.1 不带参数的宏定义 135
9.1.2 带参数的宏定义 137
9.2 文件包含 138
9.3 条件编译 139
本章小结 142
习题9 142
第10章 结构与共用 144
10.1 结构的定义与结构变量的操作 144
10.1.1 结构的定义 144
10.1.2 结构变量的定义 145
10.1.3 结构变量的引用与赋值 147
10.1.4 结构变量的初始化 148
10.2 结构数组 149
10.2.1 结构数组的定义和初始化 149
10.2.2 结构数组的应用 150
10.3 结构与指针变量 151
10.3.1 指向结构变量的指针 151
10.3.2 指向结构数组的指针 153
10.3.3 指向结构变量的指针作为函数参数 155
10.3.4 指向结构数组的指针作为函数参数 156
10.4 动态内存分配 157
10.5 结构与链表 159
10.5.1 链表概述 159
10.5.2 链表操作 160
10.6 共用 167
10.6.1 共用的概念 167
10.6.2 共用变量的引用 169
本章小结 171
习题10 171
第11章 位运算 174
11.1 位运算的基本概念 174
11.2 位运算符 174
11.2.1 位逻辑运算符 174
11.2.2 移位运算 176
11.2.3 位运算的应用实例 176
本章小结 177
习题11 177
第12章 文件 178
12.1 文件概述 178
12.2 文件类型指针 179
12.3 文件的打开与关闭 179
12.3.1 文件的打开(fopen函数) 179
12.3.2 文件的关闭(fclose函数) 181
12.4 文件的读写 181
12.4.1 字符读写函数fgetc()和fputc() 181
12.4.2 字符串读写函数fgets()和fputs() 183
12.4.3 二进制读写函数fread()和fwrite() 184
12.4.4 格式化读写函数fscanf()和fprintf() 185
12.5 文件的随机读写 187
12.5.1 文件的定位 187
12.5.2 文件的随机读写 188
本章小结 189
习题12 189
附录 192
附录A ASCII码表 192
附录B C语言常用标准库函数 193
参考文献 212