常用的库函数
- 1.前言
- 2.内容
- 1.toupper()
- 2.tolower()
- 3.sprintf()
- 4.abs()
- 5.fabs()
- 6.labs()
- 7.scanf()
- 8.itoa()
- 3.小声bb
- 4.更新日志
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