C语言中常用的库函数类型

本文介绍了C语言中的一些常见库函数,包括数学库的fabs和pow函数,用于计算绝对值和指数;字符库的isalpha函数,用于判断字符是否为字母,以及strcmp函数,用于比较字符串;文件库的fopen,fprintf和fclose函数,涉及文件的打开、写入和关闭;系统库的system函数,用于执行系统命令,以及malloc函数,进行内存分配;最后是时间库的time和strftime函数,用于获取和格式化时间。
摘要由CSDN通过智能技术生成

一、数学库函数

1. fabs(x):求一个数的绝对值。参数x为浮点型,返回值也为浮点型。

示例代码:

#include <stdio.h>
#include <math.h>

int main() {
   double x = -123.45;
   double y = fabs(x);
   printf("x的绝对值为%.2lf\n", y);
   return 0;
}

输出结果:
x的绝对值为123.45

2. pow(x, y):求x的y次方。参数x、y均为浮点型,返回值也为浮点型。示例代码:
 

#include <stdio.h>
#include <math.h>

int main() {
   double x = 2.0;
   double y = 3.0;
   double z = pow(x, y);
   printf("%.2lf的%.2lf次方为%.2lf\n", x, y, z);
   return 0;
}

输出结果:
”2.00的3.00次方为8.00“

二、字符库函数

1. isalpha(ch):判断一个字符是否为字母。参数ch为字符,返回值为整型。当返回值非0时,表明ch是字母字符。注意,该函数只判断一个字符是否为字母,不会考虑字符的大小写。

示例代码:

#include <stdio.h>
#include <ctype.h>

int main() {
   char ch = 'A';
   if (isalpha(ch)) {
      printf("%c是字母字符\n", ch);
   }
   else {
      printf("%c不是字母字符\n", ch);
   }
   return 0;
}

输出结果:
A是字母字符

2. strcmp(s1, s2):比较两个字符串的大小。参数s1、s2为两个字符串(char类型数组),返回值为整型。当返回值小于0时,表明s1比s2小;当返回值等于0时,表明s1等于s2;当返回值大于0时,表明s1比s2大。

示例代码:

#include <stdio.h>
#include <string.h>

int main() {
   char s1[] = "Hello";
   char s2[] = "Hello, world!";
   int result = strcmp(s1, s2);
   if (result < 0) {
      printf("%s 比 %s 小\n", s1, s2);
   }
   else if (result == 0) {
      printf("%s 与 %s 相等\n", s1, s2);
   }
   else {
      printf("%s 比 %s 大\n", s1, s2);
   }
   return 0;
}

输出结果:
”Hello 比 Hello, world! 小“

三、文件库函数

1. fopen(filename, mode):打开一个文件并返回一个文件指针。参数filename为文件名(char类型),mode为打开文件的模式(char类型)。打开文件的模式包括:

- r:以只读方式打开文件;
- w:以写方式打开文件,若文件不存在,则创建一个文件;
- a:以追加方式打开文件,若文件不存在,则创建一个文件;
- r+:以读写方式打开文件;
- w+:以读写方式打开文件,若文件存在,则会清空文件内容;
- a+:以读写方式打开文件,若文件不存在,则创建一个文件,并可在文件末尾添加内容。

返回值类型为FILE指针类型,表明成功打开文件。

示例代码:

假设当前目录下存在一个名为“example.txt”的文件(内容为空)。

#include <stdio.h>

int main() {
   FILE *fp = fopen("example.txt", "w");
   if (fp != NULL) {
      printf("文件打开成功\n");
      fclose(fp);
   }
   else {
      printf("文件打开失败\n");
   }
   return 0;
}

输出结果:
”文件打开成功“

2. fprintf(fp, format, ...):向指定文件中写入数据。参数fp为文件指针类型,format为写入数据的格式(类似于printf函数),后面可以跟上多个数据。返回值为写入的字符数(整型)。

示例代码:

假设当前目录下存在一个名为“example.txt”的文件(内容为空)。

#include <stdio.h>

int main() {
   FILE *fp = fopen("example.txt", "w");
   if (fp != NULL) {
      char str[] = "Hello, world!";
      int count = fprintf(fp, "%s", str);
      printf("成功向文件中写入%d个字符\n", count);
      fclose(fp);
   }
   else {
      printf("文件打开失败\n");
   }
   return 0;
}

输出结果:
"成功向文件中写入13个字符"

4. fclose(fp):关闭一个打开的文件。参数fp为文件指针类型。示例代码:
 

#include <stdio.h>

int main() {
   FILE *fp = fopen("example.txt", "r");
   if (fp != NULL) {
      printf("文件打开成功\n");
      fclose(fp);
      printf("文件关闭成功\n");
   }
   else {
      printf("文件打开失败\n");
   }
   return 0;
}

输出结果:
"文件打开成功"
'”文件关闭成功"

四、系统库函数

1. system(command):执行一个系统命令。参数command为一个字符串,可以是任意的系统命令。返回值为执行命令的返回值(整型)。示例代码:
 

#include <stdio.h>
#include <stdlib.h>

int main() {
   int result = system("date");
   printf("执行命令的返回值为:%d\n", result);
   return 0;
}

输出结果:
"执行命令的返回值为:0"

2. malloc(size):分配一块指定大小的内存空间。参数size为所需空间的大小(单位为字节),返回值为指向该空间的指针(void类型)。示例代码:
 

#include <stdio.h>
#include <stdlib.h>

int main() {
   int size = 10;
   int *ptr = (int *)malloc(size * sizeof(int));
   if (ptr != NULL) {
      printf("成功分配%d个整型变量所需的内存空间\n", size);
      free(ptr);
   }
   else {
      printf("内存分配失败\n");
   }
   return 0;
}

输出结果:
"成功分配10个整型变量所需的内存空间"

五、时间库函数

1. time(t):获取当前系统时间。参数t为time_t类型的指针,用于存储所获取的系统时间(单位为秒)。返回值为所获取的系统时间。示例代码:
 

#include <stdio.h>
#include <time.h>

int main() {
   time_t t;
   time(&t);
   printf("当前时间为:%s", ctime(&t));
   return 0;
}

输出结果:

"当前时间为:Tue May 11 09:36:18 2023"

2. strftime(str, size, format, t):将时间格式化为指定格式的字符串。参数str为存储格式化后字符串的数组,size为数组大小,format为格式化字符串的格式(类似于printf函数),t为需要格式化的时间(time_t类型)。返回值为存储到数组中的字符数(整型)。示例代码:
 

#include <stdio.h>
#include <time.h>

int main() {
   char str[100];
   time_t t;
   time(&t);
   strftime(str, 100, "当前时间为:%Y-%m-%d %H:%M:%S\n", localtime(&t));
   printf("%s", str);
   return 0;
}

输出结果:
"当前时间为:2023-05-11 09:44:18"

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不懂c语言的小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值