《高级语言程序设计II》课堂实验/实践指导书
1. 课程概述
1.1 课程简介
1.1.1 课程背景
- 高级语言程序设计II作为软件工程专业的必修课程,旨在深化学生对高级语言编程的理解与应用能力。
- 该课程通过系统学习,使学生掌握面向对象编程的基本概念和实现方法,为后续课程打下坚实基础。
1.1.2 课程内容
- 主要内容包括数据结构、算法、面向对象编程等。
- 涵盖C++语言的基本语法、类和对象、继承与多态、模板、异常处理等。
1.1.3 课程目标
- 培养学生具备较强的编程能力和算法分析能力。
- 使学生掌握面向对象编程思想,能运用C++语言解决实际问题。
1.2 实验/实践教学
1.2.1 实验/实践目的
- 通过实验/实践教学,巩固和深化课堂所学知识。
- 培养学生的实际操作能力和编程思维能力。
- 提高学生分析问题和解决问题的能力。
1.2.2 实验/实践内容
- 包括基本数据类型、运算符与表达式、顺序和选择程序设计、循环程序设计等。
- 每个实验/实践都设计有针对性的任务,帮助学生掌握相关知识点。
1.2.3 实验/实践要求
- 学生需独立完成每个实验/实践,并在规定时间内提交报告。
- 实验/实践报告需包括实验目的、实验内容、实验步骤、实验结果和实验总结等。
1.3 实验/实践环境
1.3.1 软件环境
- VC++ 6.0集成开发环境。
- 安装必要的编译器和调试工具。
1.3.2 硬件环境
- 配置良好的计算机,保证实验/实践的顺利进行。
2. 实验/实践一:基本数据类型、运算符与表达式
2.1 实验/实践目的
2.1.1 掌握VC++ 6.0的运行环境
- 熟悉C源程序的编辑、编译、连接和执行的基本过程。
- 学会使用VC++ 6.0的菜单和工具栏进行程序开发。
2.1.2 掌握C语言的基本数据类型及类型转换
- 熟悉各种类型变量的定义方法。
- 掌握数据类型的转换规则和注意事项。
2.1.3 学会使用基本运算符
- 包括自加(++)、自减(−−)、位运算等。
- 熟悉表达式的计算规则和运算符的优先级。
2.1.4 程序出错时,学习根据提示信息修改程序
- 学会分析编译警告和错误信息。
- 掌握根据错误信息定位并修正程序中的问题。
2.1.5 为验证一个概念或问题,能独立编写简单的C程序
- 学会根据问题需求,设计算法并编写程序。
- 能够通过编程验证自己的思路和概念。
2.2 实验/实践内容
2.2.1 熟悉VC++ 6.0集成环境
- 掌握菜单栏、工具栏、输出窗口、错误提示窗口等的使用。
- 学会新建、保存、编译、调试和运行C程序。
2.2.2 符号常量的使用
- 理解符号常量的概念和作用。
- 学会在程序中声明和使用符号常量。
2.2.3 转义字符的使用
- 掌握转义字符的概念和用法。
- 学会在程序中使用转义字符实现特殊字符的输出。
2.2.4 算术运算符的使用
- 掌握算术运算符的用法和运算规则。
- 学会在程序中使用算术运算符进行计算。
2.2.5 对求余运算符(%)能否用于实型数据,请编程予以验证
- 理解求余运算符(%)的定义和作用。
- 通过编程验证求余运算符在实型数据中的应用。
2.2.6 假定int m = 5,y = 2,请编程计算表达式y += y -= m * = y,最后输出的y值。
- 掌握复合赋值运算符的用法。
- 通过编程计算并输出表达式的最终结果。
2.2.7 逗号运算符及位运算符的使用
- 掌握逗号运算符的用法和运算规则。
- 学会在程序中使用逗号运算符进行多表达式求值。
- 掌握位运算符的用法和运算规则。
- 学会在程序中使用位运算符进行位运算。
2.2.8 在类型转换时,有可能产生误差。请编程予以考证。
- 理解类型转换的概念和规则。
- 通过编程验证类型转换可能带来的误差问题。
2.3 实验/实践结果处理
2.3.1 结果分析
- 将实验结果与预期理论结果相对照,分析实验过程中的问题及解决方案。
- 加强对编程环境和调试方法的理解和掌握。
2.3.2 注意事项
- 注意运算符的优先级和结合性。
- 注意数据类型转换时可能出现的精度损失问题。
2.4 预习与思考题
2.4.1 预习内容
- 熟悉C++语言的基本语法和数据类型。
- 了解C++语言的运算符和表达式。
2.4.2 思考题
- 编写一个程序,计算两个整数之和,并输出结果。
- 编写一个程序,将一个整数转换为字符串输出。
3. 实验/实践二:顺序和选择程序设计
3.1 实验/实践目的
3.1.1 熟练掌握各种赋值语句的使用方法
- 掌握赋值语句的语法和功能。
- 学会在程序中灵活运用赋值语句。
3.1.2 掌握输入/输出函数的使用
- 学会使用输入/输出函数进行数据的输入和输出。
- 掌握不同类型数据的格式控制和输入/输出方法。
3.1.3 了解C语言中逻辑量的表示方法
- 理解逻辑量的概念和表示方法。
- 学会计算关系表达式和逻辑表达式。
3.1.4 熟练掌握if、if-else、switch语句的使用
- 掌握if、if-else、switch语句的语法和功能。
- 学会设计分支程序的一般方法。
3.1.5 进一步掌握VC++ 6.0集成环境的使用
- 熟练使用VC++ 6.0进行程序开发。
- 掌握简单的单步调试方法。
3.2 实验/实践内容
3.2.1 单个字符的输入输出
- 学会使用getchar和putchar函数进行单个字符的输入和输出。
- 掌握字符输入输出的应用场景和用法。
3.2.2 格式字符的使用
- 掌握格式字符的概念和用法。
- 学会使用格式字符进行数据的格式控制和输出。
3.2.3 输出格式和有效位数
- 理解输出格式和有效位数的概念。
- 学会设置输出格式和控制有效位数。
3.2.4 数据的输入
- 学会使用scanf函数进行数据的输入。
- 掌握不同类型数据的输入格式和用法。
3.2.5 关系表达式的计算
- 理解关系表达式的概念和计算规则。
- 学会计算和输出关系表达式的结果。
3.2.6 逻辑表达式的计算
- 理解逻辑表达式的概念和计算规则。
- 学会计算和输出逻辑表达式的结果。
3.2.7 使用if-else if语句编写程序
- 掌握if-else if语句的语法和功能。
- 学会使用if-else if语句进行分支程序设计。
3.2.8 编程求三个整数中的最大者
- 理解条件表达式的概念和用法。
- 学会使用条件表达式进行程序设计。
3.2.9 测试填空题的答案
- 理解switch语句的概念和用法。
- 学会使用switch语句进行多分支程序设计。
3.3 实验/实践结果处理
3.3.1 结果分析
- 将实验结果与预期理论结果相对照,分析实验过程中的问题及解决方案。
- 加强对输入输出函数和分支语句的理解和掌握。
3.3.2 注意事项
- 注意scanf函数的格式控制字符和输入数据类型。
- 注意if语句和if-else语句的嵌套使用。
3.4 预习与思考题
3.4.1 预习内容
- 熟悉C++语言的输入输出函数和分支语句。
- 了解C++语言的逻辑运算符和表达式。
3.4.2 思考题
- 编写一个程序,计算一个学生的平均成绩并输出。
- 编写一个程序,根据用户输入的月份和年份,输出该月的天数。
4. 实验/实践三:循环程序设计
4.1 实验/实践目的
4.1.1 熟悉并掌握while、do-while、for语句的格式
- 理解while、do-while、for语句的语法和功能。
- 学会在程序中选择合适的循环语句进行循环控制。
4.1.2 设置恰当的循环初始条件和循环控制语句
- 理解循环初始条件和循环控制语句的作用和用法。
- 学会根据问题需求设置合适的循环条件和控制语句。
4.1.3 掌握循环程序设计中常用算法
- 理解穷举、迭代、递推等算法的概念和应用场景。
- 学会在程序中使用这些算法解决问题。
4.1.4 掌握循环语句的嵌套及多重循环结构
- 理解循环语句嵌套和多重循环的概念和用法。
- 学会在程序中使用循环语句进行复杂控制。
4.1.5 应用单步调试方法
- 掌握单步调试的方法和步骤。
- 学会在程序调试过程中使用单步调试。
4.2 实验/实践内容
4.2.1 调试修改程序段
- 学会根据错误信息修改程序。
- 掌握调试程序的方法和技巧。
4.2.2 计算数列求和
- 理解数列求和的算法和实现方法。
- 学会使用for语句进行数列求和的编程。
4.2.3 位置断点实验
- 掌握位置断点的设置和使用。
- 学会使用位置断点进行程序调试。
4.2.4 带有附加条件的位置断点实验
- 理解带有附加条件的位置断点的概念和用法。
- 学会使用带有附加条件的位置断点进行程序调试。
4.2.5 求特定式子的值
- 理解特定式子的概念和求解方法。
- 学会使用for语句进行特定式子的求解编程。
4.2.6 编写“水仙花数”程序
- 理解“水仙花数”的概念和求解方法。
- 学会使用for语句进行“水仙花数”的编程。
4.2.7 找出完数
- 理解完数的概念和求解方法。
- 学会使用for语句进行完数的编程。
4.2.8 求方程的根
- 理解牛顿迭代法的概念和求解方法。
- 学会使用for语句进行方程根的求解编程。
4.2.9 输出素数
- 理解素数的概念和求解方法。
- 学会使用for语句进行素数的编程。
4.3 实验/实践结果处理
4.3.1 结果分析
- 将实验结果与预期理论结果相对照,分析实验过程中的问题及解决方案。
- 加强对循环语句和算法应用的理解和掌握。
4.3.2 注意事项
- 注意循环语句的初始条件、循环条件和循环体之间的关系。
- 注意循环中的逻辑错误和逻辑问题。
4.4 预习与思考题
4.4.1 预习内容
- 熟悉C++语言的循环语句和算法。
- 了解C++语言的递归和动态规划等高级算法。
4.4.2 思考题
- 编写一个程序,计算斐波那契数列的第n项。
- 编写一个程序,计算1000以内的所有素数。



