位置: 文档库 > C/C++ > 文档下载预览

《C语言中的预定义函数有哪些?.doc》

1. 下载的文档为doc格式,下载后可用word或者wps进行编辑;

2. 将本文以doc文档格式下载到电脑,方便收藏和打印;

3. 下载后的文档,内容与下面显示的完全一致,下载之前请确认下面内容是否您想要的,是否完整.

点击下载文档

C语言中的预定义函数有哪些?.doc

《C语言中的预定义函数有哪些?》

在C语言编程中,预定义函数(或称为标准库函数)是开发者无需手动实现即可直接调用的核心工具。这些函数由C标准库提供,覆盖了输入输出、字符串处理、数学运算、内存管理、时间日期等基础功能。掌握预定义函数不仅能显著提升开发效率,还能避免重复造轮子。本文将系统梳理C语言中常用的预定义函数分类、使用场景及代码示例,帮助读者构建完整的函数知识体系。

一、标准输入输出函数(stdio.h)

标准输入输出库(stdio.h)是C语言最基础的库之一,提供了控制台输入输出的核心函数。

1. 格式化输入输出

printf()scanf() 是最常用的格式化函数,支持多种数据类型的输出和输入。

#include 
int main() {
    int age;
    float height;
    printf("请输入年龄和身高(用空格分隔):");
    scanf("%d %f", &age, &height);
    printf("年龄:%d岁,身高:%.2f米\n", age, height);
    return 0;
}

格式说明符:

  • %d:十进制整数
  • %f:浮点数
  • %c:单个字符
  • %s:字符串
  • %p:指针地址

2. 单字符输入输出

getchar()putchar() 用于单字符的输入输出,常用于简单交互场景。

#include 
int main() {
    char ch;
    printf("输入一个字符:");
    ch = getchar();
    putchar('你输入的是:');
    putchar(ch);
    putchar('\n');
    return 0;
}

3. 字符串输入输出

gets()puts() 用于字符串的输入输出(注意:gets() 因安全性问题已被弃用,推荐使用 fgets())。

#include 
int main() {
    char str[100];
    printf("输入一行文本:");
    fgets(str, sizeof(str), stdin); // 安全替代方案
    printf("输出文本:");
    puts(str);
    return 0;
}

二、字符串处理函数(string.h)

字符串处理是C语言编程中的高频操作,string.h 提供了丰富的字符串操作函数。

1. 字符串长度与复制

strlen() 计算字符串长度(不含终止符),strcpy()strncpy() 实现字符串复制。

#include 
#include 
int main() {
    char src[] = "Hello";
    char dest[20];
    printf("源字符串长度:%zu\n", strlen(src));
    strcpy(dest, src);
    printf("复制后:%s\n", dest);
    return 0;
}

2. 字符串连接与比较

strcat() 连接字符串,strcmp() 比较字符串(返回0表示相等)。

#include 
#include 
int main() {
    char str1[20] = "Hello";
    char str2[] = " World";
    strcat(str1, str2);
    printf("连接后:%s\n", str1);
    if (strcmp(str1, "Hello World") == 0) {
        printf("字符串相等\n");
    }
    return 0;
}

3. 字符串查找与分割

strchr() 查找字符首次出现位置,strstr() 查找子串。

#include 
#include 
int main() {
    char str[] = "example.com";
    char *ptr = strchr(str, '.');
    if (ptr) {
        printf("域名后缀位置:%ld\n", ptr - str);
    }
    ptr = strstr(str, "amp");
    if (ptr) {
        printf("找到子串:%s\n", ptr);
    }
    return 0;
}

三、数学函数(math.h)

数学库(math.h)提供了丰富的数学运算函数,包括三角函数、指数对数、幂运算等。

1. 基础数学运算

sqrt() 计算平方根,pow() 计算幂次,fabs() 计算绝对值。

#include 
#include 
int main() {
    double x = 16.0;
    printf("平方根:%.2f\n", sqrt(x));
    printf("2的5次方:%.2f\n", pow(2, 5));
    printf("-3.5的绝对值:%.2f\n", fabs(-3.5));
    return 0;
}

2. 三角函数

sin()cos()tan() 分别计算正弦、余弦、正切值(参数为弧度)。

#include 
#include 
#define PI 3.1415926
int main() {
    double angle = 30.0 * PI / 180.0; // 转换为弧度
    printf("sin(30°):%.2f\n", sin(angle));
    printf("cos(30°):%.2f\n", cos(angle));
    return 0;
}

3. 随机数生成

rand() 生成伪随机数,srand() 初始化随机数种子。

