C++ 常用函数与字符串操作总结笔记

一、字符串函数(<string> 头文件)
功能函数说明
带空格输入getline(cin, str);读取整行(包括空格)
获取长度str.size()str.length()返回字符串长度
查找子串str.find(str1);返回子串 str1 首次出现的索引,未找到返回 string::npos
插入子串str.insert(a, str1);在索引 a 处插入子串 str1
提取子串str.substr(a, b);从索引 a 开始提取长度为 b 的子串(省略 b 时截取到末尾)
替换子串str.replace(a, b, str1);将索引 a 开始的 b 个字符替换为 str1
翻转字符串reverse(str.begin(), str.end());需包含 <algorithm>,原地翻转字符串

二、数学库函数(<cmath> 头文件)
函数原型样例说明
double max(double x, double y);ans = max(x, y);返回 xy 的最大值
double min(double x, double y);ans = min(x, y);返回 xy 的最小值
double sqrt(double x);sqrt(9)返回 √x(平方根)
double pow(double x, double y);ans = pow(x, y);返回 xy 次幂(x^y
double abs(double x);abs(-10)返回 x 的绝对值(整数用 abs()
double ceil(double x);ceil(2.1)向上取整(≥ x 的最小整数)
double floor(double x);floor(2.9)向下取整(≤ x 的最大整数)
double round(double x);round(2.9)四舍五入取整

三、字符数组 vs 字符串(string 类)
操作字符数组(C 风格)字符串(string 类)
头文件<cstring><string>
定义char a[105] = {}, b[105] = {};string a, b;
无空格输入cin >> a >> b;cin >> a >> b;
含空格输入cin.getline(a, 105);getline(cin, a);
输出cout << a;cout << a;
长度int len = strlen(a);int len = a.length();
复制strcpy(a, b);a = b;
拼接strcat(a, b);a += b;a.append(b);
比较strcmp(a, b);a == ba > b

关键说明:

  1. 字符数组

    • 需预分配固定大小(如 char[105]),操作依赖 <cstring> 函数。
    • 比较函数 strcmp(a, b)
      • 返回 0(相等)、>0a > b)、<0a < b)。
  2. string

    • 动态管理内存,无需固定大小,操作更简洁(如直接赋值 a = b)。
    • 比较可直接用关系运算符(==> 等)。
  3. 数学函数

    • 整数绝对值用 abs()<cstdlib>),浮点数用 fabs()<cmath>)。
    • ceil(2.1) = 3floor(2.9) = 2round(2.9) = 3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值