C语言常用的库函数

1.前言

在刷题过程中,总能看到dl用一些库函数,简化算法,由此萌生慢慢学习整理常用的库函数的想法,本文目前仅为了自用而整理,欢迎指正。

有些函数的学习是在 菜鸟教程 上进行的,网站做的还是挺良心的,附个链接吧(没有打广告!!!)

(整理顺序按学习顺序,后续可能会调整 3.24 )

3.29 : 中间某些函数在实际题目中遇到了,则会整理进去,点击题目链接就可以跳转练习了

2.内容

1.toupper()

头文件:#include <ctype.h>
作用: 将小写字母转换为大写字母
声明: int toupper(int c);
参数:c (要被转换为大写的字母)
返回值:返回值是一个可被隐式转换为char类型的int值
如果c有相应的大写字母,则该函数返回c的大写字母,否则c保持不变。

实例代码:

#include <stdio.h>
#include <ctype.h>   //头文件

int main()
{
    int i = 0;
    char str[] = "hello Woeld!";
    while (str[i])
    {
        putchar(toupper(str[i]));  //逐个输出转换为大写的字母
        i++;
    }
    return 0;
}

2.tolower()

头文件:#include <ctype.h>
作用:将给定的字母转换为小写字母
声明:int tolower(int c);
参数: c (被转换为小写的字母)
返回值: 可被隐式转换为char类型的int值
实例:

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

int main()
{
    int i = 0;
    char str[] = "HEllo,worlD!";

    while (str[i])
    {
        putchar(tolower(str[i]));   //输出小写字母
        i++;
    }
    return 0 ;
}

3.sprintf()

头文件: #include <stdio.h>
作用:将附加参数中的值,格式化输出到字符串中
声明: int sprintf(char * str,const char * fomat,…)

参数:
str:指向字符数组的指针,存储字符串
format: 字符串,包含了将被写入str的文本,还可包含嵌入的format标签,format标签被后面的附加参数中的指定值替换,并按照要求进行格式化

format的标签属性为
%[flags][width][.precision][length]specifier

具体如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

附加参数:根据不同的format字符串,添加一系列附加参数,每个参数包含一个要被插入的值,替换format中的每个%标签,参数的个数应该与%标签个数相同

返回值:如果成功,则返回写入的字符总数(不包括字符串末尾的空字符),如果失败,则返回一个负数

实例代码:

#include <stdio.h>
int main()
{
	char s[20];
	int i;
	for (i = 0; i < 10; i++)  //将0-9转换为字符存到s中
		sprintf(s+i, "%d", i);
	printf("%s", s);
	return 0;
}

在这里插入图片描述

题目链接

4.abs()

头文件: #include <stdlib.h>
作用:求int类型数的绝对值
声明: int abs(int x);
参数: x 要 求绝对值的int型数据
返回值:int 类型, x 的绝对值

实例代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int a;
	do
	{
		scanf("%d", &a);
		printf("%d\n", abs(a));
	} while (a != -1 );
	return 0;
}

在这里插入图片描述

题目链接

5.fabs()

头文件: #include <math.h>
作用:求double 类型数据的绝对值
声明: double fabs(double x);
参数: x 要 求绝对值的double型数据
返回值:double 类型, x 的绝对值

实例代码:

#include <stdio.h>
#include <math.h>
int main()
{
	double x;
	while (scanf("%lf", &x) != EOF)
	{
		double temp = fabs(x);
		printf("%.3lf\n", temp);
	}
	return 0;
}

在这里插入图片描述

6.labs()

头文件: #include <stdlib.h>
作用: 求long int类型数据的绝对值
声明: long int labs(long int x);
参数: long x (长整型数据 x)
返回值: long int 型 x的绝对值

实例代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
	long x;
	while (scanf("%ld", &x) != EOF)
	{
		long temp = labs(x);
		printf("%ld\n", temp);
	}
	return 0;
}

在这里插入图片描述

7.scanf()

头文件: <stdio.h>
**作用:**从标准输入stdin读取格式化输入
声明: int scanf(const char * format,…);
参数: format C字符串,包括下面中的一个或多个 空格字符、非空格字符、format说明符
format 说明符形式为:

[=%[*][width][modifiers]type=]

在这里插入图片描述
在这里插入图片描述
**附加参数:**每个附加参数包括了一个要被插入的值,替换format中的%标签,参数的个数应当与%标签的个数相同
返回值: 函数成功被调用则,返回成功匹配和赋值的个数。如果到达文件末尾或发生错误,则返回 EOF

常用:
1.

#pragma warning(disable:4996)

#include <stdio.h>
int main()
{
	int a;
	char b;
	scanf("%d %c", &a,&b);
	printf("%d %c", a,b);
	return 0;
}

在这里插入图片描述
2.EOF
Ctrl+Z 可以代表文件末尾,下面的程序代表当scanf读到EOF停止从标准输入流读取数据。
在这里插入图片描述

备注说明:
当使用VS对scanf进行安全警告时可以有三种做法
换用scanf_s
②在最前面加上
#define _CRT_SECURE_NO_WARNINGS 1
③在最前面加上
#pragma warning(disable:4996)

8.itoa()

itoa是广泛使用的非标准C语言和C++语言扩展功能。但因为它是一个非标准的C / C++语言功能,因此不能好好的被所有编译器使用

作用 :整数转换成字符串
头文件:< cstdlib >
返回值:指向转换后的字符串的指针
声明: char *itoa (int value, char *str, int base );
//数字 //存储的字符数组或指针 //进制
举例:

#include <stdio.h>
#include <cstdlib>
int main()
{
	int a = 44874545;
	char s[20];
//	char* ss = itoa(a, s, 10);   //C语言
	char* ss = _itoa(a,s,10);   //C++中用_itoa()  表示 将 a转换为 十进制的字符串,存储到字符数组 s中,
	printf("%s\n%s", s,ss);
	return 0;
}

在这里插入图片描述

3.小声bb

整理了一些常用的函数,有时候由于疏忽可能会犯错误,欢迎指正~~

4.更新日志

2022.3.28 开始整理
2022.3.28 整理至6
2022.4.3 整理至7

  • 32
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值