1.字符串中常用的系统函数
说明:字符串(即字符数组)在程序开发中使用非常多,常用的函数需要掌握
-
得到字符串的长度 size_t strlen(const char *str)
- 计算字符串str的长度,直到空结束字符,但不包括空结束字符
-
拷贝字符串 char *strcpy(char *dest,const char *src)
- 把src所指向的字符串复制到dest
-
连接字符串 char *strcat(char *dest,const char *src)
- 把src所指向的字符串追加到dest所指向的字符串的结尾
#include <stdio.h>
#include <string.h>
//头文件中声明字符串相关的系统函数
void main(){
char src[50] = "abc",dest[50];
//定义两个字符数组(字符串),大小为50
char *str = "abcdef";
printf("str.len=%d",strlen(str));//统计字符串的大小
//表示将“hello”拷贝到src
//注意:拷贝字符串会将原来的内容覆盖
strcpy(src,"hello");
printf("src=%s",src);
strcpy(dest,"尚硅谷");
//strcat是将src字符串的内容连接到dest,但是不会覆盖dest原来的内容,而实连接
strcat(dest,src);
printf("最终的目标字符串:dest=%s",dest);
getchar();
}
2 . 时间和日期相关函数
说明:在编程中,程序员会经常使用到日期相关的函数,比如:统计某段代码花费的时间,头文件是<time.h>
-
获取当前时间 char *ctime(const time_t *timer)
- 返回一个表示当地时间的字符串,当地时间是基于参数timer
-
编写一段代码来统计函数test执行的时间
- double difftime(time_t time,time_t time2)
- 返回time1和time2之间相差的秒数(time1-time2)
#include<stdio.h>
#include<time.h>//该头文件中,声明和日期和时间相关的函数
void test(){
//运行test函数,看看花费多少时间
int i=0;
int sum=0;
int j=0;
for(i=0;i<777777777,i++){
sum=0;
for(j=0;j<10;j++){
sum+=j;
}
}
}
int main(){
time_t curtime;//time_h是一个结构体类型
time(&curtime);//time()完成初始化
//ctime返回一个表示当地时间的字符串,当地时间是基于参数timer
printf("当前时间=%s",ctime(&curtime));
getchar();
return 0;
//先得到执行test前的时间
time_t start_t,end_t;
double diff_t;//存放时间差
printf("程序启动...");
time(&start_t);//初始化得到当前时间
test();
//再得到test后的时间
time(&end_t);//得到当前时间
diff_t=difftime(end_t,start_t);//时间差,按秒ent_t - start_t
//然后得到两个时间差就是耗用的时间、
printf("执行test()函数耗用了%.2f秒",diff_t);
getchar();
return 0;
}
3 . 数学相关函数
math.h 头文件定义了各种数学函数和一个宏,在这个库中所有可用的功能都带有一个double类型的参数,且都返回double类型的结果
- double exp(double x) 返回e的x次幂的值
- double log(double x) 返回x的自然对数(基数为e的对数)
- double pow(double x,double y) 返回x的y次幂
- double sqrt (double x) 返回x的平方根
- double fabs(double x) 返回x的绝对值
#include <stdio.h>
#include <math.h>
void main(){
double d1=pow(2.0,3.0);
double d2=sqrt(5.0);
printf("d1=%.2f",d1);
printf("d2=%.2f",d2);
getchar();
}