【2022/3/16】常用库函数

常用库函数

1.字符串处理函数

1.求字符串长度函数strlen

函数原型

unsigned strlen(char *str);

功能:求字符串str的长度

返回值:返回串中字符的个数(到’\0‘结束,不计算’\0‘)

示例//和sizeof的区别

#include<string.h>
#include<stdio.h>
int main()
{
    char[10]="qwerty";
    printf("%d",strlen(str));//输出7(字符串长度)
    printf("%d",sizeof(str));//输出100(数组占用内存)
    return 0;
}

2.字符串拷贝函数strcpy

函数原型

char *strcpy(char *str1,char *str2);

功能:把str2所指向的字符串复制到str1所指向的空间

返回值:str1所指向的地址

示例

#include<string.h>
#include<stdio.h>
int main()
{
    char str[10];
    strcpy(str,"abcdefg");//在数组初始化之后赋值
    return 0;
}

3.字符串连接函数strcat

函数原型

char *strcat(char *str1,char *str2)

功能:将字符出str2连接到字符串str1后面

返回值:str1所指向的地址

示例

#include<string.h>
#include<stdio.h>
int main()
{
    char str1[20] = "abcde",str2[10] = "12345";
    srtcat(str1,str2);
    puts(str1);//"abcde12345"
    return 0}

4.字符串比较函数strcmp

函数原型

int strcmp(char *str1,char *str2)

功能:比较字符串str1和str2的大小(比较两个字符串中第一个不相等的字符的ASCII码值的大小)

返回值:如果str1>str2返回正数,str2>str返回负数1,str1==str2返回0

示例

#include<string.h>
#include<stdio.h>
int main()
{
    char str1[10] = {'\0'},str2[10] = {'\0'}
    gets(str1);
    gets(str2);
    printf("%d",strcmp(str1,str2));
    return 0}

5.字符串中字符查找函数strchr

函数原型

char *strchr(char *str,char ch);

功能:在str所指向的字符串中找出字符ch第一次出现的位置

返回值:返回找到字符的地址,没找到则返回NULL

示例

#include<string.h>
#include<stdio.h>
int main()
{
    char str[20],ch;
    for(int i=0;i<10;i++)
    {
        printf("%p",str + i);
    }//输出每个数组元素的地址
    gets(str);
    ch = getchar();
    printf("%p",strchr(str,ch));//输出地址
    printf("%c",*strchr(str,ch));//输出字符
    return 0;
}

6.求子串函数strstr

函数原型

char *strstr(char *str1,char *str2);

功能:在str1所指向的字符串中找出字符串str2第一次出现的位置

返回值:找到的字符串的地址,没找到则返回NULL

示例

#include<string.h>
#include<stdio.h>
int main()
{
    
    //参考strchr的语法
    char str[20],ch;
    for(int i=0;i<10;i++)
    {
        printf("%p",str + i);
    }//输出每个数组元素的地址
    gets(str1);
    gets(str2)
    printf("%p",strchr(str1,str2));//输出地址(首地址)
    printf("%c",*strchr(str1,str2));//输出字符(输出到\0结束)
    return 0;
}

2.数学函数

1.求绝对值函数abs和fabs

函数原型

int abs(int x);
douvle fabs(double x);

功能:求整数/双精度实数x的绝对值

示例

#include<math.h>
main()
{
    abs(-10)//返回结果10
    fabs(123.456)//返回结果123.456
}

2.浮点数求余函数fmod

函数原型

double fmod(souble x,double y)

功能:求x/y除余后的双精度余数

示例

#include<math.h>
main()
{
fmod(2.5,1.1);//返回结果0.3
}

3.求次方函数pow

函数原型

double pow(double x,double y);

功能:计算x的y次方

返回值:返回x的y次方的值

示例

pow(2,3);//求2的三次方
//函数pow的返回值类型为double

4.开平方函数aqrt

函数原型

double sqrt(double x);

功能:计算x的开平方

返回值:返回x开平方过后的值

示例

sqrt(9);//求9的开平方,返回值为3

如何实现开多次方//使用pow函数

pow(x,1/y);//开x的y次方

3.时间函数

//使用time.h

函数原型

time_t time(time_t *time);

功能:获取当前系统时间,以秒为单位,即从一个时间点(1970.1.1 00:00:00)开始到现在的秒数

返回值:返回当前系统时间

示例

time(NULL);//获取当前系统时间

4.随机数

//stdlib.h

1.随机数函数rand和随机种子函数srand

伪随机函数,用于产生伪随机数

函数原型

int rand(void);

功能:函数返回一个零到RAND_MAX之间的伪随机整数

返回值:返回一个随机数

示例

printf("%d",rand());//输出随机数
//伪随机,重新运行不变

使用随机种子函数来完全随机

srand(100);//随机种子:产生随机数的参考值
srand(time(NULL));//时刻改变随机种子
    //可以使用时间函数为随机种子;因为时间会以秒为单位变化的

使随机数的取值在一定的范围

rand()%101//限制随机数在0~100之间取值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值