C相关函数

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();
}
上一篇:C标准库学习


下一篇:洛谷-P1102 A-B 数对