6.1 KiB
6.1 KiB
一、标准输入输出函数(<stdio.h>
)
函数 | 功能 | 示例 |
---|---|---|
printf |
格式化输出 | printf("Hello, %s!\n", "World"); |
scanf |
格式化输入 | scanf("%d", &num); |
putchar |
输出单个字符 | putchar('A'); |
getchar |
输入单个字符 | char c = getchar(); |
puts |
输出字符串并换行 | puts("Hello World!"); |
gets |
读取一行字符串 | char str[100]; gets(str); |
fopen |
打开文件 | FILE *fp = fopen("test.txt", "r"); |
fclose |
关闭文件 | fclose(fp); |
fread |
从文件读取数据 | fread(buffer, 1, size, fp); |
fwrite |
向文件写入数据 | fwrite(data, 1, size, fp); |
fprintf |
格式化写入文件 | fprintf(fp, "Value: %d\n", value); |
fscanf |
格式化从文件读取数据 | fscanf(fp, "%d", &value); |
二、字符串处理函数(<string.h>
)
函数 | 功能 | 示例 |
---|---|---|
strlen |
计算字符串长度 | size_t len = strlen("Hello"); |
strcpy |
复制字符串 | strcpy(dest, src); |
strncpy |
复制指定长度字符串 | strncpy(dest, src, 5); |
strcat |
拼接字符串 | strcat(dest, src); |
strncat |
拼接指定长度字符串 | strncat(dest, src, 5); |
strcmp |
比较两个字符串 | strcmp(str1, str2); |
strncmp |
比较指定长度的字符串 | strncmp(str1, str2, 5); |
strchr |
查找字符在字符串中的位置 | char *p = strchr(str, 'a'); |
strstr |
查找子串 | char *p = strstr(str, "test"); |
strtok |
分割字符串 | char *token = strtok(str, ","); |
三、数学函数(<math.h>
)
函数 | 功能 | 示例 |
---|---|---|
abs |
计算整数绝对值 | int value = abs(-10); |
fabs |
计算浮点数绝对值 | double value = fabs(-3.14); |
pow |
计算幂 | double result = pow(2.0, 3.0); // 2^3 |
sqrt |
计算平方根 | double result = sqrt(9.0); |
ceil |
向上取整 | double result = ceil(3.14); // 4.0 |
floor |
向下取整 | double result = floor(3.14); // 3.0 |
round |
四舍五入 | double result = round(3.5); // 4.0 |
sin |
计算正弦值 | double result = sin(M_PI / 2); // 1.0 |
cos |
计算余弦值 | double result = cos(0); // 1.0 |
tan |
计算正切值 | double result = tan(M_PI / 4); // 1.0 |
四、内存操作函数(<string.h>
)
函数 | 功能 | 示例 |
---|---|---|
memset |
设置内存的值 | memset(buffer, 0, sizeof(buffer)); |
memcpy |
内存拷贝 | memcpy(dest, src, n); |
memcmp |
比较内存区域 | memcmp(ptr1, ptr2, n); |
memmove |
内存区域移动 | memmove(dest, src, n); |
五、动态内存管理函数(<stdlib.h>
)
函数 | 功能 | 示例 |
---|---|---|
malloc |
动态分配内存 | int *p = (int *)malloc(10 * sizeof(int)); |
calloc |
动态分配并初始化内存 | int *p = (int *)calloc(10, sizeof(int)); |
realloc |
重新分配内存大小 | p = (int *)realloc(p, 20 * sizeof(int)); |
free |
释放动态分配的内存 | free(p); |
六、时间与日期函数(<time.h>
)
函数 | 功能 | 示例 |
---|---|---|
time |
获取当前时间戳 | time_t t = time(NULL); |
clock |
获取程序运行时间 | clock_t c = clock(); |
difftime |
计算时间差 | double diff = difftime(t1, t2); |
localtime |
转换为本地时间结构 | struct tm *lt = localtime(&t); |
strftime |
格式化时间为字符串 | strftime(buffer, 100, "%Y-%m-%d", lt); |
七、随机数函数(<stdlib.h>
)
函数 | 功能 | 示例 |
---|---|---|
rand |
生成随机数 | int r = rand(); |
srand |
设置随机数种子 | srand((unsigned)time(NULL)); |
八、进程控制函数(<stdlib.h>
)
函数 | 功能 | 示例 |
---|---|---|
exit |
退出程序 | exit(0); |
system |
执行系统命令 | system("dir"); |
九、其他常用函数
函数 | 功能 | 示例 |
---|---|---|
atoi |
字符串转整数 | int num = atoi("123"); |
atof |
字符串转浮点数 | double num = atof("3.14"); |
itoa (非标准) |
整数转字符串 | itoa(123, buffer, 10); |
qsort |
快速排序 | qsort(arr, n, sizeof(int), cmp); |
bsearch |
二分查找 | bsearch(key, arr, n, sizeof(int), cmp); |