第1章 C语言概述1
1.1 C语言功能简介1
1.1.1 C语言的发展1
1.1.2 C语言的特点2
1.1.3 C语言的32个关键字和语句形式3
1.1.4 程序的三种基本结构与流程图简介4
1.2 Turbo C上机操作指导7
1.2.1 Turbo C用户窗口界面7
1.2.2 Turbo C的主要菜单功能8
1.2.3 获取帮助与编辑操作功能11
1.3 简单的C程序介绍13
习题16
第2章 基本语法规则17
2.1 常量、变量和指针17
2.1.1 标识符17
2.1.2 常量和变量18
2.1.3 整型数据20
2.1.4 实型数据21
2.1.5 字符型数据22
2.1.6 字符串常量23
2.1.7 变量及指针24
2.2 运算符与表达式27
2.2.1 算术运算符和算术表达式28
2.2.2 关系运算符和关系表达式32
2.2.3 逻辑运算符和逻辑表达式33
2.2.4 位运算符35 2.2.5 赋值运算符和赋值表达式37
2.2.6 逗号运算符和逗号表达式39
2.2.7 条件运算符和条件表达式39
2.2.8 求长度运算符40
2.2.9 指针运算符41
2.3 基本输入输出函数42
2.3.1 字符输出函数--putchar () 42
2.3.2 字符输入函数--getchar () 43
2.3.3 格式输出函数--printf () 44
2.3.4 格式输入函数--scanf () 47
2.4 程序举例49
习题50
C语言程序设计(第2版)目录 第3章 控制语句与预处理命令57
3.1 分支语句57
3.1.1 if语句57
3.1.2 switch-case语句60
3.2 循环语句62
3.2.1 while语句62
3.2.2 do-while语句63
3.2.3 for语句64
3.2.4 循环语句的嵌套66
3.2.5 break语句和continue语句67
3.2.6 goto语句68
3.3 编译预处理69
3.3.1 宏定义69
3.3.2 文件包含72
3.3.3 条件编译73
3.4 程序设计举例75
习题77
第4章 数组85
4.1 一维数组及指针85
4.1.1 一维数组的定义和初始化85
4.1.2 一维数组元素的下标法引用86
4.1.3 一维数组的指针87
4.1.4 一维数组元素的指针法引用89
4.2 一维字符数组及指针91
4.2.1 一维字符数组的定义和初始化91
4.2.2 字符数组的输入和输出92
4.2.3 用字符数组实现字符串96
4.2.4 用字符指针变量实现字符串97
4.2.5 常用字符串处理函数99
4.3 多维数组及指针102
4.3.1 二维数组的定义和初始化102
4.3.2 二维数组元素的下标法引用103
4.3.3 二维数组的指针104
4.3.4 二维数组元素的指针法引用105
4.4 指针数组107
4.5 二级指针109
4.6 程序设计举例110
习题114
第5章 函数123
5.1 函数概述123
5.2 函数定义125
5.3 函数调用126
5.3.1 函数调用的一般形式126
5.3.2 函数调用的方式126
5.4 函数引用说明127
5.5 函数的参数和返回值128
5.5.1 形式参数和实际参数128
5.5.2 函数的返回值129
5.5.3 指针作为函数参数130
5.5.4 主函数与命令行参数133
5.6 函数与带参数的宏的区别134
5.7 函数的嵌套调用与递归调用136
5.7.1 函数的嵌套调用136
5.7.2 函数的递归调用137
5.8 函数指针与返回指针的函数138
5.8.1 函数指针138
5.8.2 函数指针作为函数的参数139
5.8.3 返回指针的函数140
5.9 变量的作用域141
5.9.1 局部变量141
5.9.2 全局变量142
5.10 变量的存储类别143
5.10.1 局部变量的存储类别143
5.10.2 全局变量的存储类别145
5.11 内部函数和外部函数148
5.11.1 内部函数148
5.11.2 外部函数148
5.12 程序设计举例149
习题157
第6章 结构体、共用体和枚举165
6.1 结构体类型与变量165
6.1.1 结构体类型定义165
6.1.2 结构体变量的定义和引用166
6.2 结构体数组168
6.3 结构体类型数据的指针170
6.3.1 结构体变量的指针与指针变量170
6.3.2 结构体数组的指针与指针变量171
6.3.3 结构体指针与变量作函数参数172
6.3.4 自定义类型173
6.4 链表的基本知识174
6.4.1 动态分配和释放空间的函数175
6.4.2 建立和输出链表176
6.4.3 链表的基本操作177
6.5 结构体位段184
6.6 共用体类型与变量187
6.6.1 共用体类型定义187
6.6.2 共用体变量的定义和引用187
6.7 枚举类型与变量190
6.7.1 枚举类型定义190
6.7.2 枚举变量与枚举元素191
6.8 程序设计举例194
习题198
第7章 文件系统207
7.1 文件系统概述与文件类型207
7.2 文件的打开与关闭208
7.2.1 文件的打开(fopen函数)208
7.2.2 文件的关闭(fclose函数)210
7.3 文件的读写操作210
7.3.1 读写一个字符的函数(fgetc(),fputc()或getc(),putc()) 210
7.3.2 读写一个字符串函数(fgets()和fputs()) 212
7.3.3 读写一个数据字块函数(fread ()和fwrite () ) 214
7.3.4 文件的格式化读写函数(fscanf ()和fprintf () ) 216
7.4 文件定位与随机读写217
7.5 程序设计举例220
习题229
第8章 C语言绘图235
8.1 PC的显示系统235
8.2 Turbo C基本绘图函数237
8.2.1 图形控制函数238
8.2.2 颜色控制函数239
8.2.3 基本绘图函数239
8.2.4 填充243
8.2.5 获取当前信息函数245
8.3 图形方式下的文本输出247
8.3.1 文本输出函数247
8.3.2 定义文本字形248
8.3.3 文本输出字符串250
8.4 动画设计技术250
8.4.1 存图取图250
8.4.2 页操作252
8.4.3 图视口操作253
8.4.4 图形运行控制和声音函数254
8.5 文本窗口254
8.5.1 文本方式的控制254
8.5.2 屏幕信息与存取258
8.5.3 菜单设计261
8.6 创建独立的图形运行程序265
8.7 程序设计举例265
第9章 C程序与DOS、BIOS接口281
9.1 常用DOS功能调用说明281
9.2 常用BIOS功能调用说明286
9.3 C程序调用DOS、BIOS功能288
9.3.1 C程序中寄存器的使用格式288
9.3.2 调用DOS、BIOS功能的系统函数289
9.4 程序设计举例292
附录A 常用字符与ASCII代码对照表297
附录B C库函数299
参考文献309
第1章 C语言概述1
1.1 C语言功能简介1
1.1.1 C语言的发展1
1.1.2 C语言的特点2
1.1.3 C语言的32个关键字和语句形式3
1.1.4 程序的三种基本结构与流程图简介4
1.2 Turbo C上机操作指导7
1.2.1 Turbo C用户窗口界面7
1.2.2 Turbo C的主要菜单功能8
1.2.3 获取帮助与编辑操作功能11
1.3 简单的C程序介绍13
习题16
第2章 基本语法规则17
2.1 常量、变量和指针17
2.1.1 标识符17
2.1.2 常量和变量18
2.1.3 整型数据20
2.1.4 实型数据21
2.1.5 字符型数据22
2.1.6 字符串常量23
2.1.7 变量及指针24
2.2 运算符与表达式26
2.2.1 算术运算符和算术表达式28
2.2.2 关系运算符和关系表达式32
2.2.3 逻辑运算符和逻辑表达式33
2.2.4 位运算符34 2.2.5 赋值运算符和赋值表达式37
2.2.6 逗号运算符和逗号表达式38
2.2.7 条件运算符和条件表达式39
2.2.8 求长度运算符40
2.2.9 指针运算符41
C语言程序设计(第2版)目录 2.3 基本输入输出函数41
2.3.1 字符输出函数--putchar()41
2.3.2 字符输入函数--getchar()42
2.3.3 格式输出函数--printf()43
2.3.4 格式输入函数--scanf()46
2.4 程序举例48
习题50
第3章 控制语句与预处理命令57
3.1 分支语句57
3.1.1 if语句57
3.1.2 switch-case语句60
3.2 循环语句62
3.2.1 while语句62
3.2.2 do-while语句63
3.2.3 for语句64
3.2.4 循环语句的嵌套66
3.2.5 break语句和continue语句67
3.2.6 goto语句68
3.3 编译预处理69
3.3.1 宏定义69
3.3.2 文件包含72
3.3.3 条件编译73
3.4 程序设计举例74
习题77
第4章 数组85
4.1 一维数组及指针85
4.1.1 一维数组的定义和初始化85
4.1.2 一维数组元素的下标法引用86
4.1.3 一维数组的指针87
4.1.4 一维数组元素的指针法引用89
4.2 一维字符数组及指针91
4.2.1 一维字符数组的定义和初始化91
4.2.2 字符数组的输入和输出92
4.2.3 用字符数组实现字符串95
4.2.4 用字符指针变量实现字符串96
4.2.5 常用字符串处理函数97
4.3 多维数组及指针100
4.3.1 二维数组的定义和初始化100
4.3.2 二维数组元素的下标法引用102
4.3.3 二维数组的指针102
4.3.4 二维数组元素的指针法引用103
4.4 指针数组106
4.5 二级指针107
4.6 程序设计举例108
习题112
第5章 函数120
5.1 函数概述120
5.2 函数定义123
5.3 函数调用124
5.3.1 函数调用的一般形式124
5.3.2 函数调用的方式124
5.4 函数引用说明125
5.5 函数的参数和返回值126
5.5.1 形式参数和实际参数126
5.5.2 函数的返回值127
5.5.3 指针作为函数参数128
5.5.4 主函数与命令行参数131
5.6 函数与带参数的宏的区别132
5.7 函数的嵌套调用与递归调用134
5.7.1 函数的嵌套调用134
5.7.2 函数的递归调用135
5.8 函数指针与返回指针的函数136
5.8.1 函数指针136
5.8.2 函数指针作为函数的参数137
5.8.3 返回指针的函数138
5.9 变量的作用域139
5.9.1 局部变量139
5.9.2 全局变量140
5.10 变量的存储类别141
5.10.1 局部变量的存储类别141
5.10.2 全局变量的存储类别143
5.11 内部函数和外部函数146
5.11.1 内部函数146
5.11.2 外部函数146
5.12 程序设计举例147
习题155
第6章 结构体、共用体和枚举163
6.1 结构体类型与变量163
6.1.1 结构体类型定义163
6.1.2 结构体变量的定义和引用164
6.2 结构体数组166
6.3 结构体类型数据的指针168
6.3.1 结构体变量的指针与指针变量168
6.3.2 结构体数组的指针与指针变量169
6.3.3 结构体指针与变量作函数参数170
6.3.4 自定义类型171
6.4 链表的基本知识172
6.4.1 动态分配和释放空间的函数173
6.4.2 建立和输出链表174
6.4.3 链表的基本操作175
6.5 结构体位段182
6.6 共用体类型与变量184
6.6.1 共用体类型定义185
6.6.2 共用体变量的定义和引用185
6.7 枚举类型与变量187
6.7.1 枚举类型定义187
6.7.2 枚举变量与枚举元素188
6.8 程序设计举例191
习题196
第7章 文件系统203
7.1 文件系统概述与文件类型203
7.2 文件的打开与关闭204
7.2.1 文件的打开(fopen函数)204
7.2.2 文件的关闭(fclose函数)206
7.3 文件的读写操作206
7.3.1 读写一个字符的函数(fgetc(),fputc()或getc(),putc()) 206
7.3.2 读写一个字符串函数(fgets()和fputs()) 208
7.3.3 读写一个数据字块函数(fread()和fwrite()) 209
7.3.4 文件的格式化读写函数(fscanf()和fprintf()) 211
7.4 文件定位与随机读写212
7.5 程序设计举例215
习题224
第8章 C语言绘图229
8.1 PC机的显示系统229
8.2 Turbo C基本绘图函数231
8.2.1 图形控制函数232
8.2.2 颜色控制函数233
8.2.3 基本绘图函数233
8.2.4 填充237
8.2.5 获取当前信息函数239
8.3 图形方式下的文本输出241
8.3.1 文本输出函数241
8.3.2 定义文本字型242
8.3.3 文本输出字符串244
8.4 动画设计技术244
8.4.1 存图取图244
8.4.2 页操作245
8.4.3 图视口操作246
8.4.4 图形运行控制和声音函数248
8.5 文本窗口248
8.5.1 文本方式的控制248
8.5.2 屏幕信息与存取252
8.5.3 菜单设计254
8.6 创建独立的图形运行程序258
8.7 程序设计举例259
第9章 C程序与DOS、BIOS接口274
9.1 常用DOS功能调用说明274
9.2 常用BIOS功能调用说明280
9.3 C程序调用DOS、BIOS功能282
9.3.1 C程序中寄存器的使用格式282
9.3.2 调用DOS、BIOS功能的系统函数283
9.4 程序设计举例286
附录A 常用字符与ASCII代码对照表291
附录B C库函数293
参考文献303
上篇 Java基础
第1章 Java语言概述与编程环境3
1.1 Java的诞生3
1.2 Java的主要特性5
1.3 Java JDK的开发环境7
1.4 Java程序的运行原理9
1.5 开发工具MyEclipse的介绍10
1.5.1 MyEclipse的安装10
1.5.2 MyEclipse的使用10
1.6 简单Java程序结构12
1.6.1 一个简单的Java程序 12
1.6.2 一个简单的Java小应用程序13
习题115
第2章 Java编程基础17
2.1 标识符与关键字17
2.1.1 标识符17
2.1.2 关键字17
2.2 数据类型18
2.3 常量与变量19
2.3.1 常量19
2.3.2 变量21
2.3.3 整型变量24
2.3.4 浮点类型变量25
2.3.5 字符类型变量25
2.3.6 布尔类型变量26 JavaEE基础教程目录 2.3.7 基本数据类型的转换26
2.3.8 Java中的引用类型30
2.4 运算符与表达式31
2.4.1 算术运算32
2.4.2 关系运算32
2.4.3 逻辑运算33
2.4.4 位运算34
2.4.5 赋值运算36
2.4.6 条件运算36
2.4.7 特殊操作符 37
2.4.8 运算符的优先级和结合性汇总38
2.4.9 表达式和语句39
2.5 数组40
2.5.1 数组的概念40
2.5.2 数组的创建与初始化40
2.5.3 多维数组44
2.5.4 数组的复制48
2.5.5 操作数组的工具类49
2.5.6 数组的应用举例51
习题253
第3章 控制结构57
3.1 分支结构57
3.1.1 if语句57
3.1.2 switch语句59
3.2 循环语句60
3.2.1 for循环语句61
3.2.2 for-each循环语句 64
3.2.3 while与do-while语句65
3.3 break与continue语句67
习题369
第4章 类与对象的基本概念73
4.1 类与对象的概念73
4.1.1 类的声明73
4.1.2 方法重载77
4.1.3 构造方法79
4.1.4 对象81
4.1.5 父类、子类和继承87
4.1.6 super关键字93
4.1.7 上转型对象97
4.1.8 多态性99
4.2 类的访问权限与包的概念101
4.2.1 类的访问控制101
4.2.2 类成员的访问控制103
4.2.3 类的组织106
习题4113
第5章 类的高级特性119
5.1 static关键字119
5.2 this关键字123
5.3 静态导入126
5.4 final关键字128
5.5 抽象类与接口129
5.5.1 抽象类129
5.5.2 接口的定义131
5.5.3 接口的实现132
5.5.4 接口的应用133
5.5.5 接口回调136
习题5137
第6章 常用类库139
6.1 字符串处理类139
6.1.1 String类的构造函数139
6.1.2 String类的常用方法140
6.2 数据封装类142
6.3 Scanner类144
6.4 日期和时间类145
6.4.1 Date类145
6.4.2 Calendar类146
6.5 数据类型的转换147
6.5.1 数值型数据与字符串之间的转换147
6.5.2 日期型数据与字符串之间的转换148
6.6 集合类150
6.6.1 Set接口与HashSet类150
6.6.2 List接口与ArrayList类151
6.6.3 Map接口与HashMap类152
6.7 泛型154
6.7.1 泛型的概念154
6.7.2 泛型类和泛型方法155
6.7.3 List<E>接口和ArrayList<E>类156
6.7.4 Map<K,V>接口和HashMap<K,V>类157
习题6158
第7章 异常161
7.1 异常的处理机制161
7.2 异常的处理161
7.2.1 Java内置异常162
7.2.2 try和catch语句163
7.2.3 throw语句165
7.2.4 throws语句166
7.2.5 finally语句167
7.3 自定义异常167
习题7168
第8章 输入输出流171
8.1 获取文件和目录的属性171
8.2 Java中的I/O流173
8.2.1 I/O流的概念173
8.2.2 InputStream流173
8.2.3 OutputStream流173
8.3 字节流174
8.3.1 FileInputStream流174
8.3.2 FileOutputStream流175
8.4 字符流176
8.4.1 Reader流176
8.4.2 Writer流177
8.4.3 FileReader流177
8.4.4 FileWriter流178
习题8179
第9章 多线程181
9.1 线程概述181
9.1.1 进程的概念181
9.1.2 线程的概念181
9.2 线程的创建182
9.2.1 继承Thread类182
9.2.2 实现Runnable接口183
9.3 线程的调度184
9.3.1 线程的生命周期184
9.3.2 线程的优先级185
9.3.3 线程的同步185
9.3.4 wait-notify机制188
习题9191
第10章 数据库编程193
10.1 MySQL数据库的安装与配置193
10.1.1 MySQL数据库的安装193
10.1.2 在MyEclipse中连接和使用MySQL数据库196
10.2 JDBC技术简介198
10.3 JDBC访问数据库199
10.3.1 DriverManager类199
10.3.2 Connectin接口200
10.3.3 Statement接口201
10.3.4 PreparedStatement接口203
10.3.5 ResultSet接口205
10.4 数据库的操作示例206
10.4.1 更新数据206
10.4.2 查询数据209
习题10212
下篇 Java Web开发
第11章 Java Web概述与Web发布217
11.1 Java Web概述217
11.2 HTTP协议219
11.2.1 GET方法的请求和响应格式219
11.2.2 POST方法的请求格式222
11.3 Web服务器Tomcat223
11.3.1 Servlet容器介绍223
11.3.2 Tomcat简介224
11.3.3 Tomcat的安装配置224
11.3.4 测试Tomcat225
11.3.5 在MyEclipse中启动自定义的Tomcat225
11.4 在MyEclipse 中开发Web226
11.4.1 Web工程的创建226
11.4.2 Web工程的发布227
习题11229
第12章 JSP技术231
12.1 JSP简介231
12.2 JSP标准语法232
12.2.1 一个简单的JSP程序232
12.2.2 JSP注释与声明233
12.2.3 JSP表达式和JSP程序段234
12.2.4 JSP与HTML的混合使用235
12.3 JSP编译指令 236
12.3.1 include指令236
12.3.2 page指令237
12.3.3 taglib指令238
12.4 JSP动作239
12.4.1 forward动作239
12.4.2 include动作240
12.4.3 useBean动作240
12.5 JSP的隐含对象242
12.5.1 输出对象out242
12.5.2 请求对象request243
12.5.3 响应对象response245
12.5.4 会话对象session246
12.5.5 Web服务器对象application248
12.6 编程示例: 网上书店249
习题12252
第13章 JavaBean255
13.1 JavaBean的定义255
13.2 两种JavaBean的封装类255
13.2.1 封装数据的JavaBean255
13.2.2 封装业务的JavaBean257
13.3 在JSP中使用JavaBean259
13.4 JSP设计模式260
13.4.1 ModelI体系结构260
13.4.2 ModelII体系结构261
习题13262
第14章 Servlet基础知识265
14.1 Servlet的定义265
14.2 Servlet的生命周期268
14.2.1 加载和实例化268
14.2.2 初始化268
14.2.3 服务268
14.2.4 销毁268
14.3 Servlet体系结构和层次结构269
14.3.1 Servlet体系结构269
14.3.2 Servlet API层次结构269
14.4 Servlet与JSP之间的关系271
14.5 主要Servlet API介绍271
14.5.1 HttpServlet类272
14.5.2 ServletRequest接口272
14.5.3 HttpServletRequest接口273
14.5.4 ServletResponse接口275
14.5.5 HttpServletResponse接口275
14.5.6 ServletContext接口277
14.6 在MyEclipse中利用向导创建Servlet279
14.7 编程示例: 网上书店280
14.7.1 修改图书操作类代码280
14.7.2 图书列表页面listBook.jsp和其他页面283
14.7.3 编写Servlet287
习题14289
第15章 Servlet的会话跟踪技术291
15.1 session与会话291
15.2 Servlet实现会话跟踪 292
15.3 编程示例: 网上书店293
15.3.1 顾客浏览图书293
15.3.2 显示图书详细信息295
15.3.3 将图书添加到购物车并显示购物车信息296
15.3.4 添加订单信息并结账299
习题15301第16章 过滤器303
16.1 Servlet过滤器简介303
16.2 Servlet过滤器体系结构304
16.3 Servlet过滤器的实现304
16.3.1 编写实现类304
16.3.2 过滤器的配置306
16.4 中文乱码问题307
16.4.1 JSP页面中文乱码问题307
16.4.2 表单提交乱码问题307
习题16309
第17章 EL与JSTL311
17.1 EL表达式311
17.1.1 EL表达式的基础知识311
17.1.2 EL隐式对象312
17.1.3 EL表达式的使用示例313
17.2 JSTL简介319
17.3 JSTL核心标签库319
17.3.1 工程中添加对JSTL的支持319
17.3.2 通用标签320
17.3.3 条件标签321
17.3.4 迭代标签323
17.4 编程示例: 网上书店325
17.4.1 用EL表达式重写图书显示页面325
17.4.2 用EL表达式重写显示图书详细信息的页面326
习题17327
第18章 JSP自定义标签329
18.1 JSP自定义标签简介329
18.2 开发自定义JSP标签330
18.2.1 创建标签处理类330
18.2.2 创建标签库描述文件TLD332
18.2.3 JSP中使用自定义标签332
18.3 编程示例: 网上书店333
18.3.1 分页标签处理类333
18.3.2 分页标签库描述文件336
18.3.3 使用分页标签336