第五章:条件判断与分支语句

本章将结合运算符,学习 R 语言的条件判断与分支语句。这是编程中最核心的逻辑控制功能,能让程序根据不同条件执行不同代码,实现真正的 "智能判断"。

一、什么是条件判断?

条件判断就是:
如果满足某个条件,就执行一段代码;否则执行另一段代码。

生活中的例子:

  • 如果分数 ≥ 60 → 及格
  • 否则 → 不及格

在 R 语言中,实现这个功能的语句是:
if / else if / else

二、最基础:if 语句(单条件)

语法

r 复制代码
if (条件) {
  条件成立时执行的代码
}

示例

r 复制代码
score <- 85

# 如果分数大于等于60,输出及格
if (score >= 60) {
  print("成绩及格!")
}

运行结果:

txt 复制代码
[1] "成绩及格!"

三、常用:if + else(二选一)

语法

r 复制代码
if (条件) {
  条件成立
} else {
  条件不成立
}

示例

r 复制代码
score <- 85

# 如果分数大于等于60,输出及格
score <- 55

if (score >= 60) {
  print("及格")
} else {
  print("不及格")
}

运行结果:

txt 复制代码
[1] "不及格"

四、多条件:if + else if + else(多分支)

适合多个等级判断,如:优秀、良好、及格、不及格。

语法

r 复制代码
if (条件1) {
} else if (条件2) {
} else if (条件3) {
} else {
}

示例

r 复制代码
score <- 88

if (score >= 90) {
  print("等级:优秀")
} else if (score >= 80) {
  print("等级:良好")
} else if (score >= 60) {
  print("等级:及格")
} else {
  print("等级:不及格")
}

运行结果:

txt 复制代码
[1] "等级:良好"

五、结合逻辑运算符(多条件同时判断)

可以用 &(同时满足)、|(满足一个即可)组合条件。

r 复制代码
age <- 20
is_student <- TRUE

if (age >= 18 & is_student == TRUE) {
  print("成年学生")
}

六、综合实战练习(本章重点 ✅ 可直接复制运行)

结合运算符 + 变量 + 条件判断,做一个完整的成绩计算与等级判断程序。

r 复制代码
# ==============================
# R 综合练习:成绩计算 + 等级判断
# 结合:变量 + 运算符 + 条件判断
# ==============================

# 1. 定义三科成绩
math <- 92
chinese <- 85
english <- 78

# 2. 计算总分与平均分(算术运算符)
total <- math + chinese + english
average <- total / 3

# 3. 输出结果
print(paste("总分:", total))
print(paste("平均分:", round(average, 2)))

# 4. 等级判断(条件分支语句)
if (average >= 90) {
  print("最终评价:优秀 🎉")
} else if (average >= 80) {
  print("最终评价:良好 👍")
} else if (average >= 60) {
  print("最终评价:及格 ✔️")
} else {
  print("最终评价:不及格 ❌")
}

运行结果:

txt 复制代码
[1] "总分: 255"
[1] "平均分: 85"
[1] "最终评价:良好 👍"
相关推荐
geovindu2 小时前
go: Monitor Pattern
开发语言·后端·设计模式·golang·监控模式
我能坚持多久2 小时前
STL详解——list的介绍以及功能展示
开发语言·c++
Brilliantwxx2 小时前
【C++】 继承与多态(上)
开发语言·c++·笔记·算法
ch.ju2 小时前
Java程序设计(第3版)第四章——静态部分
java·开发语言
ZHOUPUYU2 小时前
PHP 开发实战:从零搭建一个高性能的 RESTful API 服务
运维·开发语言·后端·html·php
不负岁月无痕2 小时前
STL -- C++ string 类 模拟实现
java·开发语言·c++
Anastasiozzzz2 小时前
万字深度实战!AI Agent 接入万物的底层密码:MCP 协议传输机制与开发指南(下篇)
java·开发语言·数据库·人工智能·ai·架构
会开花的二叉树2 小时前
Qt初体验-第一个窗口程序踩的坑
开发语言·c++·qt
灰色人生qwer2 小时前
python 中 BaseModel 在这里有什么用?
开发语言·python·状态模式