C语言函数:是一种函数,用来编译C语言,一般包括字符库函数、数学函数、进程函数、诊断函数等。
在使用函数之前,需要有#include命令将头文件包含进来。
例如常用的printf()与scanf()函数就是需要先包括==#include<stdio.h>==的头文件。
1. 常用数学函数
使用数学函数,需要添加头文件==#include<math.h>==
- sqrt(x)平方根函数: sqrt(16.0)的值为 4.0
- pow(x,n)幂函数:pow(2,3)的值为2的3次方,值为8
- log(x)以e为底的对数函数:log(123.45)的值为4.81563
log10(x) 以10为底的对数 - fabs(x)绝对值函数:fabs(-22)的值为22
- exp(x)指数函数:以e为底的x次方,exp(2.3)的值为9.97418
- floor函数:对double变量向下取值
double x = 3.1415926;
printf("%lf\n",floor(x));
//结果
3.0000000
- ceil()函数与floor()类似,对double变量向上取整
double x = 3.1415926;
printf("%lf\n",ceil(x));
//结果
4.0000000
- cbrt函数:用来求变量的立方根
double x =27.00;
printf("%lf\n",cbrt(x));
//结果
3.0000000
- 计算正弦值、反正弦值、余弦值、反余弦值、正切、反正切值
在输出时分别为sin(x),asin(x),cos(x),acos(x),tan(x),atan(x)
printf("%lf",sin(1.5707963));
//结果
1.0000000
三角函数在使用的时候,加上头文件,直接在输出位置 即可使用。
2.字符串处理函数
关于C语言有关字符串操作的相关函数,大部分包括在头文件==#include<string.h>==中
- strlen函数,返回字符串长度的,函数参数是指向字符串的指针
char ch = Hello,World!
printf("%d\n",strlen(ch));
//输出结果 14
- strch函数,用于拼接字符,将原字符串插入目标字符串的后面,返回类型是一个char指针
scanf("%s",ch); //输入HI,
scanf("%s",CH);//输入 world
strch(ch,CH);
printf("%s",ch);//输出为 HI,world
- strcmp函数:用于比较字符串的长短或者查看两个字符串是否相等
char A[40] = "Hello,World!";
char B[40] = "hello,world!";
char C[40] = "Hello,World";
printf("%d\n",strcmp(A,B));//输出结果 -1
printf("%d\n",strcmp(A,C));//输出结果 1
printf("%d\n",strcmp(A,A));//输出结果 0
一般来说返回值为正—字符串1>字符串2:等于1—字符串相等;为负—字符串1<字符串2;
- strcpy函数:复制字符串,将原字符串覆盖目标字符串
char ch[40] = "Hello,World!";
char CH[40] = "World!";
strcpy(ch,CH);
printf("%s\n",ch);
输出结果:World!
在每一次覆盖的时候,不一定是全覆盖,也可以部分覆盖
char ch[40] = "Hello,World!";
char CH[40] = "World!";
strcpy(ch + 3,CH);
printf("%s\n",ch);
输出结果:HelWorld!
3.内存管理函数
- malloc()和free()函数
malloc函数向内存中申请一块空间,并返回一个指向该空间的地址,指针类型和内存大小由程序员自行定义
free()函数用于释放内存,只需要函数传递已通过malloc分配空间的指针即可。
其中在使用内存管理函数的时候,添加头文件==#include<stdlib.h>==
#include<stdlib.h> //malloc() free() 函数的头文件
#include<stdio.h>
#include<process.h> // exit()
#define SIZE 3 //声明空间大小为 3
int main(){
int *T;
// 使用malloc()申请空间
T = (int*)malloc(SIZE * sizeof(int));
// 申请失败,提示退出
if(T == NULL){
puts("failed...\n");
exit(1); //表示异常退出,(1)是返回给操作系统的
}
puts("malloc success...");
// 赋值
for(int i = 0; i < SIZE; i++){
T[i] = i;
}
// 输出值
for(int i = 0; i < SIZE; i++){
printf("%d ",T[i]);
}
// 释放空间
free(T);
return 0;
编译结果: malloc success...
0 1 2 .