第1章 C语言概述 1
1.1认识程序 1
1.1.1直观理解程序 1
1.1.2计算机程序 2
1.2 C语言程序概述 2
1.2.1 C语言的发展 2
1.2.2 C语言的特点 3
1.2.3 C语言的作用 4
1.2.4 C语言程序的组成 4
1.2.5 C语言程序书写规则 6
1.3 C语言程序上机运行 7
1.3.1 C语言程序上机步骤 7
1.3.2 TC环境下的程序运行 8
1.3.3 VC环境下的程序运行 10
本章小结 13
习题1 14
第2章 简单C语言程序设计 15
2.1计算圆周长和面积 15
2.1.1分析问题 15
2.1.2程序实现 15
2.2常量与变量 16
2.2.1关键字与标识符 16
2.2.2常量 16
2.2.3变量 17
2.3 C语言数据类型 18
2.3.1整型数据 18
2.3.2浮点型数据 19
2.3.3字符型数据 20
2.3.4枚举类型 21
2.4运算符与表达式 22
2.4.1 C语言运算符与表达式简介 22
2.4.2算术运算符与算术表达式 23
2.4.3赋值运算符与赋值表达式 24
2.4.4条件运算符与条件表达式 25
2.4.5逗号运算符与逗号表达式 25
2.4.6 sizeof运算符 26
2.5 C语句概述 26
2.6数据的输入输出 27
2.6.1字符数据的输入与输出 27
2.6.2格式输入与输出 28
2.7预处理命令 30
2.7.1宏定义 31
2.7.2文件包含 34
2.8顺序结构程序设计 35
本章小结 36
习题2 36
第3章 选择结构程序设计 40
3.1判断闰年 40
3.1.1分析问题 40
3.1.2程序实现 40
3.2关系运算符与关系表达式 41
3.3逻辑运算符与逻辑表达式 42
3.4 if语句 43
3.5 switch语句 48
3.6选择结构的嵌套 50
3.7应用实例 52
本章小结 54
习题3 55
第4章 循环结构程序设计 59
4.1计算若干自然数的和 59
4.1.1分析问题 59
4.1.2程序实现 59
4.2自增自减运算符 60
4.3 while循环 62
4.4 do-while循环 64
4.5 for循环 65
4.6嵌套循环 69
4.7 break语句和continue语句 71
4.8应用实例 73
本章小结 75
习题4 75
第5章 模块化程序设计 81
5.1求三个数的最大值与最小值的差 81
5.1.1分析问题 81
5.1.2程序实现 81
5.2模块化程序设计思想 83
5.3函数的定义 84
5.4函数的调用 85
5.4.1函数的调用形式 85
5.4.2函数的参数传递 86
5.4.3函数的返回值 88
5.5函数的声明 89
5.6函数的嵌套调用 92
5.7函数的递归调用 94
5.8变量的作用域 97
5.9变量的存储类型 99
5.10内部函数和外部函数 103
5.11应用实例 103
本章小结 106
习题5 106
第6章 初识指针 111
6.1交换两个变量的值 111
6.1.1分析问题 111
6.1.2程序实现 112
6.2指针的概念 113
6.2.1地址与指针的概念 113
6.2.2取地址运算符和指针运算符 114
6.2.3指针变量的定义与引用 115
6.3指针变量作函数参数 116
6.4应用实例 117
本章小结 119
习题6 119
第7章 一维数组及其指针 124
7.1计算学生的平均成绩 124
7.1.1分析问题 124
7.1.2程序实现 124
7.2一维数组 127
7.2.1一维数组的定义与初始化 127
7.2.2一维数组的引用 128
7.3指向一维数组的指针 130
7.3.1指针的运算 130
7.3.2指向一维数组的指针 131
7.4一维数组及其指针作函数参数 135
7.5应用实例 138
本章小结 150
习题7 150
第8章 二维数组及其指针 154
8.1打印九九乘法表 154
8.1.1分析问题 154
8.1.2程序实现 154
8.2二维数组 158
8.2.1二维数组的定义与初始化 158
8.2.2二维数组的引用 160
8.3指向二维数组的指针 162
8.3.1二维数组的地址 162
8.3.2列指针 163
8.3.3行指针 164
8.4二维数组及其指针作函数参数 166
8.4.1二维数组作函数参数 166
8.4.2指向二维数组的指针作函数参数 168
8.5应用实例 170
本章小结 176
习题8 176
第9章 字符数组及其指针 181
9.1比较两个字符串的大小 181
9.1.1分析问题 181
9.1.2程序实现 181
9.2字符数组 185
9.2.1字符数组的定义与初始化 185
9.2.2字符串与字符数组 186
9.3指向字符数组的指针 189
9.4字符数组及其指针作函数参数 191
9.5字符串处理函数 192
9.6应用实例 195
本章小结 202
习题9 203
第10章 构造数据类型 208
10.1输出学生成绩信息 208
10.1.1分析问题 208
10.1.2程序实现 208
10.2结构体变量 209
10.2.1结构体变量的定义与初始化 209
10.2.2结构体变量的引用 213
10.3结构体数组 215
10.3.1结构体数组的定义与初始化 215
10.3.2结构体数组的引用 216
10.4结构体及其指针 217
10.4.1指向结构体变量的指针 217
10.4.2指向结构体数组的指针 219
10.4.3结构体及其指针作函数参数 221
10.5共用体类型 223
10.5.1读取一个整型数据的高字节数据 223
10.5.2共用体变量的定义 224
10.5.3共用体变量的引用 226
10.6使用typedef定义数据类型的别名 228
10.7应用实例 230
本章小结 236
习题10 236
第11章 文件处理程序设计 242
11.1复制文件 242
11.1.1分析问题 242
11.1.2程序实现 242
11.2文件的基本概念 243
11.3打开与关闭文件 245
11.4文件的出错检查 247
11.5顺序读写文件数据 248
11.5.1读写一个字符 248
11.5.2读写一个字符串 249
11.5.3格式化方式读写数据 251
11.5.4二进制方式读写数据 251
11.6随机读写文件数据 252
11.6.1文件定位 252
11.6.2随机文件的读写 253
11.7应用实例 254
本章小结 256
习题11 256
第12章 指针的高级应用 261
12.1函数与指针 261
12.1.1返回指针的函数 261
12.1.2指向函数的指针 263
12.2带参数的main函数 267
12.2.1指针数组 267
12.2.2指向指针的指针 270
12.2.3指针数组作main函数的形参 272
12.3动态内存分配函数 274
12.4链表 275
12.4.1链表概述 275
12.4.2自引用结构 275
12.4.3链表的建立与输出 276
12.4.4链表的插入与删除 278
12.5动态数组 281
本章小结 284
习题12 284
第13章 位运算 288
13.1位运算符与位运算 288
13.1.1位运算符 288
13.1.2位运算 288
13.2位段 291
13.3应用实例 293
本章小结 294
习题13 295
附录A ASCII码表 297
附录B C库函数 298
附录C Turbo C 2.0和Visual c++6.0编程环境中的常见错误 303
附录D 计算机等级考试模拟练习 306
参考文献 343