基础篇 2
第1章 程序设计及C语言概况 2
1.1程序设计的基本概念 2
1.1.1程序和程序设计语 2
1.1.2程序设计 2
1.2算法 3
1.2.1算法及算法的特性 3
1.2.2算法的描述工具 4
1.3结构化程序设计方法 5
1.4C语言的初步知识 7
1.4.1C语言的起源与发展 7
1.4.2C语言的特点 8
1.4.3C语言程序的构成 8
1.4.4C语言程序的上机调试过程 11
本章小结 11
习题1 12
第2章 C语言基础 13
2.1数据类型 13
2.2标识符、常量和变量 14
2.2.1字符集 14
2.2.2标识符 14
2.2.3常量 15
2.2.4变量 16
2.3基本类型数据 16
2.3.1整型数据 16
2.3.2实型数据 18
2.3.3字符型数据 19
2.3.4字符串常量 22
2.4运算符及表达式 22
2.4.1算术运算符 23
2.4.2赋值运算符 25
2.4.3自增、自减运算符 27
2.4.4逗号运算符及逗号表达式 29
2.4.5sizeof运算符 29
本章小结 29
习题2 30
第3章 顺序结构 33
3.1C语言程序的语句 33
3.1.1说明语句 33
3.1.2执行语句 33
3.2数据的输入和输出 34
3.2.1常用标准函数 35
3.2.2单个字符的输入和输出函数 36
3.2.3格式化输入和输出函数 37
3.3程序举例 43
本章小结 45
习题3 45
第4章 选择结构 51
4.1关系运算 51
4.1.1关系运算符 51
4.1.2关系表达式 51
4.2逻辑运算 52
4.2.1逻辑运算符 52
4.2.2逻辑运算的值 53
4.2.3逻辑表达式 54
4.3if语句 55
4.3.1if语句的3种形式 55
4.3.2if语句的嵌套 60
4.3.3条件运算符和条件表达式 61
4.4switch语句 61
4.5程序举例 63
本章小结 67
习题4 67
第5章 循环结构 73
5.1while语句 73
5.2do-while语句 76
5.3for语句 77
5.4转移语句 81
5.4.1break语句 81
5.4.2continue语句 82
5.5程序举例 82
本章小结 86
习题5 87
第6章 编译预处理 94
6.1宏定义 94
6.1.1不带参数的宏定义 94
6.1.2带参数的宏定义 96
6.2文件包含 98
6.3条件编译 98
本章小结 99
习题6 99
提高篇 104
第7章 数组 104
7.1一维数组 104
7.1.1一维数组的定义 104
7.1.2一维数组的初始化 105
7.1.3一维数组元素的引用 106
7.1.4一维数组的应用 107
7.2二维数组 110
7.2.1二维数组的定义 110
7.2.2二维数组的初始化 111
7.2.3二维数组元素的引用 112
7.2.4二维数组应用举例 113
7.3字符数组 116
7.3.1字符数组的定义 116
7.3.2字符串与字符数组 116
7.3.3字符数组的初始化 117
7.3.4字符数组的输入/输出 118
7.3.5字符串(字符数组)处理函数 119
7.3.6字符数组的应用 122
本章小结 125
习题7 125
第8章 指针 132
8.1指针变量 132
8.1.1变量的指针和指针变量 132
8.1.2指针变量的定义和初始化 133
8.1.3指针变量的引用 134
8.2数组指针变量 137
8.2.1数组指针变量的定义和引用 137
8.2.2二维数组的指针 141
8.2.3指针与字符串 144
8.3指针数组和二级指针变量 147
8.3.1指针数组 147
8.3.2二级指针变量 149
本章小结 150
习题8 151
第9章 函数 156
9.1用户自定义函数 156
9.1.1用户自定义函数的定义 156
9.1.2用户自定义函数的返回值 157
9.1.3用户自定义函数的调用 158
9.1.4用户自定义函数的声明 159
9.1.5指针函数的定义和调用 160
9.2函数间的数据传递 161
9.2.1数组元素作为函数实参 161
9.2.2指针变量作为函数参数 162
9.2.3数组名和数组指针变量作为函数参数 163
9.2.4行数组指针变量作为函数参数 165
9.2.5字符型指针变量作为函数参数 167
9.2.6指向函数的指针变量作为函数参数 168
9.2.7main()函数的形参 170
9.3函数的嵌套调用和递归调用 171
9.3.1函数的嵌套调用 171
9.3.2函数的递归调用 173
9.4变量的存储类别 176
9.4.1局部变量及其存储类别 176
9.4.2全局变量及其存储类别 179
9.4.3函数的作用域和存储类别 183
9.5程序举例 183
本章小结 186
习题9 187
第10章 结构体与共用体 199
10.1自定义类型标识符 199
10.2结构体的定义与引用 200
10.2.1结构体类型的定义 200
10.2.2结构体类型变量、数组和指针变量的定义 201
10.2.3结构体类型变量、数组和指针变量的初始化 204
10.2.4结构体类型变量、数组和指针变量的引用 204
10.2.5函数之间结构体类型数据的传递 209
10.2.6用指针处理链表 211
10.3共用体的定义与引用 216
10.3.1共用体类型的定义 216
10.3.2共用体类型变量的定义 217
10.3.3共用体变量的引用 217
10.4枚举类 219
本章小结 221
习题10 221
第11章 位运算 226
11.1位运算符 226
11.2位运算符的功能 226
11.2.1按位与运算(&) 226
11.2.2按位或运算(|) 227
11.2.3按位异或运算(^) 227
11.2.4按位取反运算(~) 227
11.2.5按位左移(<<) 227
11.2.6按位右移(>>) 228
11.2.7合位赋值运算符 228
本章小结 229
习题11 229
第12章 数据文件 231
12.1C语言文件 231
12.2定义、打开和关闭文件 232
12.2.1文件指针 232
12.2.2打开文件(fopen()函数) 233
12.2.3关闭文件(fclose()函数) 234
12.3文件的输入/输出 234
12.3.1fputc()函数和fgetc()函数 234
12.3.2fgets()函数和fputs()函数 236
12.3.3fprintf()函数和fscanf()函数 237
12.3.4fread()函数和fwrite()函数 239
12.4文件的定位 241
12.4.1rewind()函数 241
12.4.2fseek()函数和随机读/写 241
12.4.3ftell()函数 242
本章小结 242
习题12 242
实验篇 247
第13章 实验 247
附录A 运算符的优先级和结合性 260
附录B 标准函数 261
附录C ASCII字符编码表 264
附录D 程序调试中常见错误信息一览 265
参考文献 272