C语言常用的库函数 (自用)

article/2025/5/19 2:17:16

常用的库函数

  • 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


http://chatgpt.dhexx.cn/article/QwR4QgFy.shtml

相关文章

c语言的库函数

一、标准C库函数(15个) 二、数学函数 用于求幂&#xff0c;计算平方跟&#xff0c;求绝对值。#include <math.h>绝对值函数用于表达式的结构转换为非负函数 int x-3; printf("|%d|%d\n",x,abs(x)); 三、字符串处理函数 四、字符处理函数 五、转换函数和存储管…

MySQL 远程访问失败的原因及解决方案

文章目录 1、失败的原因1.1、 /etc/mysql/my.cnf文件中bind-address 127.0.0.1没有注释掉1.2、 端口3306没有开放&#xff0c;使用 ss -tlnp 命令查看网络端口开启状态1.3、 在MySQL数据库user表中host字段值为localhost 2、解决方案2.1、/etc/mysql/my.cnf文件中&#xff0c;…

mysql5.7.6允许远程_mysql5.7 设置远程访问

mysql5.7设置远程访问不是和网上说的一样建个用户赋个权限就可以访问的。比如下边这个就是建用户赋权限&#xff0c;可能在之前的版本可以&#xff0c;但是我在我的mysql上一直不行。为此烦了好久&#xff01;&#xff01;&#xff01;项目都耽误了&#xff01;&#xff01; 一…

Mysql远程访问权限

在阅读本文时&#xff0c;推荐先走读完浅谈Mysql权限控制一文。 Mysql启动默认的端口3306是打开的&#xff0c;此时打开了mysqld的网络监听&#xff0c;允许用户远程通过账号密码连接本地数据库&#xff0c;Mysql数据库默认是允许远程用户连接服务器的。 那么&#xff0c;为什…

Mysql远程访问限制ip

一、Mysql允许指定IP远程访问 1、登录mysql -u root -p 之后输入密码进行登陆 2、查看用户表 首先要先指定使用mysql数据库&#xff0c;然后再进行查询操作//进入mysql数据库 mysql> use mysqlmyql> select Host,User from user;下面的列表就是查询user表后可以访问…

CentOS7 开启mysql远程访问

一.开启mysql的远程访问权限 可以先查看下表的内容 1.用mysql自带的客户端连接mysql mysql mysql -uroot -p 输入root用户的密码 进入mysql命令行模式 mysql >select user,host from mysql.user; 2.如果要直接使用root用户远程连接,直接执行以下sql 方法一: mysql>upda…

MySQL设置远程访问权限

当我们在日常开发中&#xff1b;需要连接其他同事的数据库或者其他服务器的数据库&#xff1b;可能会出现以下情况 我们输入的用户和密码都正确&#xff1b;但是提示我们用户没有权限&#xff1b;这个用户指的是远程连接的电脑ip没有访问权限&#xff1b;不是mysql的用户没有权…

Mysql允许远程访问

目录 远程访问条件配置1、配置绑定地址2、授权用户改表授权 远程访问条件 mysql允许远程访问有两个必要条件 外部能访问到mysql开启的端口用户有权限访问 配置 1、配置绑定地址 mysql配置绑定的地址是127.0.0.1&#xff0c;只允许本机连接。为使其他主机可以访问mysql服务…

授权MySQL可以远程访问

MySql-Server 出于安全方面考虑默认只允许本机(localhost, 127.0.0.1)来连接访问.要实现远程访问必须给root修改可以远程访问的权限。 授权步骤&#xff1a; 1.进入数据库连接mysql -u root -p&#xff1b; use mysql&#xff1b; 2.查询用户表命令&#xff1a;select User,au…

配置MySQL远程访问

如果通过数据库客户端Navicat等 远程连接 MySQL&#xff0c;出现了 2003 错误&#xff0c;说明服务器上的数据库没有配置远程连接。 因为MySQL默认是只允许本地连接的。 远程连接MYSQL必须完成下面的配置。 1. 授权远程用户登录 # 在服务器上进入MySQL控制台 $ mysql -u roo…

Ubuntu设置MySQL远程访问

文章目录 一、设置mysql远程访问 -> 第一种方式二、设置mysql远程访问 -> 第二种方式三、Windows上MySQL管理器下载与远程访问使用方法下载与安装使用 一、设置mysql远程访问 -> 第一种方式 编辑mysql配置文件&#xff0c;把其中bind-address 127.0.0.1注释了 sudo…

MySQL远程访问配置

MySQL远程访问配置 1. 进入MySQL安装目录下的bin目录&#xff08;如果配置过环境变量就直接到第二步&#xff09; 2. 在地址栏输入cmd打开命令行窗口&#xff08;如果配置过环境变量直接WinR输入cmd回车即可&#xff09; 3. 输入命令mysql -uroot -p回车&#xff0c;然后输入…

远程访问Mysql

1.远程虚拟机登上mysql客户端&#xff0c;show databases查看有哪些数据库&#xff0c;use mysql进入该数据库 show tables;查看表 select user,host from user;看host属性&#xff0c;root用户只能在本地访问数据库。 更改host, 执行 update user set host% where userroot…

MySQL远程连接的设置

与SQL Server类似&#xff0c;MySQL在需要远程操纵其他电脑时&#xff0c;也需要对其做远程连接的相应设置&#xff0c;具体操作如下。首先&#xff0c;我们需要解决不能远程访问的问题。在控制台命令中输入命令: mysql –uroot –p&#xff08;对应安装软件时设置的密码&#…

mysql远程访问

问题场景&#xff1a; windows局域网内访问mysql数据库 连接失败报10060 原因分析&#xff1a; 查阅了一些资料&#xff0c;问题出现在网络访问上。 mysql远程访问权限 mysql本身设定有访问权限&#xff0c;一般来讲安装的时候如果没有允许远程访问&#xff0c;非localhost…

Docker——四种网络模式解析

Docker四种网络模式解析 网络资源详解——Docker0网卡与四种网络模式Docker0网卡及四种网络模式host模式container模式none模式bridge模式网络模式的使用方法——指定模式和指定ip 网络资源详解——Docker0网卡与四种网络模式 安装完Docker时&#xff0c;会发现系统自动创建了…

Docker容器网络模式

目录 一、Docker网络实现原理 二、Docker的网络模式 1、Host模式 2、Container模式 3、none模式 4、bridger模式 bridge模式原理 5、overlay模式 6、自定义网络模式 为什么要自定义网络模式 创建自定义网络 删除docker网络 创建指定容器的ip 暴露端口 把宿主机文件传…

你应该学会的docker网络模式

学习Docker网络的七种模式 0. 双网卡1. the default Bridge2. User-defined 自定义桥接网络3. the Host3. MacVLAN3. the macVLAN&#xff08;802.1q&#xff09;4. the IPVlan (L2)5. the IPVlan (L3)6. Overlay7. None 0. 双网卡 Host: Linux vm 网卡&#xff1a;NATHost-on…

Docker系列(8) Docker网络(2)-- Docker四种网络模式简介

本篇介绍Docker单机网络的四种模式 Docker网络模式配置说明host模式–nethost容器和宿主机共享Network namespacecontainer模式–netcontainer:NAME_or_ID容器和宿主机共享Network namespacenone模式–netnone容器有独立的Network namespace&#xff0c;但并没有对其进行任何网…

docker 的网络模式

一、docker网络概述 1、docker网络实现的原理 Docker使用Linux桥接&#xff0c;在宿主机虚拟一个Docker容器网桥(docker0)&#xff0c;Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址&#xff0c;称为Container-IP&#xff0c; 同时Docker网桥是 每个容器的…