东南大学何洁月C++课程讲解:二义性与C++基础
需积分: 10 91 浏览量
更新于2024-08-19
收藏 3.83MB PPT 举报
在东南大学何洁月教授的C++课程中,"二义性"这一主题主要探讨的是编程中的潜在问题,尤其是在条件语句的嵌套中如何避免或处理。二义性是指代码在某些情况下可能有多种解释或执行路径,这可能导致编译错误或难以预料的行为。在提供的代码示例中,两个if-else结构展示了两种不同的代码排列方式:
(1) 第一个例子中:
```c++
if (I % 3 == 0)
{
if (I % 7 == 0)
cout << I << endl; // 只有当I能同时被3和7整除时输出
else
cout << I << endl; // 否则,只输出能被3整除的I
}
else
cout << I << endl; // 输出不能被3整除的I,无论是否能被7整除
```
这里,两个嵌套的if条件明确地决定了输出的逻辑,避免了二义性。
(2) 第二个例子:
```c++
if (I % 3 == 0)
{
if (I % 7 == 0)
cout << I << endl; // 相同的逻辑,但换了一个缩进层次
}
else
cout << I << endl; // 直接输出不能被3整除的I
```
这个版本虽然看起来简洁,但如果没有明确的意图,读者可能会误认为外部的else总是会执行,除非遇到内部的if条件。因此,为了消除这种潜在的二义性,推荐使用第一个版本,通过清晰的代码结构表达每个条件的独立判断。
课程大纲涵盖了C++语言的基础和面向对象编程的核心内容,包括计算机程序设计语言发展、面向对象方法论、数据类型、表达式、输入输出、算法控制结构、自定义数据类型、函数的定义与使用、内联函数、函数重载、模板、类与对象的概念、构造函数和析构函数、类的组合、模板等。这些内容旨在帮助学生建立基本的编程概念,掌握C++语言的语法和面向对象编程技巧,提升编程和调试能力,为后续学习打下坚实的基础。
通过何洁月教授的授课,学生们将不仅理解C++语言的细节,还能学会如何有效地组织代码,减少二义性和提高代码可读性,这对于编写高效且易于维护的程序至关重要。课程的实践性强,通过实验环节,学生将有机会在实践中应用所学知识,进一步巩固理论知识。
2021-03-14 上传
点击了解资源详情
点击了解资源详情
2009-12-19 上传
点击了解资源详情
点击了解资源详情
ServeRobotics
- 粉丝: 37
- 资源: 2万+
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