常用库函数
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之间取值