字符(串)、多个if及if else、switch case 概念解析

1. 字符与字符串的区别(char vs string

项目char 类型string 类型
定义表示单个字符表示一串字符(字符串)
写法使用 单引号 'a'使用 双引号 "abc"
类型归属基本数据类型C++ 标准库类型(类类型)
头文件不需要额外头文件需要包含 <string>
命名空间不依赖 std需要使用 std::stringusing namespace std;
内存占用固定 1 字节动态可变长度
示例char c = 'A';std::string s = "Hello";

2. if 判断结构的区别(多次判断 vs 单分支判断)

结构写法执行逻辑特点
多个 if 连续if (...) {}if (...) {}if (...) {}每个条件都会单独判断,多个条件都可能成立用于多个独立判断
if ... else if ... elseif (...) {}else if (...) {}else {}从上到下判断,只执行第一个为真的分支用于互斥判断逻辑
嵌套 ifif (...) { if (...) {...} }在一个条件成立后再判断另一个条件常用于多层条件筛选

3. if…elseswitch…case 对比总结

对比维度if…elseswitch…case
作用判断任意逻辑条件(范围、大小、逻辑表达式等)判断单个变量的多个固定取值(通常是枚举或整数)
适用类型任意类型表达式:整型、浮点、布尔、字符串等只能用于整型或枚举型常量(C++17 前不支持字符串)
语法结构if (条件1){...} else if (条件2){...} else {...}switch (变量){ case 常量1: ...; break; case 常量2: ...; break; default: ...; }
执行逻辑从上到下依次判断,第一个满足条件的分支执行,后续跳过匹配对应 case,执行后若无 break,会继续“穿透”执行下面的 case
复杂度可处理区间/逻辑复合条件仅支持相等匹配
可读性当条件复杂时结构较长当条件值多但逻辑相似时更清晰
常见场景判断区间、逻辑组合,如 x>10 && y<5菜单选择、状态机编号判断等
是否必须 break是(否则会“穿透”执行下一个 case)

 1.代码示例对比

 (1)if…else 示例

#include <iostream>
using namespace std;

int main() {
    int score;
    cin >> score;

    if (score >= 90) {
        cout << "优秀" << endl;
    } else if (score >= 60) {
        cout << "及格" << endl;
    } else {
        cout << "不及格" << endl;
    }
}

适合判断区间、逻辑组合等多条件场景。


(2)switch…case 示例

#include <iostream>
using namespace std;

int main() {
    int option;
    cin >> option;

    switch (option) {
        case 1:
            cout << "开始任务" << endl;
            break;
        case 2:
            cout << "暂停任务" << endl;
            break;
        case 3:
            cout << "结束任务" << endl;
            break;
        default:
            cout << "无效选项" << endl;
            break;
    }
}

适合多个枚举型、编号型选择结构,逻辑简洁。


2. 延伸补充:三者层次总结

结构类型特点是否互斥常见用途
多个 if每个条件独立判断多个条件都可能成立
if…else if…else从上到下判断,仅执行一个分支多分支选择
switch…case等值判断,结构清晰菜单、状态编号判断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值