C语言常用函数(内容扎实)
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 ",floor(x)); //结果 3.0000000
- ceil()函数与floor()类似,对double变量向上取整
double x = 3.1415926; printf("%lf ",ceil(x)); //结果 4.0000000
- cbrt函数:用来求变量的立方根
double x =27.00; printf("%lf ",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 ",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 ",strcmp(A,B));//输出结果 -1 printf("%d ",strcmp(A,C));//输出结果 1 printf("%d ",strcmp(A,A));//输出结果 0
一般来说返回值为正—字符串1>字符串2:等于1—字符串相等;为负—字符串1<字符串2;
- strcpy函数:复制字符串,将原字符串覆盖目标字符串
char ch[40] = "Hello,World!"; char CH[40] = "World!"; strcpy(ch,CH); printf("%s ",ch); 输出结果:World!
在每一次覆盖的时候,不一定是全覆盖,也可以部分覆盖
char ch[40] = "Hello,World!"; char CH[40] = "World!"; strcpy(ch + 3,CH); printf("%s ",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... "); 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 .