#include 
#include 
#include 
int main() {
    srand(time(NULL)); // 用当前时间初始化种子
    for (int i = 0; i 

四、内存管理函数(stdlib.h)

内存管理是C语言的核心特性之一,stdlib.h 提供了动态内存分配和释放的函数。

1. 动态内存分配

malloc() 分配未初始化的内存,calloc() 分配并初始化为0,realloc() 调整已分配内存大小。

#include 
#include 
int main() {
    int *arr = (int*)malloc(5 * sizeof(int));
    if (arr == NULL) {
        printf("内存分配失败\n");
        return 1;
    }
    for (int i = 0; i 

2. 内存释放

free() 释放动态分配的内存,避免内存泄漏。

#include 
#include 
int main() {
    char *str = (char*)malloc(20 * sizeof(char));
    if (str == NULL) {
        printf("内存分配失败\n");
        return 1;
    }
    strcpy(str, "Hello, Dynamic Memory!");
    printf("%s\n", str);
    free(str); // 必须释放
    return 0;
}

五、时间日期函数(time.h)

时间日期函数用于获取和处理系统时间,常用于日志记录、性能统计等场景。

1. 获取当前时间

time() 获取当前时间戳,localtime() 转换为本地时间结构体。

#include 
#include 
int main() {
    time_t rawtime;
    struct tm *timeinfo;
    time(&rawtime);
    timeinfo = localtime(&rawtime);
    printf("当前时间:%s", asctime(timeinfo));
    return 0;
}

2. 格式化时间输出

strftime() 自定义时间格式输出。

#include 
#include 
int main() {
    time_t rawtime;
    struct tm *timeinfo;
    char buffer[80];
    time(&rawtime);
    timeinfo = localtime(&rawtime);
    strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", timeinfo);
    printf("格式化时间:%s\n", buffer);
    return 0;
}

六、文件操作函数(stdio.h)

文件操作是C语言处理外部数据的基础,stdio.h 提供了完整的文件读写函数。

1. 文件打开与关闭

fopen() 打开文件,fclose() 关闭文件。

#include 
int main() {
    FILE *fp = fopen("test.txt", "w");
    if (fp == NULL) {
        printf("文件打开失败\n");
        return 1;
    }
    fprintf(fp, "这是写入文件的内容\n");
    fclose(fp);
    return 0;
}

2. 文件读写操作

fread()fwrite() 用于二进制文件读写,fgets()fputs() 用于文本文件读写。

#include 
int main() {
    // 写入文件
    FILE *fp_write = fopen("data.bin", "wb");
    if (fp_write == NULL) {
        printf("写入文件打开失败\n");
        return 1;
    }
    int data[] = {1, 2, 3, 4, 5};
    fwrite(data, sizeof(int), 5, fp_write);
    fclose(fp_write);
    // 读取文件
    FILE *fp_read = fopen("data.bin", "rb");
    if (fp_read == NULL) {
        printf("读取文件打开失败\n");
        return 1;
    }
    int read_data[5];
    fread(read_data, sizeof(int), 5, fp_read);
    for (int i = 0; i 

七、进程控制函数(stdlib.h)

进程控制函数用于程序终止、环境变量访问等系统级操作。

1. 程序终止

exit() 正常终止程序,abort() 异常终止程序。

#include 
#include 
int main() {
    printf("程序开始\n");
    if (1) { // 模拟条件
        printf("正常退出\n");
        exit(0); // 返回0表示成功
    }
    printf("这行不会执行\n");
    return 0;
}

2. 环境变量访问

getenv() 获取环境变量值。

#include 
#include 
int main() {
    char *path = getenv("PATH");
    if (path != NULL) {
        printf("PATH环境变量:%s\n", path);
    } else {
        printf("未找到PATH环境变量\n");
    }
    return 0;
}

八、其他常用函数

1. 类型转换函数

atoi() 将字符串转换为整数,atof() 将字符串转换为浮点数。

#include 
#include 
int main() {
    char str_int[] = "123";
    char str_float[] = "3.14";
    int num = atoi(str_int);
    double fnum = atof(str_float);
    printf("整数:%d\n", num);
    printf("浮点数:%.2f\n", fnum);
    return 0;
}

2. 排序与搜索函数

qsort() 快速排序,bsearch() 二分查找(需配合比较函数)。

#include 
#include 
int compare(const void *a, const void *b) {
    return (*(int*)a - *(int*)b);
}
int main() {
    int arr[] = {5, 2, 8, 1, 9};
    int n = sizeof(arr) / sizeof(arr[0]);
    qsort(arr, n, sizeof(int), compare);
    printf("排序后:");
    for (int i = 0; i 

九、总结与最佳实践

C语言的预定义函数覆盖了编程的各个方面,合理使用这些函数能显著提升开发效率。在实际开发中,应注意以下几点:

  1. 包含正确的头文件(如stdio.h、math.h等)
  2. 检查函数返回值(如文件操作、内存分配)
  3. 避免使用已弃用的函数(如gets())
  4. 注意内存管理(及时释放动态分配的内存)
  5. 理解函数的参数和返回值类型

通过系统学习和实践这些预定义函数,开发者可以更高效地完成C语言编程任务,同时为后续学习更复杂的编程概念打下坚实基础。

关键词:C语言预定义函数、stdio.h、string.h、math.h、stdlib.h、time.h、输入输出、字符串处理、数学运算、内存管理、时间日期、文件操作、进程控制

简介:本文全面梳理了C语言中的预定义函数,涵盖标准输入输出、字符串处理、数学运算、内存管理、时间日期、文件操作及进程控制等核心模块。通过代码示例和详细解释,帮助读者掌握常用预定义函数的使用方法,提升C语言编程效率。

《C语言中的预定义函数有哪些?.doc》
将本文以doc文档格式下载到电脑,方便收藏和打印
推荐度:
点击下载文档