基础平台篇 程序设计思想 1
项目1 认识程序设计 1
项目创设 1
学习目标 1
1.1 任务1 走进程序的世界 2
1.1.1 目标效果 2
1.1.2 必备知识 3
1.1.2.1 程序的含义与数据传递 4
1.1.2.2 程序设计的发展历史 6
1.1.2.3 程序的基本结构 7
1.1.2.4 程序设计步骤 9
1.1.2.5 程序员的基本素养 10
1.1.3 拓展训练 11
1.2 任务2 算法的设计与描述 11
1.2.1 目标效果 11
1.2.2 必备知识 12
1.2.2.1 算法的概念和特征 12
1.2.2.2 算法的复杂度 16
1.2.2.3 算法的表示 18
1.2.3 拓展训练 23
1.3 任务3 程序设计模式 24
1.3.1 目标效果 24
1.3.2 必备知识 25
1.3.2.1 面向过程编程模式特征 25
1.3.2.2 面向过程编程模式方法 26
1.3.2.3 面向对象编程模式特征 27
1.3.2.4 面向对象编程模式方法 27
1.3.3 拓展训练 28
1.4 任务4 程序开发环境搭建与测试 29
1.4.1 目标效果 29
1.4.2 必备知识 30
1.4.2.1 C语言程序开发环境 30
1.4.2.2 最简单的C语言程序 36
1.4.2.3 Java语言程序开发环境 40
1.4.2.4 最简单的Java语言程序 46
1.4.3 拓展训练 48
项目总结 50
知识归纳 51
知识巩固 52
项目实训 53
基本模块Ⅰ 面向过程编程(C) 55
项目2 学生基本信息处理(C) 55
项目创设 55
学习目标 55
2.1 任务1 学生基本信息录入与保存 56
2.1.1 目标效果 56
2.1.2 必备知识 57
2.1.2.1 标识符与注释符 57
2.1.2.2 基本数据类型 58
2.1.2.3 变量和常量 62
2.1.2.4 基本数据类型转换 64
2.1.2.5 简单数据的输入输出 66
2.1.2.6 运算符和表达式 71
2.1.2.7 运算符优先级 79
2.1.3 拓展训练 81
2.1.4 实现机制 82
2.1.4.1 学生基本信息录入与保存任务程序结构 82
2.1.4.2 学生基本信息录入与保存任务程序剖析 82
项目总结 85
知识归纳 85
知识巩固 86
项目实训 87
项目3 学生成绩信息处理 88
项目创设 88
学习目标 88
3.1 任务1 学生成绩考核等级分析 89
3.1.1 目标效果 89
3.1.2 必备知识 89
3.1.2.1 C程序的基本控制结构 89
3.1.2.2 单分支和双分支选择语句 91
3.1.2.3 多分支选择语句 93
3.1.3 拓展训练 97
3.1.4 实现机制 98
3.1.4.1 学生成绩考核等级分析任务程序结构 98
3.1.4.2 学生成绩考核等级分析任务程序剖析 99
3.2 任务2 班级成绩考核分析 101
3.2.1 目标效果 101
3.2.2 必备知识 101
3.2.2.1 while循环 102
3.2.2.2 do-while循环 102
3.2.2.3 break和continue语句 103
3.2.2.4 for循环 104
3.2.2.5 三个循环语句的比较 107
3.2.2.6 嵌套循环 108
3.2.2.7 数组 109
3.2.2.8 字符串 117
3.2.3 拓展训练 119
3.2.4 实现机制 121
3.2.4.1 班级成绩考核分析任务程序结构 121
3.2.4.2 班级成绩考核分析任务程序剖析 121
3.3 任务3 班级学生成绩求平均并排名 125
3.3.1 目标效果 125
3.3.2 必备知识 126
3.3.2.1 函数 126
3.3.2.2 函数的参数 129
3.3.2.3 数组作为函数参数 132
3.3.2.4 函数嵌套调用 135
3.2.2.5 递归函数 136
3.3.2.6 局部变量和全局变量 138
3.3.3 拓展训练 139
3.3.4 实现机制 140
3.3.4.1 对班级学生成绩求平均并排名的程序结构 140
3.3.4.2 对班级学生成绩求平均并排名的程序剖析 141
3.4 任务4 读写学生成绩信息 144
3.4.1 目标效果 144
3.4.2 必备知识 144
3.4.2.1 指针变量 144
3.4.2.2 指向指针变量的指针变量 148
3.4.2.3 直接访问与间接访问 148
3.4.2.4 指针数组 148
3.4.3 拓展训练 150
3.4.4 实现机制 152
3.4.4.1 读写学生成绩信息任务程序结构 152
3.4.4.2 读写学生成绩信息任务程序剖析 152
项目总结 156
知识归纳 156
知识巩固 158
项目实训 161
项目4 学生和班级信息组织(C) 162
项目创设 162
学习目标 162
4.1 任务1 描述学生基本信息 162
4.1.1 目标效果 162
4.1.2 必备知识 163
4.1.2.1 结构体 163
4.1.2.2 结构体成员访问 165
4.1.3 拓展训练 166
4.1.4 实现机制 167
4.1.4.1 描述学生的基本信息任务程序结构 167
4.1.4.2 描述学生的基本信息任务程序剖析 168
4.2 任务2 描述班级基本信息 170
4.2.1 目标效果 170
4.2.2 必备知识 170
4.2.2.1 结构体数组 171
4.2.2.2 结构体的嵌套使用 172
4.2.3 拓展训练 175
4.2.4 实现机制 178
4.2.4.1 描述班级基本信息任务程序结构 178
4.2.4.2 描述班级基本信息任务程序剖析 179
项目总结 180
知识归纳 181
知识巩固 181
项目实训 182
基本模块Ⅱ 面向对象编程(Java) 184
项目5 学生基本信息处理(Java) 184
项目创设 184
学习目标 184
5.1 任务1 学生基本信息录入与保存 184
5.1.1 目标效果 184
5.1.2 必备知识 186
5.1.2.1 标识符与注释符 186
5.1.2.2 基本数据类型 187
5.1.2.3 变量和常量 193
5.1.2.4 基本数据类型转换 195
5.1.2.5 简单数据的输入输出 197
5.1.2.6 运算符和表达式 200
5.1.2.7 运算符优先级 208
5.1.3 拓展训练 208
5.1.4 实现机制 210
5.1.4.1 学生基本信息录入与保存任务程序结构 210
5.1.4.2 学生基本信息录入与保存任务程序剖析 210
5.2 任务2 学生课程实训评价分析 212
5.2.1 目标效果 212
5.2.2 必备知识 213
5.2.2.1 Java程序的基本控制结构 213
5.2.2.2 单分支和双分支选择语句 215
5.2.2.3 多分支选择语句 217
5.2.3 拓展训练 219
5.2.4 实现机制 220
5.2.4.1 学生课程实训评价分析任务程序结构 220
5.2.4.2 学生课程实训评价分析任务程序剖析 221
5.3 任务3 班级成绩汇总分析 223
5.3.1 目标效果 223
5.3.2 必备知识 224
5.3.2.1 while循环 224
5.3.2.2 do-while循环 225
5.3.2.3 break和continue语句 225
5.3.2.4 for循环 226
5.3.2.5 三个循环语句的比较 230
5.3.2.6 嵌套循环 231
5.3.2.7 字符串 232
5.3.2.8 数组 235
5.3.3 拓展训练 240
5.3.4 实现机制 242
5.3.4.1 班级成绩汇总分析任务程序结构 242
5.3.4.2 班级成绩汇总分析任务程序剖析 243
项目总结 246
知识归纳 247
知识巩固 248
项目实训 249
项目6 学生和班级信息组织(Java) 251
项目创设 251
学习目标 251
6.1 任务1 描述学生的基本信息 251
6.1.1 目标效果 251
6.1.2 必备知识 253
6.1.2.1 面向对象基础 253
6.1.2.2 类 258
6.1.2.3 对象 266
6.1.3 拓展训练 270
6.1.4 实现机制 272
6.1.4.1 描述学生的基本信息任务程序结构 272
6.1.4.2 描述学生的基本信息任务程序剖析 272
6.2 任务2 描述班长和班级的信息 275
6.2.1 目标效果 275
6.2.2 必备知识 276
6.2.2.1 继承 276
6.2.2.2 子类的构造方法 279
6.2.2.3 多态性 281
6.2.2.4 访问控制符与修饰符 284
6.2.2.5 接口 289
6.2.2.6 抽象类和抽象方法 291
6.2.2.7 包 293
6.2.3 拓展训练 296
6.2.4 实现机制 299
6.2.4.1 描述班长和班级信息的任务程序结构 299
6.2.4.2 描述班长和班级信息的任务程序剖析 300
6.3 任务3 输入规范的班级信息 303
6.3.1 目标效果 303
6.3.2 必备知识 304
6.3.2.1 异常的概念 304
6.3.2.2 异常处理机制 304
6.3.2.3 自定义异常类 308
6.3.3 拓展训练 309
6.3.4 实现机制 310
6.3.4.1 输入规范的班级信息任务程序结构 310
6.3.4.2 输入规范的班级信息任务程序剖析 311
项目总结 314
知识归纳 315
知识巩固 317
项目实训 318
项目7 SIMS系统GUI设计 320
项目创设 320
学习目标 320
7.1 任务1 系统登录界面设计 320
7.1.1 目标效果 320
7.1.2 必备知识 322
7.1.2.1 图形界面基础—AWT 322
7.1.2.2 Swing组件 325
7.1.2.3 窗口和面板 326
7.1.3 拓展训练 327
7.1.4 实现机制 329
7.1.4.1 系统登录界面设计任务程序结构 329
7.1.4.2 系统登录界面任务程序剖析 330
7.2 任务2 学生实训评价分析界面设计 334
7.2.1 目标效果 334
7.2.2 必备知识 336
7.2.2.1 Swing组件基础 336
7.2.2.2 Swing常用组件 336
7.2.2.3 Java事件处理机制 341
7.2.2.4 常用组件的事件处理 342
7.2.3 拓展训练 343
7.2.4 实现机制 348
7.2.4.1 学生实训评价分析界面设计任务程序结构 348
7.2.4.2 学生实训评价分析界面设计任务程序剖析 349
7.3 任务3 学生实训评价查询界面设计 361
7.3.1 目标效果 361
7.3.2 必备知识 362
7.3.2.1 表格处理 362
7.3.2.2 滚动窗格 362
7.3.3 拓展训练 363
7.3.4 实现机制 366
7.3.4.1 学生实训评价查询界面设计任务程序结构 366
7.3.4.2 学生实训评价查询界面设计任务程序剖析 367
7.4 任务4 系统主界面设计 372
7.4.1 目标效果 372
7.4.2 必备知识 373
7.4.2.1 创建主菜单和弹出菜单 373
7.4.2.2 创建和使用工具栏 375
7.4.3 拓展训练 376
7.4.4 实现机制 378
7.4.4.1 系统主界面设计任务程序结构 378
7.4.4.2 系统主界面设计任务程序剖析 379
项目总结 384
知识归纳 385
知识巩固 386
项目实训 387
拓展模块 ACM程序设计竞赛 389
项目8 走进ACM程序设计竞赛 389
项目创设 389
学习目标 389
8.1 任务1 ACM程序设计竞赛在线评测平台应用 389
8.1.1 目标效果 389
8.1.2 必备知识 390
8.1.2.1 认识ACM程序设计竞赛 390
8.1.2.2 在线评测平台用户注册 392
8.1.2.3 程序编写、提交与判题 393
8.1.3 拓展训练 399
项目总结 402
项目实训 403
项目9 ACM程序设计竞赛实训 404
项目创设 404
学习目标 404
9.1 任务1 字符串应用 404
9.1.1 目标效果 404
9.1.2 必备知识 406
9.1.2.1 字符串读写 406
9.1.2.2 字符串常见操作 407
9.1.3 程序实现 408
9.1.3.1 C语言代码实现 408
9.1.3.2 Java语言代码实现 409
9.1.4 拓展训练 410
9.2 任务2 图的应用 413
9.2.1 目标效果 413
9.2.2 必备知识 415
9.2.2.1 图的概念 415
9.2.2.2 图的表示 416
9.2.3 程序实现 417
9.2.3.1 C语言代码实现 417
9.2.3.2 Java语言代码实现 418
9.2.4 拓展训练 419
项目总结 425
项目实训 425
参考文献 426