第十二天:C++ 标准库函数分类总结

C++ 标准库函数分类总结

数学函数(<cmath>)

基本运算函数

  • abs(x):返回整数或浮点数的绝对值。

    cpp 复制代码
    int a = abs(-5); // 返回 5
  • fabs(x):返回浮点数的绝对值。

    cpp 复制代码
    double b = fabs(-3.14); // 返回 3.14
  • fmod(x, y):计算 x 除以 y 的浮点余数。

    cpp 复制代码
    double c = fmod(5.3, 2.0); // 返回 1.3
  • remainder(x, y):计算 x 除以 y 的 IEEE 754 标准余数。

    cpp 复制代码
    double d = remainder(5.3, 2.0); // 返回 -0.7

指数与对数函数

  • exp(x):计算 ex 次方。

    cpp 复制代码
    double e = exp(1.0); // 返回 2.71828
  • log(x):计算自然对数(以 e 为底)。

    cpp 复制代码
    double f = log(2.71828); // 返回 1.0
  • log10(x):计算常用对数(以 10 为底)。

    cpp 复制代码
    double g = log10(100.0); // 返回 2.0
  • pow(x, y):计算 xy 次方。

    cpp 复制代码
    double h = pow(2.0, 3.0); // 返回 8.0
  • sqrt(x):计算平方根。

    cpp 复制代码
    double i = sqrt(16.0); // 返回 4.0

三角函数

  • sin(x):计算正弦值(弧度制)。

    cpp 复制代码
    double j = sin(M_PI / 2); // 返回 1.0
  • cos(x):计算余弦值(弧度制)。

    cpp 复制代码
    double k = cos(M_PI); // 返回 -1.0
  • tan(x):计算正切值(弧度制)。

    cpp 复制代码
    double l = tan(M_PI / 4); // 返回 1.0
  • asin(x)acos(x)atan(x):计算反三角函数。

    cpp 复制代码
    double m = asin(1.0); // 返回 π/2

双曲函数

  • sinh(x)cosh(x)tanh(x):计算双曲函数。

    cpp 复制代码
    double n = sinh(1.0); // 返回 1.1752

取整与舍入函数

  • ceil(x):向上取整。

    cpp 复制代码
    double o = ceil(3.2); // 返回 4.0
  • floor(x):向下取整。

    cpp 复制代码
    double p = floor(3.8); // 返回 3.0
  • round(x):四舍五入。

    cpp 复制代码
    double q = round(3.5); // 返回 4.0
  • trunc(x):截断小数部分。

    cpp 复制代码
    double r = trunc(3.8); // 返回 3.0

其他数学函数

  • hypot(x, y):计算直角三角形的斜边长度。

    cpp 复制代码
    double s = hypot(3.0, 4.0); // 返回 5.0
  • erf(x)erfc(x):计算误差函数和互补误差函数。

    cpp 复制代码
    double t = erf(1.0); // 返回 0.8427
  • tgamma(x)lgamma(x):计算伽马函数及其对数。

    cpp 复制代码
    double u = tgamma(5.0); // 返回 24.0(4!)

字符串处理函数(<string>)

  • length() / size():返回字符串长度。

    cpp 复制代码
    string str = "Hello";
    int len = str.length(); // 返回 5
  • substr(pos, len):提取子字符串。

    cpp 复制代码
    string sub = str.substr(1, 3); // 返回 "ell"
  • find(str):查找子字符串位置。

    cpp 复制代码
    size_t pos = str.find("ell"); // 返回 1
  • replace(pos, len, str):替换字符串部分内容。

    cpp 复制代码
    str.replace(1, 3, "i"); // "Hi"

容器操作函数(<vector>, <map>)

  • push_back(val):向 vector 末尾添加元素。

    cpp 复制代码
    vector<int> vec;
    vec.push_back(10); // vec = {10}
  • insert(it, val):在指定位置插入元素。

    cpp 复制代码
    vec.insert(vec.begin(), 5); // vec = {5, 10}
  • erase(it):删除指定位置元素。

    cpp 复制代码
    vec.erase(vec.begin()); // vec = {10}

文件操作函数(<fstream>)

  • open(filename):打开文件。

    cpp 复制代码
    ofstream file("data.txt");
    file.open("data.txt");
  • close():关闭文件。

    cpp 复制代码
    file.close();
  • getline(stream, str):逐行读取文件内容。

    cpp 复制代码
    ifstream input("data.txt");
    string line;
    getline(input, line);