第1章 C语言简单程序的编写和调试 1
1.1 C语言的特点 1
1.2 C程序的基本结构 1
1.3 C程序的调试 5
1.3.1 编辑 5
1.3.2 编译 7
1.3.3 连接 8
1.3.4 运行 9
1.3.5 程序的跟踪调试 9
1.4 程序举例 10
习题 11
第2章 C语言程序设计基础 12
2.1 基本数据类型 12
2.1.1 C程序数据分类 12
2.1.2 常量、符号常量与变量 13
2.2 常用数据类型 14
2.2.1 整型数据 14
2.2.2 实型 16
2.2.3 字符型 18
2.3.1 C程序的运算符和表达式的基本概念 20
2.3 运算符和表达式 20
2.3.2 算术运算符和算术表达式 22
2.3.3 关系运算符和关系表达式 23
2.3.4 逻辑运算符和逻辑表达式 24
2.3.5 赋值运算符和赋值表达式 26
2.3.6 自增、自减运算符及其表达式 28
2.3.7 逗号运算符和逗号表达式 29
2.3.8 位运算符 30
2.3.9 其他运算符 33
2.4.1 格式输出函数printf() 34
2.4 基本输入/输出函数 34
2.4.2 格式输入函数scanf() 40
2.4.3 字符输出函数putchar() 42
2.4.4 字符输入函数getchar() 42
2.5 程序举例 43
习题 44
第3章 控制结构 47
3.1 程序的3种基本控制结构 47
3.1.1 C语句概述 47
3.2.1 简单if语句 49
3.1.2 C程序的逻辑结构 49
3.2 if语句 49
3.2.2 if-else语句 50
3.2.3 else if语句 51
3.2.4 if语句的嵌套 52
3.3 switch语句 54
3.4 while语句 57
3.5 do-while语句 58
3.6 for语句 60
3.7 几种循环语句的比较和循环嵌套 63
3.8.2 continue语句 64
3.8 break语句和continue语句 64
3.8.1 break语句 64
3.9 goto语句和语句标号 65
3.10 程序举例 66
习题 72
第4章 数组 78
4.1 一维数组 78
4.1.1 一维数组的定义和初始化 79
4.1.2 一维数组元素的引用 80
4.2.1 二维数组的定义和初始化 83
4.2 多维数组 83
4.2.2 二维数组元素的引用 84
4.3 字符数组 86
4.3.1 字符串与一维字符数组 86
4.3.2 二维字符数组 87
4.3.3 字符数组的输入和输出 88
4.3.4 字符串处理函数 89
4.4 程序举例 91
习题 94
5.1 指针与地址的概念 96
第5章 指针 96
5.2 指针变量的定义和引用 97
5.3 指针运算 99
5.4 指针与数组 101
5.4.1 指向一维数组的指针 101
5.4.2 指向二维数组的指针 102
5.5 指针与字符串 105
5.6 指向指针的指针 107
5.7 用于动态内存分配的函数 109
5.8 程序举例 111
习题 118
第6章 函数 120
6.1 函数的定义和声明 120
6.2 函数的调用与返回 122
6.2.1 函数的调用 122
6.2.2 函数的返回 124
6.3 函数的参数 125
6.3.1 传值调用 125
6.3.2 传址调用 126
6.4 命令行参数 132
6.5 递归调用 133
6.6 程序举例 137
习题 139
第7章 编译预处理与变量的存储类型 143
7.1 宏定义 143
7.1.1 不带参数宏的定义 143
7.1.2 带参数宏的定义 146
7.2 文件包含 148
7.3 条件编译 150
7.4.1 自动变量 153
7.4 变量的存储类型 153
7.4.2 静态变量 154
7.4.3 寄存器变量 155
7.4.4 外部变量 156
7.5 多个源程序文件下的变量使用 158
7.6 程序举例 159
习题 161
第8章 文件 162
8.1 文件的基本概念 162
8.1.1 缓冲文件系统 162
8.2 文件的打开与关闭 163
8.2.1 文件的打开函数fopen() 163
8.1.2 非缓冲文件系统 163
8.1.3 文件指针和文件位置指针 163
8.2.2 文件的关闭函数fclose() 165
8.3 文件的输入/输出函数 165
8.3.1 按字符方式读/写文件的函数fgetc(),fputc() 165
8.3.2 按行方式读/写文件的函数fgets(),fputs() 167
8.3.3 按格式读/写文件的函数fprintf(),fscanf() 170
8.3.4 按块读/写文件的函数fread(),fwrite() 170
8.3.5 文件定位函数 172
8.4 非缓冲文件系统 175
8.5 程序举例 175
习题 180
第9章 结构体与共用体 182
9.1 结构体 182
9.1.1 结构体及结构体变量的定义 182
9.1.2 结构成员的引用 184
9.1.3 结构变量的初始化 186
9.2 结构数组 188
9.3 结构指针 191
9.4 结构与函数 193
9.4.1 结构变量作为函数的参数 193
9.4.2 结构变量的地址作为函数的参数 195
9.4.3 结构数组作为函数的参数 197
9.5 共用体 199
9.6 枚举 201
9.7 用typedef定义类型 203
9.8 链表 204
9.8.1 单向链表 204
9.8.2 链表的建立 205
9.8.3 链表的插入和删除 207
9.9 程序举例 211
习题 215
第10章 图形程序设计基础 217
10.1 图形适配器的基本工作方式 217
10.2 常用图形函数 218
10.3 图形程序举例 225
习题 226
第2章 C语言程序设计基础 228
习题参考答案 228
第3章 控制结构 230
第4章 数组 233
第5章 指针 239
第6章 函数 243
第7章 编译预处理与变量的存储类型 249
第8章 文件 253
第10章 图形程序设计 264
附录A 常用字符与代码对照表 267
附录B C语言中的关键字 269
附录C 运算符的优先级与结合性 269