第1章 程序设计基础 1
1.1C语言程序设计概述 1
1.1.1C语言简介 1
1.1.2C程序与程序设计 1
1.2算法及结构化程序 2
1.2.1算法 2
1.2.2结构化程序 3
1.3简单C语言程序的构成和格式 5
1.3.1程序举例 5
1.3.2小结 6
小结 8
实训 认识C语言程序 8
习题 10
第2章 基本数据类型和基本运算 12
2.1常量 12
2.1.1数值常量 12
2.1.2字符常量 13
2.1.3转义字符常量 14
2.1.4字符串常量 14
2.1.5符号常量 15
2.2变量及其数据类型 15
2.2.1标识符 15
2.2.2变量的数据类型 16
2.2.3变量的初始化 19
2.3算术运算符和算术表达式 19
2.3.1算术运算符 19
2.3.2运算符的优先级、结合性和算术表达式 20
2.3.3类型转换 21
2.3.4求字节数运算符 21
2.4赋值运算符和赋值表达式 22
2.5自增、自减运算符和逗号运算符 22
2.5.1自增、自减运算符 22
2.5.2逗号运算符和逗号表达式 23
小结 23
实训 数据类型、运算符与表达式 24
习题 25
第3章 顺序结构程序设计 29
3.1C语句概述 29
3.1.1C语句的分类 29
3.1.2赋值语句 30
3.2格式输出和输入 31
3.2.1格式输出函数(printf()函数) 31
3.2.2格式输入函数(scanf()函数) 34
3.3字符的输出和输入 36
3.3.1字符输出函数(putchar()函数) 36
3.3.2字符输入函数(getchar()函数) 36
3.4顺序结构程序设计举例 37
小结 39
实训 顺序结构程序设计 39
习题 40
第4章 选择结构程序设计 43
4.1关系运算和逻辑运算 43
4.1.1关系运算符和关系表达式 43
4.1.2逻辑运算符和逻辑表达式 44
4.2if语句 46
4.2.1if语句的三种形式 46
4.2.2if语句的嵌套 50
4.2.3条件运算符和条件表达式 51
4.3switch语句 52
4.4选择结构程序设计举例 54
小结 56
实训 选择结构程序设计 56
习题 57
第5章 循环结构程序设计 61
5.1while循环语句 61
5.2do...while循环语句 63
5.3for循环语句 64
5.4break语句和continue语句 67
5.4.1break语句 67
5.4.2continue语句 68
5.5循环结构的嵌套 68
5.6循环结构程序设计举例 69
小结 71
实训 循环结构程序设计 71
习题 72
第6章 数组 76
6.1一维数组 76
6.1.1一维数组的定义 77
6.1.2访问数组元素 77
6.1.3初始化数组元素 77
6.1.4数组元素的输出 79
6.1.5一维数组的应用 79
6.2二维数组 83
6.2.1二维数组的定义 84
6.2.2访问二维数组元素 85
6.2.3初始化二维数组 86
6.2.4二维数组的应用 87
6.3字符数组与字符串 88
6.3.1字符数组的说明和引用 88
6.3.2字符数组的输入/输出 89
6.3.3字符串处理函数与字符串数组 90
6.4数组应用举例 93
小结 95
实训 数组 95
习题 95
第7章 函数 98
7.1函数概述 98
7.2函数的定义和返回值 99
7.2.1函数定义的语法 99
7.2.2函数的返回值 101
7.3函数的调用 101
7.3.1函数的两种调用方式 101
7.3.2函数的参数传递 102
7.3.3函数调用的语法要求 103
7.4函数的说明 104
7.4.1函数说明的形式 104
7.4.2函数说明的位置 105
7.5局部变量和全局变量 106
7.5.1函数中的局部变量和全局变量 106
7.5.2利用全局变量传递数据 108
7.6变量的存储类别 109
7.7函数的嵌套调用和递归调用 114
7.7.1函数的嵌套调用 114
7.7.2函数的递归调用 115
7.8函数的存储类型 118
7.8.1外部函数 118
7.8.2静态函数 119
7.9函数程序举例 119
小结 122
实训 函数 122
习题 125
第8章 指针 129
8.1指针及其定义 129
8.1.1指针 129
8.1.2指针的定义 130
8.1.3指针的初始化 131
8.2指针的运算 131
8.2.1引用运算 131
8.2.2指针的算术运算 133
8.2.3指针的赋值运算 134
8.2.4指针的关系运算 135
8.3指针和变量 136
8.3.1利用指针处理简单数据 136
8.3.2指针作函数参数 137
8.4指针和数组 139
8.4.1指针和一维数组 140
8.4.2指针和二维数组 145
8.5指针和字符串 151
8.5.1使指针指向字符串 151
8.5.2利用指针输入和输出字符串 152
8.5.3字符串数组 153
8.5.4程序举例 153
8.6指针和函数 154
8.6.1指向函数的指针 154
8.6.2指向函数的指针变量作函数参数 156
8.6.3指针函数 156
小结 157
实训 指针 157
习题 158
第9章 编译预处理 162
9.1宏定义 162
9.1.1不带参数的宏定义 162
9.1.2带参数的宏定义 163
9.2文件包含 164
9.3条件编译 165
小结 166
实训 编译预处理 167
习题 167
第10章 结构体和共用体 170
10.1结构体类型 170
10.1.1结构体类型的说明 170
10.1.2结构体类型变量的定义 171
10.1.3结构体变量的初始化 173
10.1.4结构体成员引用 173
10.1.5结构体变量的赋值运算 173
10.2结构体数组 174
10.2.1结构体数组的定义 174
10.2.2结构体数组初始化 174
10.2.3结构体数组的应用举例 175
10.3结构体与函数 176
10.3.1结构体变量作函数参数 176
10.3.2结构体型函数 179
10.4指针和结构体 179
10.4.1结构体指针及其定义 179
10.4.2通过指针引用结构体成员 180
10.4.3结构体指针作函数参数 181
10.4.4结构体指针函数 183
10.5链表 183
10.5.1链表概述 183
10.5.2链表的操作 184
10.6共用体类型 190
10.6.1共用体类型的说明 190
10.6.2共用体变量的引用和初始化 191
10.7自定义类型 193
10.7.1自定义类型的形式和功能 193
10.7.2自定义类型的应用 193
10.8程序举例 194
小结 196
实训 结构体和共用体 197
习题 198
第11章 位运算 203
11.1位运算符 203
11.2位运算符的功能 203
11.2.1按位与运算 203
11.2.2按位或运算 204
11.2.3按位异或运算 204
11.2.4求反运算 204
11.2.5左移运算 205
11.2.6右移运算 205
11.2.7位运算举例 206
小结 207
实训 位运算 207
习题 209
第12章 文件 211
12.1文件概述 211
12.2文件类型指针与文件操作 212
12.3文件打开函数 212
12.4文件关闭函数 213
12.5文件读/写函数 213
12.5.1单个字符读/写函数 213
12.5.2字符串读/写函数 214
12.5.3数据块读/写函数 215
12.5.4格式化读/写函数 216
12.6文件定位函数 217
12.6.1文件的定位 217
12.6.2文件位置指针的检测 219
12.7文件出错的检测 219
12.7.1文件出错检测函数ferror() 219
12.7.2出错标志置零函数clearerr() 220
12.8应用举例 220
小结 222
实训 文件 223
习题 224
第13章 综合实训 227
附录AC语言中的关键字 235
附录B运算符的优先级和结合性 236
附录C常用字符与ASCII码对照表 237
附录D标准库函数 238
参考文献 242