目录 1
第一章基本知识 1
1.1计算机和计算机语言 1
1.1.1计算机发展概况 1
1.1.2计算机语言 1
1.1.3BASIC百花园中的QuickBASIC 3
1.2流程图 4
1.2.1流程图的作用 4
1.2.2流程图的符号 5
1.2.3流程图举例 6
1.3语言元素 7
1.3.1字符集 7
1.3.2标识符 7
1.4数据类型及其说明 8
1.4.1数 8
1.4.2串 9
1.4.3量 9
1.4.4类型说明 11
1.5运算符和表达式 12
1.5.1数字表达式 13
1.5.2字符串表达式 13
1.5.3逻辑表达式 13
1.6赋值语句 16
1.6.1赋值语句(LET语句) 16
1.6.2数据类型转换 17
1.7内部函数 18
1.7.1数值函数 19
1.7.2数值转换函数 21
1.7.3日期和时间函数 23
1.8QuickBASIC程序的组成 24
1.8.1最简单的BASIC程序 24
1.8.2复杂程序的结构 27
1.8.3程序的书写 28
习题 29
第二章标准输入/输出 31
2.1数据的输入 31
2.1.1键盘输入语句(INPUT语句) 31
2.1.2行输入语句(LINEINPUT语句) 32
2.1.3读数置数语句(READ/DATA语句) 33
2.1.4恢复读数据语句(RESTORE语句) 35
2.2程序的输入 35
2.2.1QuickBASIC屏幕初识 35
2.2.2QuickBASIC的灵巧编辑器 38
2.2.3程序和数据的键入 40
2.2.4文件 42
2.2.5文档 43
2.3运行结果的输出 45
2.3.1屏幕显示语句(PRINT语句) 45
2.3.2格式显示函数 46
2.3.3格式显示语句(PRINTUSING) 48
2.3.4打印输出语句(LPRINT/LPRINTUSING) 50
2.4程序的存储和运行 50
2.4.1程序的存储 50
2.4.2程序的运行 51
习题 51
第三章顺序结构程序设计 53
3.1几种QuickBASIC中常用的语句 53
3.1.1初始化语句 53
3.1.2REM语句 55
3.1.4SWAP语句 56
3.1.3END语句 56
3.1.5COLOR语句 57
3.2顺序结构程序设计 57
习题 60
第四章字符串 61
4.1字符和字符串 61
4.1.1字符 61
4.1.2字符串 61
4.2.1赋值语句中的串 63
4.2输入语句中的串 63
4.2.2READ/DATA语句中的串 64
4.2.3在键盘输入语句中的串 65
4.3串的比较 66
4.4串函数 67
4.4.1测串长函数(LEN函数) 67
4.4.2取字符函数 68
4.4.3删左、右空格函数(LTRIM$函数和RTRIM$函数) 68
4.4.4串检索函数(INSTR函数) 69
4.4.6改变串 70
4.4.5串的生成函数 70
4.4.7字符串与数值之间的转换函数 71
4.4.8ASCII码与字符之间的转换函数 72
4.5数制与数制转换 73
4.5.1数制 73
4.5.2数制转换 73
4.5.3HEX$函数与OCT$函数 75
4.6综合示例 75
习题 77
5.2条件语句 79
5.2.1单行IF~THEN~ELSE语句 79
第五章分支结构程序设计 79
5.1无条件转移语句(GOTO语句) 79
5.2.2块IF~THEN~ELSE语句的最简形式 81
5.3多路分支 82
5.3.1块IF~THEN~ELSE语句的扩展形式 82
5.3.2SELECTCASE语句 84
5.3.3开关语句(ON~GOTO语句) 85
5.4.1行、块IF~THEN语句的嵌套 87
5.4分支结构的嵌套 87
5.4.2混合嵌套 88
5.5综合示例 89
习题 92
第六章循环结构程序设计 94
6.1FOR~NEXT循环语句 94
6.1.1FOR~NEXT语句的一般形式 94
6.1.2FOR~NEXT语句的执行过程 95
6.3.1DO~LOOP循环语句 96
6.3DO~LOOP循环语句 96
6.2WHILE~WEND循环语句 96
6.3.2DO~LOOP循环中的WHILE修饰词 97
6.3.3DO~LOOP循环中的UNTIL修饰词 98
6.4退出语句(EXIT语句) 99
6.5循环结构的框图表示法 100
6.6多重循环 101
6.7综合示例 104
习题 110
7.2数组的定义 112
7.2.1DIM语句 112
7.1数组的概念 112
第七章数组 112
7.2.2一维数组、多维数组与字符串数组 114
7.2.3数组操作的其他语句和函数 116
7.3静态数组与动态数组 117
7.3.1元命令$DYNAMIC和$STATIC 117
7.3.2静态数组和动态数组 117
7.3.3数组的释放(ERASE)与重定义(REDIM) 118
7.4综合示例 119
习题 126
第八章子程序和自定义函数 128
8.1子程序 128
8.1.1子程序的建立(RETURN语句) 128
8.1.2子程序的调用(GOSUB语句) 129
8.1.3子程序的流程图表示法 130
8.2开关语句(ON~GOSUB语句) 130
8.3自定义函数 132
8.3.1建立自定义函数(DEFFN语句) 132
8.3.2自定义函数的调用 133
8.4综合示例 133
习题 135
第九章过程 137
9.1变量的生存域 137
9.2说明类语句和属性 138
9.2.1DECLARE语句(BASIC过程) 138
9.2.2SHARED语句和SHARED属性 138
9.2.3CONST语句 139
9.2.4STATIC语句与STATIC属性 140
9.3SUB过程 140
9.3.1SUB语句 140
9.3.2SUB过程的建立 141
9.3.3SUB过程的调用(CALL语句——BASIC过程) 142
9.4FUNCTION过程 143
9.4.1FUNCTION语句 143
9.4.2FUNCTION过程的建立 143
9.4.3FUNCTION过程的调用 144
9.5参数传递 145
9.5.1通过参数表传递参数 145
9.5.2利用数据生存域的定义传递参数 145
9.5.3各种数据的传递 147
9.5.4传址和传值 150
9.6.1递归调用 151
9.6递归 151
9.6.3调整堆栈的容量 152
9.6.2FRE()函数 152
9.7多模块调用与程序的连接 153
9.7.1COMMON语句 153
9.7.2MAK文件的建立 155
9.7.3CHAIN语句 156
9.8综合示例 157
习题 159
10.1.1文件说明 161
10.1.2文件分类 161
10.1文件分类 161
第十章文件 161
10.1.3记录和记录的定义(TYPE~ENDTYPE语句) 163
10.1.4文件号 164
10.2与文件处理有关的语句和函数 164
10.2.1打开数据文件或设备(OPEN语句) 164
10.2.2关闭数据文件或设备(CLOSE语句) 166
10.2.3文件操作语句和函数 167
10.3.1顺序文件的输出(建立和添加数据) 170
10.3顺序文件 170
10.3.2顺序文件的输入 172
10.3.3顺序文件的使用和维护 173
10.4随机文件 178
10.4.1随机文件的输出(建立和添加数据) 179
10.4.2随机文件的输入 182
10.4.3随机文件的维护 184
10.4.4在过程间传递文件中的数据 184
10.5.2包含文件的建立 186
10.5.1包含文件的用途 186
10.5包含文件 186
10.5.3包含文件的引用 187
10.5.4包含文件的观察和修改 187
10.6索引文件 187
10.6.1索引文件的基本概念 187
10.6.2索引文件的建立 188
10.6.3索引文件的应用 190
10.7二进制文件 191
10.7.1二进制存取的特点 191
10.7.2SEEK语句与SEEK函数 192
10.8综合示例 194
习题 201
第十一章图形和动画 203
11.1屏幕坐标系 203
11.1.1象素 203
11.1.2屏幕坐标系 203
11.2屏幕的设置 204
11.2.1SCREEN语句和SCREEN函数 204
11.2.2PCOPY语句 205
11.2.3WIDTH,CLS,LOCATE语句 206
11.2.4设置颜色 208
11.3基本绘图语句 211
11.31画点(PSET,PRESET语句) 211
11.3.2画直线和矩形(LINE语句) 213
11.3.3画圆和画弧语句(CIRCLE语句) 215
11.3.4DRAW语句 216
11.4填图语句(PAINT语句) 219
11.4.1填充颜色 219
11.4.2填充图案 221
11.5.1定义视见区(VIEW语句) 224
11.5视见窗口和逻辑坐标的设定 224
11.5.2定义文本窗口(VIEWPRINT语句) 225
11.5.3设定逻辑坐标系(WINDOW语句) 226
11.5.4屏幕颜色的测试函数(POINT函数) 229
11.5.5物理坐标与逻辑坐标的转换(PMAP函数) 230
11.6图形变换 232
11.6.1平面图形的几何变换 232
11.6.2平面图形变换的其他方法 233
11.7.1GET语句 235
11.7动画设计 235
11.7.2PUT语句 236
11.7.3动画 237
11.8图形文件 239
11.8.1建图形文件有关的语句 240
11.8.2图形文件的建立(BSAVE语句) 241
11.8.3图形文件的使用(BLOAD语句) 242
11.9综合示例 243
习题 248
12.1.2SOUND语句 250
12.1.1BEEP语句 250
12.1音响 250
第十二章音响和通信 250
12.1.3PLAY语句 251
12.2设备通信 252
12.2.1OUT语句与INP函数 252
12.2.2访问设备 253
12.2.3串行通信 254
12.2.4取DOS代入参数的COMMAND$函数 258
12.3.2PEEK函数 259
12.3.1POKE语句 259
12.3访问内存 259
12.4定义功能键 260
12.5综合示例 261
习题 263
第十三章程序的调试和编译 264
13.1预防程序故障 264
13.2程序调试 265
13.2.1供调试和编译的例子 265
13.2.2调试与编程相结合 265
13.2.3监视 266
13.2.5跟踪 268
13.2.4中断 268
13.2.6程序运行控制命令 270
13.3程序在QuickBASIC环境内编译和连接 271
13.4分离编译和连接 272
13.4.1编译和连接的过程 273
13.4.2BC编译命令的使用 273
13.4.3LINK连接命令的使用 274
习题 277
11.1.1设置错误陷阱 278
第十四章错误和事件捕获 278
14.1错误捕获 278
14.1.2错误的模拟与识别 280
14.1.3错误的处理及返回 281
14.2事件捕获 283
14.2.1设置事件陷阱 284
14.2.2事件处理 285
14.3键事件陷阱 286
14.3.1捕获键事件的语句 286
14.3.2捕获键事件的实施 287
14.4音乐事件陷阱 288
14.5通讯口中断陷阱 290
14.6过程及模块中的陷阱 291
14.7在应用BC编译的程序中捕获错误和事件 293
习题 293
第十五章库及QuickBASIC与其他语言连接 295
15.1库的概念与使用 295
15.1.1库的类型 295
15.1.3QLB库的使用 296
15.1.2库的优点 296
15.1.4建库所需的文件 298
15.2在QuickBASIC环境下建库 298
15.2.1在QuickBASIC环境内建库 298
15.2.2对原有库的扩充 301
15.2.3截取软件包中的过程进库 301
15.3QuickBASIC与其他语言的数据交换 304
15.3.1通过数据文件交换数据 304
15.32通过读取二进制文件交换数据 305
15.3.3通过内存单元交换数据 308
15.4.1DECLARE语句(非BASIC过程) 309
15.4QuickBASIC调用其他语言的过程 309
15.4.2在DOS环境下建库 310
15.4.3对Fortran语言的过程建库 311
15.4.4对C语言的过程建库 312
15.4.5对汇编语言的程序建库 314
15.4.6对混合语言的目际文件建库 315
15.5混合语言编程实例 317
15.5.1QuickBASIC与C语言调用的约定 317
15.5.2QuickBASIC与C语言混合编程的数据传递 319
15.5.3QuickBASIC与C语言混合编程的编译和连接 323
15.5.4QuickBASIC与汇编语言的调用约定 324
15.5.5QuickBASIC与汇编语言的数据传递 327
习题 332
附录AQuickBASIC编程环境 333
附录BASCII字符码和键盘扫描码 344
附录C基本适配器的屏幕方式 346
附录DQuickBASIC保留字 347
附录EQuickBASIC错误信息 349
参考文献 366
索引 367