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

本章将结合运算符,学习 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] "最终评价:良好 👍"
相关推荐
用户昵称10030 分钟前
C/C++编程-工程实践-本地存储log的工程意义
c语言·开发语言
吹什么轩2 小时前
c++复习:map和set的使用
开发语言·c++
必须得开心呀2 小时前
qt生成dump文件并定位异常
开发语言·qt
fpcc2 小时前
跟我学C++中级篇—内存流
开发语言·c++
Cicada1282 小时前
ccvt:一个用 Rust 写的中国地图坐标系互转命令行工具
开发语言·后端·rust
1001101_QIA2 小时前
工控机网络配置
开发语言·数据库·php
程序员雷欧3 小时前
ThreadPoolExecutor 深度解析:从核心参数到源码实现的全面剖析
java·开发语言·jvm
catchadmin3 小时前
对标 npx 的 CPX PHP 的 Composer 包执行器
开发语言·php·composer
一位狮子座的程序员3 小时前
如何用RAG解决AI智能体的知识盲区?
开发语言·c#