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

本章将结合运算符,学习 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] "最终评价:良好 👍"
相关推荐
LDR00611 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术11 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园11 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob11 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享11 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.11 天前
C语言--day30
c语言·开发语言
何以解忧,唯有..11 天前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
謓泽11 天前
C语言不是语法,是通往机器的地图。
c语言·开发语言
云水一下11 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
飞天狗11111 天前
零基础JavaWeb入门——第五课第二小节:九大内置对象 · 第2个:response(响应对象)
java·开发语言