char int string 的互相转换

在 C++ 中,字符串(string)和整数(int)的区别

C++ 区分 字符串stringchar[])和 整数int),它们的存储方式和操作方式不同。


1. charintstring 的区别

类型存储内容例子
char单个字符(使用 ASCII 存储)'A', '5'
int整数数值(二进制存储)5, 100
string多个字符组成的字符串"Hello", "123"

2. char vs string vs int

代码变量类型存储内容表示方式
char ch = '5';char53(ASCII)字符 '5'
int num = 5;int00000101(二进制)整数 5
string str = "5";string['5', '\0']字符串 "5"

示例代码

#include <iostream>
using namespace std;

int main() {
    char ch = '5';      // 存储字符 '5',ASCII 码是 53
    int num = 5;        // 存储整数 5
    string str = "5";   // 存储字符串 "5"

    cout << "char: " << ch << endl;        // 输出: 5
    cout << "char ASCII: " << int(ch) << endl; // 输出: 53
    cout << "int: " << num << endl;        // 输出: 5
    cout << "string: " << str << endl;     // 输出: 5

    return 0;
}

运行结果

char: 5
char ASCII: 53
int: 5
string: 5

3. char + intstring + int 的区别

(1)char + int

char ch = '0';  // '0' 的 ASCII 值是 48
int num = 5;
char result = ch + num;
cout << result << endl;  // 输出 '5'
  • '0' 的 ASCII 值是 48
  • ch + num 等于 48 + 5 = 53
  • char(53)'5',所以 result 变成 '5'

(2)string + int

string str = "Hello";
int num = 5;
string result = str + to_string(num);
cout << result << endl;  // 输出 "Hello5"
  • to_string(num)int 转成 "5"
  • 字符串拼接 "Hello" + "5" 变成 "Hello5"

4. 什么时候用字符串,什么时候用整数?

用整数(int)的情况

  • 需要进行数学计算(加减乘除、比较大小)。
  • 需要高效存储和处理大数据
  • 示例
    int a = 5, b = 10;
    int sum = a + b;  // 进行数值运算
    

用字符(char)的情况

  • 只表示单个字符(如 'A''9')。
  • 需要用ASCII 码进行计算(如 char('A' + 1) == 'B')。
  • 示例
    char grade = 'A';
    char nextGrade = grade + 1; // 'B'
    

用字符串(string)的情况

  • 需要存储多个字符(如 "Hello""123")。
  • 需要进行字符串拼接(如 "Hello" + " World")。
  • 示例
    string name = "Alice";
    string message = name + " says hello!";
    

5. charint 之间的转换

(1)charint

char ch = '9';
int num = ch - '0'; // '9' (ASCII 57) - '0' (ASCII 48) = 9
cout << num << endl;  // 输出 9

解释

  • '9' 的 ASCII 值是 57
  • '0' 的 ASCII 值是 48
  • '9' - '0' = 57 - 48 = 9

(2)intchar

int num = 7;
char ch = num + '0'; // 7 + 48 = 55,对应字符 '7'
cout << ch << endl;  // 输出 '7'

6. stringint 之间的转换

(1)stringint

#include <iostream>
using namespace std;
int main() {
    string str = "123";
    int num = stoi(str);  // 把 "123" 变成整数 123
    cout << num + 1 << endl;  // 输出 124
}

(2)intstring

#include <iostream>
using namespace std;
int main() {
    int num = 123;
    string str = to_string(num);  // 把 123 变成 "123"
    cout << str + "456" << endl;  // 输出 "123456"
}

7. 总结

操作intcharstring
数学运算
存储单个字符
存储多个字符
字符串拼接
ASCII 码计算
转换 0-9

关键点

  1. 整数(int 用于数学计算,不能直接和字符串拼接。
  2. 字符(char 用于存储单个字符,也可以用 ASCII 码进行计算。
  3. 字符串(string 用于存储多个字符,可以进行拼接。

🔥 最后一句话总结

int 适用于数值计算,char 适用于单个字符,string 适用于文本存储和拼接! 🚀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值