6bingame 发表于 4 天前

每日一学20

本帖最后由 6bingame 于 2024-12-17 16:39 编辑

标准C库函数2

指数函数和对数函数

指数函数和对数函数互为逆函数,形式如下

原型                              功能
double exp(double x)      计算e的双精度实数x次幂
double log(double x)         计算以e为底的双精度实数x的对数ln(x)
double log10(double x)      计算以10为底的双精度实数x的对数log10(x)

使用指数函数和对数函数时,e是自然对数的底,值是无理数2.718281828......



三角函数

三角函数常用的正弦、余弦和正切函数形式如下

原型                               功能
double sin(double x)         计算双精度实数x的正弦值
double cos(double x)      计算双精度实数x的余弦值
double tan(double x)      计算双精度实数x的正切值
double asin(double x)       计算双精度实数x的反正弦值
double acos(double x)       计算双精度实数x的反余弦值
double atan(double x)       计算双精度实数x的反正切值
double sinh(double x)       计算双精度实数x的双曲正弦值
double cosh(double x)       计算双精度实数x的双曲余弦值
double tanh(double x)       计算双精度实数x的双曲正切值

要正确使用三角函数,需要注意参数范围。
对于sin和cos函数,其参数x范围是[-1,1]。
对于asin函数,x的定义域为[-1.0,1.0],值域为[-Π/2,+Π/2]。
对于acosx函数,x的定义域为u[-1.0,1.0],值域为。
对于atan函数,值域为(-Π/2,+Π/2)。



取整函数和取余函数

取整函数用于获取实数的整数部分,取余函数用于获取实数的余数部分,形式如下。

原型                                             功能
double ceil(double x)                        计算不小于双精度实数x的最小整数
double floor(double x)                      计算不大于双精度实数x的最大整数
double fmod(double x,double y)      计算双精度实数x/y的余数,余数使用x的符号
double modf(double x,double*ip)       把x分解成整数部分和小数部分,x是是双精度浮点数,ip是整数部分指针,返回结果是小数

例题1:取整和取余函数的应用

#include<stdio.h>       //包含标准输入输出头文件

#include<math.h>      //包含数学头文件

int main()
{
    double x,y,i;

    x=74.12;

    y=6.4;

    printf("74.12/6.4: %f\n",fmod(x,y));   //调用取余函数

    x=74.12;

    y=-6.4;

    printf("74.12/(-6.4): %f\n",fmod(x,y));      //调用取余函数

    x=modf(-74.12,&i);

    printf("-74.12=%.0f+(%.2f)",i,x);

    getchar();

    return 0;
}

例题分析:
本范例使用fmod()函数计算x/y的余数,modf()函数将浮点数num分解成整数部分和小数部分。



字符串处理函数

C语言没有以数组为整体的对象提供内置操作,因为字符串只是一个以'\0'字符终止的字符数组,不是一个有它自己权限的数据类型,这就意味着不能为字符串提供赋值运算和关系运算。但是,在C语言的标准库函数中,包含有大量的字符串处理函数和字符处理函数,能起到辅助王朝字符串进行处理的功能。字符串库函数的调用方式与所用的c语言函数的调用方式一样,要使用这些字符串函数,需要包含头文件<string.h>。

字符串长度函数

求字符串长度函数在处理字符串问题时非常有用,形式如下

原型                         功能
int strlen(char*d)       返回字符串d的长度,不包括终止符NULL
   


字符串连接函数

字符串连接函数用于把两个字符串连接在一起,形式如下

原型                                                 功能
char*strcat(char*d,char*s)               连接字符串s到字符串d,返回字符串d
char*strncat(char*d,char*s,int n)      连接字符串s中至多n个字符到字符串d,返回字符串d

例题2:字符串连接函数应用

#include<stdio.h>

#include<string.h>

int main()
{
    char d1="Hello";

    char d2="Hello";

    char *s1=" World";

    char *s2=" Worldabc";

    strcat(d1,s1);

    printf("%s\n",d1);

    strncat(d2,s2,6);

    printf("%s\n",d2);

    getchar();

    return 0;
}

例题分析:
在范例中,strncat()函数把s所指字符串的前n个字符添加到d结尾处(覆盖d结尾处的'\0'),并在字符串结尾处添加'\0',
s和d所指内存区域不可以重叠,且d必须有足够的空间来容纳s的字符串,最后返回指向d的指针。

页: [1]
查看完整版本: 每日一学20