当前位置: 首页 > news >正文

2.1 C++之条件语句

学习目标

  • 理解程序的分支逻辑(根据不同条件执行不同代码)。
  • 掌握 if-elseswitch 语句的用法。
  • 能编写简单的条件判断程序(如成绩评级、游戏选项等)。

在这里插入图片描述

1 条件语句的基本概念

什么是条件语句?

  • 程序在执行时,有时需要根据不同的情况做出不同的操作。
  • 条件语句就是让计算机“做选择”的代码结构。

核心结构

if (条件) {// 条件成立时执行的代码
} else {// 条件不成立时执行的代码
}

类比生活

  • 就像“如果今天下雨,就带伞;否则,就不带伞”。

2 if-else 语句

基本语法
if (条件) {// 条件成立时执行
} else {// 条件不成立时执行
}

示例1:判断成绩是否及格

int score = 75;
if (score >= 60) {cout << "及格!";
} else {cout << "不及格!";
}

运行结果

及格!
多条件判断(else if)
if (条件1) {// 条件1成立时执行
} else if (条件2) {// 条件2成立时执行
} else {// 其他情况执行
}

示例2:成绩等级转换(A/B/C/D/E)

int score = 85;
if (score >= 90) {cout << "A";
} else if (score >= 80) {cout << "B";
} else if (score >= 70) {cout << "C";
} else if (score >= 60) {cout << "D";
} else {cout << "E";
}

运行结果

B
嵌套 if 语句
  • ifelse 里再写 if 语句。
    示例3:判断三角形类型
int a = 3, b = 4, c = 5;
if (a + b > c && a + c > b && b + c > a) {if (a == b && b == c) {cout << "等边三角形";} else if (a == b || b == c || a == c) {cout << "等腰三角形";} else {cout << "普通三角形";}
} else {cout << "不能构成三角形";
}

运行结果

普通三角形

3 switch 语句

基本语法
  • 适用于多个固定选项的判断(如菜单选择、星期几等)。
switch (变量) {case1:// 代码1break;case2:// 代码2break;default:// 默认情况
}

示例4:模拟计算器菜单

cout << "1.加法\n2.减法\n3.退出\n请选择:";
int choice;
cin >> choice;switch (choice) {case 1:cout << "执行加法";break;case 2:cout << "执行减法";break;case 3:cout << "退出程序";break;default:cout << "输入错误!";
}

运行示例

1.加法  
2.减法  
3.退出  
请选择:2  
执行减法  
switch 与 if 的区别
特点if-elseswitch
适用场景范围判断(如 score > 60固定值匹配(如 case 1:
可读性适合复杂条件适合多个选项
效率逐条判断直接跳转(更快)

4 常见错误 & 调试技巧

易错点
  1. **忘记写 ==,误用 **=
    • if (x = 5) ❌(赋值,永远为真)
    • if (x == 5) ✅(比较)
  2. switch** 漏写 **break
    • 会导致“穿透”执行多个 case
  3. 逻辑运算符错误
    • if (a < b < c) ❌(错误写法)
    • if (a < b && b < c) ✅(正确写法)
调试技巧
  • 使用 cout 打印变量的值,检查条件是否按预期执行。
  • 用注释 // 暂时屏蔽部分代码,逐步排查问题。

5 练习与挑战

基础练习

  1. 编写程序,判断一个数是奇数还是偶数。
  2. 输入月份(1-12),输出对应的季节(春/夏/秋/冬)。

进阶挑战

  1. 实现一个“BMI 计算器”,根据身高体重判断胖瘦等级。
  2. 设计一个“简易ATM机”,用 switch 实现存款、取款、查询功能。

总结

知识点关键内容
if-else用于条件分支,支持多级判断(else if)。
switch适用于固定选项匹配,比 if 更清晰。
常见错误= vs ==break 遗漏、逻辑错误。
应用场景游戏选项、成绩评级、菜单交互等。

相关文章:

  • wordpress更新慢优化大师官方免费
  • 那些做测评的网站好游戏推广话术
  • 做网站的要素网站优化推广平台
  • 网站建设运作流程网络营销实施方案
  • 男人互做网站天津seo排名扣费
  • 哪些网站是专门做牛仔批发的优化公司流程制度
  • Nuxt.js vs Next.js:Vue 与 React 阵营的 SSR 双雄对比
  • 传输线上的信号速度与阻抗无关,主要由频率决定
  • Neo4j(三) - 使用Java操作Neo4j详解
  • BaseProviderMultiAdapter多布局总结
  • screen用法
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月26日第89弹
  • AI Agent概念入门指南:核心技术、应用场景与实在Agent案例分析
  • dify-api的.env配置文件
  • 数据安全与纵深访问控制:构建数字时代的安全防线
  • 【五】图像复原(上)【830数字图像处理】
  • 安卓实用复制功能增强工具
  • 5.26 day 29
  • Python Matplotlib数据可视化
  • Numba模块的用法(高性能计算)
  • Vtk概览1
  • C++ STL map multimap 查找操作详解
  • 友达18.5寸工业液晶屏G185HAN01.104产品参数资料
  • 十三: 神经网络的学习
  • day020-sed和find
  • Python面试1