第1章 绪言 1
1.1 C语言简介 1
1.1.1 C语言发展简史 1
1.1.2 C语言的特点 1
目录 1
1.2 C语言程序的开发步骤 2
1.3 C语言的程序结构 3
习题 5
2.1.2 常量 7
2.1.3 变量 7
2.1 基本概念 7
2.1.1 标识符 7
第2章 数据、运算符和表达式 7
2.1.4 关键字 8
2.2 基本数据类型 8
2.2.1 整型变量及其常量 8
2.2.2 浮点型变量及其常量 9
2.2.3 字符型变量及其常量 9
2.2.4 长整型、短整型和无符号整型 10
2.2.5 类型定义typedef 11
2.3.1 算术运算符和算术表达式 12
2.3 算术运算符、赋值运算符及其表达式 12
2.3.2 赋值运算符和赋值表达式 13
2.4 关系运算符、逻辑运算符及其表达式 13
2.4.1 关系运算符和关系表达式 13
2.4.2 逻辑运算符和逻辑表达式 14
2.5 变量的初始化 15
2.6 不同类型数据之间的转换 16
2.6.1 自动类型转换 16
2.6.2 强制类型转换 16
2.8 应用举例 17
2.7 sizeof运算符 17
习题 18
第3章 数据的输入和输出 20
3.1 数据的输入 20
3.1.1 字符输入函数getchar 20
3.1.2 格式输入函数scanf 20
3.2 数据的输出 22
3.2.1 字符输出函数putchar 22
3.2.2 格式输出函数printf 22
3.3 应用举例 24
习题 25
4.1 结构化程序设计简介 26
第4章 基本语句 26
4.2 语句和复合语句 27
4.3 条件语句 27
4.3.1 if语句 28
4.3.2 条件运算符 30
4.3.3 switch语句 30
4.3.4 应用举例 33
4.4 循环语句 35
4.4.1 while循环语句 35
4.4.2 do-while循环语句 37
4.4.3 fo(循环语句 39
4.4.4 break语句和continue语句 41
4.4.5 goto语句 42
4.4.6 逗号运算符和空操作语句 43
4.4.7 应用举例 44
习题 46
第5章 数组 48
5.1 一维数组 48
5.1.1 一维数组的定义和引用 48
5.1.2 一维数组元素的初始化 49
5.2.1 二维数组的定义和引用 51
5.2 二维数组 51
5.2.2 二维数组元素的初始化 52
5.3 字符数组和字符串 55
5.3.1 字符数组 55
5.3.2 字符串 56
5.4 应用举例 60
习题 63
第6章 函数 65
6.1 函数的概念 65
6.2.1 函数的定义 66
6.2 函数的定义和调用 66
6.2.2 函数的调用 67
6.3 函数的返回值 67
6.4 函数的参数及其传递方式 70
6.4.1 非数组作为函数参数 70
6.4.2 数组作为函数参数 71
6.5 函数的嵌套调用和递归调用 73
6.5.1 函数的嵌套调用 73
6.5.2 函数的递归调用 75
6.6 变量的作用域及其存储类型 77
6.6.1 局部变量及其存储类型 77
6.6.2 全局变量及其存储类型 79
6.7 内部函数和外部函数 81
6.7.1 内部函数 81
6.7.2 外部函数 82
6.8 应用举例 82
习题 85
第7章 编译预处理 87
7.1 宏定义 87
7.2 文件包括 89
7.3 条件编译 91
7.4 应用举例 94
习题 95
第8章 结构和联合 97
8.1 结构类型变量的定义 97
8.2 结构类型变量的引用 99
8.3 结构变量的初始化 100
8.4 结构和函数 101
8.4.1 结构变量做函数参数 101
8.4.2 函数的返回值是结构类型变量 101
8.5 结构和数组 102
8.5.1 结构中包含数组 102
8.5.2 结构数组 103
8.6 结构的嵌套 104
8.7 联合 106
8.8 枚举 108
8.9 应用举例 109
习题 112
第9章 位运算 113
9.1 二进制位运算 113
9.2 位段 118
9.3 应用举例 119
习题 120
第10章 指针 122
10.1 指针的基本概念 122
10.2 指针变量的定义和引用 122
10.2.1 指针变量的定义 122
10.2.2 指针变量的引用 123
10.3 指针和结构 125
10.3.1 指向结构的指针 125
10.3.2 结构中包含指针 126
10.3.3 链表 127
10.3.4 二叉树 131
10.4.1 指向数组元素的指针及其操作 133
10.4 指针和数组 133
10.4.2 数组名和函数参数 134
10.4.3 字符串和指针 136
10.4.4 指针数组 138
10.5 指针和函数 139
10.5.1 指针变量作为函数的参数 139
10.5.2 函数的返回值是指针 141
10.5.3 指向函数的指针 141
10.5.4 命令行参数 146
10.6 应用举例 148
习题 155
第11章 文件 158
11.1 文件的基本概念 158
11.2 文件类型指针和文件号 159
11.3 缓冲文件系统 159
11.3.1 文件打开函数fopen 159
11.3.2 文件关闭函数felose 160
11.3.3 文件读函数fgetc,fread,fscanf 160
11.3.4 文件写函数fputc,fwrite,fprintf 162
11.3.5 文件定位函数rewind,fseek,ftell 163
11.3.6 应用举例 164
11.4.1 文件打开函数open和文件创建函数creat 166
11.4 非缓冲文件系统 166
11.4.3 文件读函数read 167
11.4.2 文件关闭函数close 167
11.4.4 文件写函数write 168
11.4.5 文件定位函数lseek和tell 168
11.4.6 应用举例 168
习题 170
第12章 C语言综合应用 172
12.1 图形编辑程序Panda 172
12.2 图形库函数简介 172
12.3 Panda的数据组织 174
12.4.1 Panda的菜单设计 176
12.4 Panda的实现 176
12.4.2 Panda的图形处理 177
12.4.3 Panda的文件操作 177
12.5 Panda源程序清单 177
习题 201
附录A 标准ASCII字符集 202
附录B 运算符的优先级及其结合性 205
附录C Turbo C集成开发环境简介 206
附录D C语言的巴科斯范式(BNF)描述 208
附录E 习题解答 212