C语言程序设计
2000-9
机械工业出版社
郝玉洁,袁平,常征,易涛
本书分别介绍了C语言的算法基础、基本概念和如何利用C语言进行程序设计。通过大量的实例介绍了C语言的精华,特别针对目前C语言的发展,精心策划了C语言的综合应用、图形与动画的设计、音乐的演奏等。
序言
前言
第1章ccc程序设计与算法 1
1.1ccc程序设计语言的发展 1
1.2cccC语言的特点 2
1.2.1cccC语言是中级语言 2
1.2.2cccC语言是结构化语言 3
1.2.3cccC语言是程序员的语言 3
1.3cccC语言的程序结构 4
1.3.1ccc基本程序结构 4
1.3.2ccc函数库和链接 6
1.3.3ccc开发一个C程序 7
1.3.4cccC语言的关键字 7
1.4ccc算法 8
1.4.1ccc流程图与算法的结构化描述 9
1.4.2ccc用N-S图描述算法 12
1.4.3ccc用PAD图描述算法 13
第2章ccc数据类型、运算符和表达式 14
2.1cccC语言的数据类型 14
2.2ccc常量与变量 15
2.2.1ccc标识符命名 15
2.2.2ccc常量 16
2.2.3ccc变量 16
2.3ccc整型数据 16
2.3.1ccc整型常量 16
2.3.2ccc整型变量 17
2.4ccc实型数据 18
2.4.1ccc实型常量 18
2.4.2ccc实型变量 18
2.5ccc字符型数据 19
2.5.1ccc字符常量 19
2.5.2ccc字符串常量 19
2.5.3ccc转义字符 20
2.5.4ccc符号常量 20
2.5.5ccc字符变量 21
2.6ccc运算符 22
2.6.1ccc算术运算符 22
2.6.2ccc自增和自减 22
2.6.3ccc关系和逻辑运算符 23
2.6.4ccc位操作符 24
2.6.5ccc?操作符 26
2.6.6ccc逗号操作符 27
2.6.7ccc关于优先级的小结 27
2.7ccc表达式 28
2.7.1ccc表达式中的类型转换 28
2.7.2ccc构成符cast 29
2.7.3ccc空格与括号 29
2.7.4cccC语言中的简写形式 29
第3章ccc程序控制语句 31
3.1ccc程序的三种基本结构 31
3.2ccc数据的输入与输出 31
3.2.1cccscanf()函数 31
3.2.2ccccprintf()函数 33
3.2.3cccgetchar()函数与putchar()函数 36
3.2.4ccc程序应用举例 37
3.3ccc条件控制语句 38
3.3.1cccifc语句 38
3.3.2cccswitchc语句 43
3.3.3ccc程序应用举例 45
3.4ccc循环控制语句 46
3.4.1cccwhile语句 47
3.4.2cccdo...cwhilec语句 49
3.4.3cccforc语句 50
3.4.4cccbreak与continue语句 53
3.4.5ccc程序应用举例 54
第4章ccc函数 57
4.1ccc函数说明与返回值 57
4.1.1ccc函数的类型说明 57
4.1.2ccc返回语句 58
4.2ccc函数的作用域规则 60
4.2.1ccc局部变量 60
4.2.2ccc全局变量 61
4.2.3ccc动态存储变量 62
4.2.4ccc静态存储变量 63
4.3ccc函数的调用与参数 63
4.3.1ccc形式参数与实际参数 64
4.3.2ccc赋值调用与引用调用 64
4.4ccc递归 64
4.5ccc实现问题 66
4.5.1ccc参数和通用函数 66
4.5.2ccc效率 66
4.6ccc函数库和文件 67
4.6.1ccc程序文件的大小 67
4.6.2ccc分类组织文件 67
4.6.3ccc函数库 67
4.7cccC语言的预处理程序与注释 67
4.7.1cccC语言的预处理程序 68
4.7.2ccc#define 68
4.7.3ccc#error 69
4.7.4ccc#cinclude 69
4.7.5ccc条件编译命令 70
4.7.6ccc#undef 72
4.7.7ccc#line 73
4.7.8ccc#pragma 73
4.7.9ccc预定义的宏名 73
4.7.10ccc注释 73
4.8ccc程序应用举例 74
第5章ccc数组 78
5.1ccc一维数组 78
5.1.1ccc向函数传递一维数组 78
5.1.2ccc字符串使用的一维数组 79
5.2ccc二维数组 80
5.2.1ccc二维数组的一般形式 80
5.2.2ccc字符串数组 84
5.3ccc多维数组 85
5.4ccc数组的初始化 85
5.4.1ccc数组初始化 85
5.4.2ccc变长数组的初始化 86
5.5ccc应用程序举例 87
第6章ccc指针 91
6.1ccc指针与指针变量 91
6.2ccc指针变量的定义与引用 92
6.2.1ccc指针变量的定义 92
6.2.2ccc指针变量的引用 93
6.3ccc指针运算符与指针表达式 94
6.3.1ccc指针运算符与指针表达式 94
6.3.2ccc指针变量作函数的参数 95
6.4ccc指针与数组 96
6.4.1ccc指针与一维数组 97
6.4.2ccc指针与二维数组 99
6.4.3ccc数组指针作函数的参数 102
6.4.4ccc指针与字符数组 108
6.5ccc指针的地址分配 111
6.6ccc指针数组 112
6.7ccc指向指针的指针 118
6.8cccmain函数的参数 121
第7章ccc结构体与共用体 125
7.1ccc结构体类型变量的定义和引用 125
7.1.1ccc结构体类型变量的定义 126
7.1.2ccc结构体类型变量的引用 127
7.1.3ccc结构体类型变量的初始化 127
7.2ccc结构体数组的定义和引用 129
7.3ccc结构体指针的定义和引用 135
7.3.1ccc指向结构体类型变量的使用 135
7.3.2ccc指向结构体类型数组的指针的使用 136
7.4ccc链表的建立、插入和删除 138
7.4.1ccc单链表 139
7.4.2ccc单链表的插入与删除 141
7.5ccc共用体 149
7.5.1ccc共用体的定义 149
7.5.2ccc共用体变量的引用 150
第8章ccc输入、输出和文件系统 153
8.1ccc缓冲文件系统 153
8.1.1ccc文件的打开与关闭 153
8.1.2ccc文件的读写 155
8.1.3ccc随机读写文件 163
8.2ccc非缓冲文件系统 166
8.3ccc文件系统应用举例 167
第9章ccc实用编程技巧 170
9.1ccc图形应用技巧 170
9.1.1ccc显示适配器类型的自动测试 170
9.1.2ccc屏幕图像的存取技巧 179
9.1.3ccc屏幕显示格式的控制方法 181
9.1.4ccc使图形软件脱离BGI的方法 182
9.1.5ccc拷贝屏幕图形的方法 183
9.1.6ccc随意改变VGA显示器显示颜色的
技巧 185
9.1.7ccc用随机函数实现动画的技巧 187
9.1.8ccc用putimagec函数实现动画的技巧 189
9.2ccc菜单设计技术 191
9.2.1ccc下拉式菜单的设计 191
9.2.2ccc选择式菜单的设计 194
9.2.3ccc实现阴影窗口的技巧 195
9.3ccc音响技巧 197
9.3.1ccc音乐程序设计 197
9.3.2ccc自动识谱音乐程序 200
9.3.3ccc实现后台演奏音乐的技巧 203
第10章cccC++入门 205
10.1ccc面向对象的概念 205
10.1.1ccc面向对象的程序结构 205
10.1.2cccC++的类 206
10.2cccC++的输入与输出 207
10.3ccc类与对象 208
10.3.1ccc类的定义与对象的引用 209
10.3.2ccc构造函数与析构函数 211
10.3.3ccc函数重载 215
10.3.4ccc友元 216
10.4ccc对象指针 219
10.5ccc派生类与继承类 225
10.5.1ccc单继承的派生类 225
10.5.2ccc多继承的派生类 233
附录Accc常用字符与ASCII代码对照表 238
附录Bccc习题 239