第1章 初识C语言 1
1.1 安装Turbo C软件 1
1.2 创建并运行一个C程序 4
重点、难点解析 7
上机实训1 C运行环境的基本使用 7
习题 9
第2章 数据类型、运算符和表达式 11
2.1 常量和变量的定义和使用 11
2.2 基本数据类型的使用 12
2.2.1 整型变量的定义、赋值和输出 12
2.2.2 实型变量的定义、赋值和输出 15
2.2.3 字符型变量的定义、赋值和输出 18
2.3 基本数据类型间的混合运算和强制转换 21
2.3.1 基本数据类型间的混合运算 21
2.3.2 数据类型的强制转换 22
2.4 运算符及表达式的使用 23
2.4.1 算术运算符和算术表达式 23
2.4.2 赋值运算符和赋值表达式 26
2.4.3 逗号运算符和逗号表达式 27
2.4.4 sizeof()运算符 28
2.4.5 运算符的优先级 28
2.5 常用数学函数的使用 29
重点、难点解析 31
上机实训2 基本数据类型 31
上机实训3 运算符、表达式 33
习题 35
第3章 顺序结构程序设计 38
3.1 程序设计基础 38
3.2 字符输入/输出函数的使用 40
3.3 格式输出函数的使用 42
3.4 格式输入函数的使用 48
3.5 顺序结构程序设计 52
重点、难点解析 53
上机实训4 字符输入/输出函数的使用 54
上机实训5 格式输入/输出函数的使用 54
习题 56
第4章 选择结构程序设计 59
4.1 选择结构程序设计的思想 59
4.2 关系表达式与逻辑表达式的运用 60
4.2.1 关系表达式 60
4.2.2 逻辑表达式 61
4.3 用if语句编写选择结构程序 63
4.3.1 if语句的三种形式 63
4.3.2 if语句的嵌套 65
4.4 用switch语句设计多选一的程序 66
重点、难点解析 67
上机实训6 使用if语句编写选择结构程序 68
上机实训7 使用switch语句编写多路选择结构程序 70
习题 71
第5章 循环结构程序设计 73
5.1 循环结构程序设计的思想 73
5.2 用while语句实现循环结构程序设计 74
5.3 用do...while语句实现循环结构程序设计 78
5.4 用for语句实现循环结构程序设计 81
5.5 几种循环的嵌套使用 84
5.6 无条件转移控制语句的使用 87
5.6.1 break语句的使用 87
5.6.2 continue语句的使用 88
5.6.3 goto语句的使用 89
重点、难点解析 90
上机实训8 while语句与do...while语句的使用 90
上机实训9 for语句的使用 93
习题 95
第6章 数组 100
6.1 一维数组 100
6.1.1 一维数组的定义和使用 100
6.1.2 一维数组的初始化 102
6.1.3 利用一维数组编程 103
6.2 二维数组 105
6.2.1 认识二维数组与多维数组 105
6.2.2 二维数组的初始化 107
6.2.3 利用二维数组编程 108
6.3 字符型数组和字符串处理函数的应用 109
6.3.1 字符数组的定义与初始化 109
6.3.2 字符串(数组)的输入和输出 110
6.3.3 常用字符串处理函数 112
6.4 使用数组编程 114
重点、难点解析 117
上机实训10 一维数组与二维数组 118
上机实训11 字符型数组和字符串 120
习题 122
第7章 函数 125
7.1 函数的定义与调用 125
7.1.1 函数的定义 125
7.1.2 函数的返回值与函数类型 127
7.2 函数调用 128
7.2.1 函数的声明 128
7.2.2 函数的调用 129
7.2.3 函数调用的数据传递方式 131
7.3 函数的嵌套调用和递归调用 132
7.3.1 函数的嵌套调用 132
7.3.2 函数的递归调用 134
7.4 认识变量的作用范围和存储类别 135
7.4.1 变量的作用域、内部变量和外部变量 135
7.4.2 变量的存储类别 137
7.4.3 内部变量的存储类别 137
7.4.4 外部变量的存储类别 140
7.5 外部函数和内部函数 142
7.5.1 外部函数 143
7.5.2 内部函数 143
7.6 用函数编程 144
重点、难点解析 145
上机实训12 函数的定义与调用 145
上机实训13 内部变量与外部变量 147
上机实训14 设计一个有自己定义函数的程序 149
习题 150
第8章 编译预处理 154
8.1 宏定义的使用 154
8.1.1 不带参数的宏定义 154
8.1.2 带参数的宏定义 156
8.2 读懂含有包含文件的程序 158
8.3 读懂含有条件编译的程序 159
重点、难点解析 161
上机实训15 宏的定义与应用 161
习题 164
第9章 指针 167
9.1 指针和指针变量的定义与应用 167
9.1.1 指针和指针变量的概念 167
9.1.2 指针变量的定义与相关运算 168
9.2 指针和函数 171
9.2.1 指针变量作为函数参数 171
9.2.2 函数返回地址值 173
9.2.3 指向函数的指针变量 174
9.3 一维数组和指针 176
9.3.1 一维数组名及数组元素的地址 176
9.3.2 指向一维数组的指针变量 177
9.4 二维数组和指针 180
9.4.1 二维数组名及数组元素的地址 180
9.4.2 指向二维数组的指针变量 181
9.4.3 指向二维数组的行指针变量 183
9.5 字符串和指针 184
9.5.1 指向字符数组的指针变量 184
9.5.2 指向字符串常量的指针变量 186
9.6 向函数传递数组 187
9.6.1 值传递方式与地址传递方式 187
9.6.2 数组元素作为实参 187
9.6.3 数组名作为实参 189
9.7 指针数组及带参main()函数 192
9.7.1 指针数组的定义和使用 192
9.7.2 main()函数的参数 194
重点、难点解析 196
上机实训16 指针的定义与应用 196
习题 198
第10章 结构体、共用体和枚举类型 201
10.1 结构体类型与结构体变量的使用 201
10.1.1 结构体类型的定义 201
10.1.2 结构体变量的定义和初始化 203
10.1.3 结构体变量的引用 205
10.2 结构体数组的使用 207
10.2.1 结构体数组的定义与初始化 207
10.2.2 结构体数组的引用 208
10.3 向函数传递结构体数据程序的分析与编写 210
10.3.1 向函数传递结构体变量的成员 210
10.3.2 向函数传递结构体变量 212
10.3.3 向函数传递结构体变量的地址 212
10.3.4 向函数传递结构体变量的数组 213
10.4 链表处理 214
10.4.1 链表的特点 214
10.4.2 链表的创建 215
10.4.3 在链表中插入结点 218
10.4.4 在链表中删除结点 219
10.5 在程序中使用共同体类型 221
10.5.1 共用体类型的定义 221
10.5.2 共用体变量的定义与引用 222
10.6 枚举类型的定义与使用 225
10.6.1 枚举类型的定义 225
10.6.2 枚举类型变量的定义和使用 225
重点、难点解析 227
上机实训17 结构体的定义和使用 228
上机实训18 共用体的定义和使用 229
上机实训19 枚举类型的定义和使用 231
习题 232
第11章 位运算 237
11.1 位运算和位运算符 237
11.2 用位运算编程 240
重点、难点解析 242
习题 242
第12章 文件 245
12.1 文件的打开与关闭 245
12.1.1 C文件概述 245
12.1.2 文件打开 246
12.1.3 文件关闭 248
12.2 文件读/写 249
12.2.1 字符读/写函数 249
12.2.2 数据块读/写函数 251
12.2.3 格式化输入/输出函数 253
12.2.4 字读/写函数 254
12.2.5 字符串读/写函数 254
12.3 文件的定位 255
12.4 出错检测函数的使用 256
12.5 程序分析 257
重点、难点解析 259
上机实训20 文件的顺序读/写 259
习题 261
附录A ASCII码表 264
附录B C语言中的关键字 266
附录C 运算符及其结合性 267
附录D C语言库函数 269
参考文献 274