C基础-标准库上

下:http://t.csdnimg.cn/LXa0J

C 标准库是一组 C 内置函数、常量和头文件,比如 <stdio.h>、<stdlib.h>、<math.h>,等等。

目录

一. assert.h

二. ctype.h

三. errno.h

四. float.h

五.limits.h

六. locale.h


一. assert.h

源码截图

用法

在程序运行时它计算括号内的表达式,如果成立则继续执行后面的语句,如果不成立,则报告错误,并终止执行.

ps: asert只有在Debug版本有效

二. ctype.h

主要用于检查字符的类型(如字母、数字、空白字符等)以及进行字符大小写转换。

详解
isalnum        检查 ch 是否为字母或数字
isalpha         检查 ch 是否为字母
isblank         (C++11 only)    检查 ch 是否为’\t’ 或 ’ ’
iscntrl           检查 ch 是否为控制字符( ASCII值在 0 ~ 31)
isdigit            检查 ch 是否为数字( ‘0’ ~ ‘9’ )
isgraph         检查 ch 是否为可显示字符,不包括空格
islower          检查 ch 是否为小写字母(‘a’ ~ ‘z’)
isprint            检查 ch 是否为可打印字符,包括空格
ispunct          检查 ch 是否为标点字符,即除字母,数字和空格以外的所有可打印字符
isspace         检查 ch 是否为 ’ ', ‘\t’, ‘\n’, ‘\v’, ‘\f’, ‘\r’
isupper          检查 ch 是否为大写字母(‘A’ ~ ‘Z’)
isxdigit           检查 ch 是否为一个 16 进制的数学字符(即 ‘0’ ~ ‘9’ 或 ‘A’ ~ ‘F’ 或 ‘a’ - ‘f’)
tolower          将 ch 字符转换成小写字母
toupper          将 ch 字符转换成大写字母

源码截图

例子

代码

#include <stdio.h>#include <ctype.h>int main()
{char  NumChar[] = "A,B,3 \n";//判断是否为数字或字母printf("是否为数字或字母 %d \n", isalnum(NumChar[0]));//判断是否为字母printf("是否为字母 %d \n", isalpha(NumChar[4]));//大写字母转换为小写字母printf("大写字母转换为小写字母 %c \n", tolower(NumChar[0]));
}

三. errno.h

提供了一种在程序中报告和处理错误的机制。

常用错误码:

  • EPERM:操作不允许
  • ENOENT:没有这样的文件或目录
  • ESRCH:没有这样的进程
  • EINTR:中断的系统调用
  • EIO:输入/输出错误
  • ENXIO:没有这样的设备或地址
  • E2BIG:参数列表太长
  • ENOMEM:内存不足
  • EACCES:权限被拒绝
  • EFAULT:坏的地址
  • EBUSY:资源忙
  • EEXIST:文件已存在
  • EXDEV:跨设备链接
  • ENODEV:没有这样的设备
  • ENOTDIR:不是一个目录
  • EISDIR:是一个目录
  • EINVAL:无效的参数
  • ENFILE:系统文件表溢出
  • EMFILE:打开的文件过多
  • ENOTTY:不是终端设备
  • ETXTBSY:文本文件忙
  • EFBIG:文件过大
  • ENOSPC:设备上没有空间
  • ESPIPE:非法的寻址
  • EROFS:只读文件系统
  • EMLINK:链接过多
  • EPIPE:管道破裂

源码截图

用法截图:

代码

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <errno.h>
#include <string.h>int main() {FILE* file = fopen("test11.txt", "r");if (file == NULL) {printf("文件为空,错误原因: %s\n", strerror(errno));return 1;}// 文件处理代码fclose(file);return 0;
}

四. float.h

包含了一组与浮点值相关的依赖于平台的常量。

库宏描述:

描述
FLT_ROUNDS定义浮点加法的舍入模式,它可以是下列任何一个值:
  • -1 - 无法确定

  • 0 - 趋向于零

  • 1 - 去最近的值

  • 2 - 趋向于正无穷

  • 3 - 趋向于负无穷

FLT_RADIX 2这个宏定义了指数表示的基数。基数 2 表示二进制,基数 10 表示十进制,基数 16 表示十六进制。

FLT_MANT_DIG

DBL_MANT_DIG

LDBL_MANT_DIG

这些宏定义了 FLT_RADIX 基数中的位数。

FLT_DIG 6

DBL_DIG 10

LDBL_DIG 10

这些宏定义了舍入后不会改变表示的十进制数字的最大值(基数 10)。

FLT_MIN_EXP

DBL_MIN_EXP

LDBL_MIN_EXP

这些宏定义了基数为 FLT_RADIX 时的指数的最小负整数值。

FLT_MIN_10_EXP -37

DBL_MIN_10_EXP -37

LDBL_MIN_10_EXP -37

这些宏定义了基数为 10 时的指数的最小负整数值。

FLT_MAX_EXP

DBL_MAX_EXP

LDBL_MAX_EXP

这些宏定义了基数为 FLT_RADIX 时的指数的最大整数值。

FLT_MAX_10_EXP +37

DBL_MAX_10_EXP +37

LDBL_MAX_10_EXP +37

这些宏定义了基数为 10 时的指数的最大整数值。

FLT_MAX 1E+37

DBL_MAX 1E+37

LDBL_MAX 1E+37

这些宏定义最大的有限浮点值。

FLT_EPSILON 1E-5

DBL_EPSILON 1E-9

LDBL_EPSILON 1E-9

这些宏定义了可表示的最小有效数字。

FLT_MIN 1E-37

DBL_MIN 1E-37

LDBL_MIN 1E-37

这些宏定义了最小的浮点值。

源码截图

例子:

源码:

#include <stdio.h>
#include <float.h>int main()
{printf("浮点数能表示的最大值。 = %.10e\n", FLT_MAX);printf("浮点数的最小值 = %.10e\n", FLT_MIN);printf("数字中数位的数量 = %.10e\n", FLT_MANT_DIG);
}

五.limits.h

定义了各种数据类型的限制;

库宏描述:

描述
字符类型
CHAR_BITchar 类型的位数通常为 8
CHAR_MINchar 类型的最小值(有符号或无符号)-128 或 0
CHAR_MAXchar 类型的最大值(有符号或无符号)127 或 255
SCHAR_MINsigned char 类型的最小值-128
SCHAR_MAXsigned char 类型的最大值127
UCHAR_MAXunsigned char 类型的最大值255
短整数类型
SHRT_MINshort 类型的最小值-32768
SHRT_MAXshort 类型的最大值32767
USHRT_MAXunsigned short 类型的最大值65535
整数类型
INT_MINint 类型的最小值-2147483648
INT_MAXint 类型的最大值2147483647
UINT_MAXunsigned int 类型的最大值4294967295
长整数类型
LONG_MINlong 类型的最小值-9223372036854775808L
LONG_MAXlong 类型的最大值9223372036854775807L
ULONG_MAXunsigned long 类型的最大值18446744073709551615UL
长长整数类型
LLONG_MINlong long 类型的最小值-9223372036854775808LL
LLONG_MAXlong long 类型的最大值9223372036854775807LL
ULLONG_MAXunsigned long long 类型的最大值18446744073709551615ULL

源码截图:

例子:

源码:

#include <stdio.h>
#include <limits.h>int main() {printf("字符类型:\n");printf("CHAR_BIT: %d\n", CHAR_BIT);printf("CHAR_MIN: %d\n", CHAR_MIN);printf("CHAR_MAX: %d\n", CHAR_MAX);printf("SCHAR_MIN: %d\n", SCHAR_MIN);printf("SCHAR_MAX: %d\n", SCHAR_MAX);printf("UCHAR_MAX: %u\n", UCHAR_MAX);return 0;
}

六. locale.h

用于支持程序的国际化和本地化。

库宏描述:

序号宏 & 描述
1LC_ALL
用于设置或查询所有本地化类别。
2LC_COLLATE
用于设置或查询字符串比较的本地化信息。
3LC_CTYPE
用于设置或查询字符处理的本地化信息。
4LC_MONETARY
用于设置或查询货币格式的本地化信息。
5LC_NUMERIC
用于设置或查询数字格式的本地化信息(例如小数点的符号)。
6LC_TIME
用于设置或查询时间格式的本地化信息。
7locale_t
表示区域设置信息的类型。

源码截图:

例子:

源码

#include <stdio.h>
#include <locale.h>int main() {// 设置本地化信息为用户环境变量中的默认设置setlocale(LC_ALL, "");// 获取和打印当前的本地化信息printf("Current locale for LC_ALL: %s\n", setlocale(LC_ALL, NULL));   //Chinese (Simplified)_China.936return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/339663.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于梯度提升树回归模型的房地产价格估计

目录 1. 作者介绍2. 梯度提升树回归算法介绍2.1 算法原理2.2 算法讲解与分析 3. 实验过程3.1 数据集介绍3.2 代码介绍3.3 完整代码实现3.4 测试结果 参考文献 1. 作者介绍 雷强&#xff0c;男&#xff0c;西安工程大学电子信息学院&#xff0c;2023级研究生 研究方向&#xff…

论文精读--Swin Transformer

想让ViT像CNN一样分成几个block&#xff0c;做层级式的特征提取&#xff0c;从而使提取出的特征有多尺度的概念 Abstract This paper presents a new vision Transformer, called Swin Transformer, that capably serves as a general-purpose backbone for computer vision. …

对人脸图像进行性别和年龄的判断

判断性别和年龄 导入必要的库加载预训练的人脸检测模型加载预训练的性别和年龄识别模型定义性别和年龄的标签列表创建Tkinter窗口&#xff1a;定义选择图片的函数&#xff1a;创建一个按钮&#xff0c;用于打开文件选择对话框定义显示图片的函数创建预测性别和年龄的函数创建预…

vue2 bug求助!!!(未解决,大概是浏览器缓存的问题或者是路由的问题)

我的vue2项目出现了一个超级恶心的bug 过程&#xff1a; 1 操作流程&#xff1a;页面a点击a标签->到页面b->页面b用户退出刷新页面->点击浏览器的返回按钮返回上一页 2 结果&#xff1a;返回页面后页面没有刷新导致用户名还显示着&#xff0c;页面没有发生任何变化&a…

基于Pytorch框架的深度学习ShufflenetV2神经网络十七种猴子动物识别分类系统源码

第一步&#xff1a;准备数据 17种猴子动物数据&#xff1a; self.class_indict ["白头卷尾猴", "弥猴", "山魈", "松鼠猴", "叶猴", "银色绒猴", "印度乌叶猴", "疣猴", "侏绒"…

​研学活动方案模板,详细制作步骤!​

研学活动&#xff0c;作为教育实践的重要组成部分&#xff0c;为我们的学生提供了一个广阔的学习平台。在这个平台上&#xff0c;学生们能够将书本上的知识与现实世界紧密联系起来&#xff0c;通过实践探索来培养能力。但对于咱们老师来说&#xff0c;学校组织研学活动要考虑到…

“雪糕刺客”爆改“红薯刺客”,钟薛高给了消费品牌哪些启示?

夏日袭来&#xff0c;一支价格高昂却让人眼前一亮的雪糕&#xff0c;曾一度成为市场热议的焦点。然而&#xff0c;随着消费者对性价比的日益关注&#xff0c;曾经的“雪糕刺客”钟薛高&#xff0c;其创始人林盛近期以直播带货红薯开启他的还债之路&#xff0c;高打情怀“直播自…

STM32学习和实践笔记(33):待机唤醒实验

1.STM32待机模式介绍 很多单片机具有低功耗模式&#xff0c;比如MSP430、STM8L等&#xff0c;我们的STM32也不例外。默认情况下&#xff0c;系统复位或上电复位后&#xff0c;微控制器进入运行模式。在运行模式下&#xff0c;HCLK 为CPU提供时钟&#xff0c;并执行程序代码。这…

java配置文件解析yml/xml/properties文件

XML 以mybatis.xml:获取所有Environment中的数据库并连接session为例 import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException;import javax.xml.parsers.DocumentBuilder; impo…

springboot基本使用十一(自定义全局异常处理器)

例如&#xff1a;我们都知道在java中被除数不能为0&#xff0c;为0就会报by zero错误 RestController public class TestController {GetMapping("/ex")public Integer ex(){int a 10 / 0;return a;}} 打印结果&#xff1a; 如何将这个异常进行处理&#xff1f; 创…

2024年06月在线IDE流行度最新排名

点击查看最新在线IDE流行度最新排名&#xff08;每月更新&#xff09; 2024年06月在线IDE流行度最新排名 TOP 在线IDE排名是通过分析在线ide名称在谷歌上被搜索的频率而创建的 在线IDE被搜索的次数越多&#xff0c;人们就会认为它越受欢迎。原始数据来自谷歌Trends 如果您相…

跨越百亿营收的今世缘,全国化进程仍挑战重重?

当前&#xff0c;白酒市场正在经历一场深度调整&#xff0c;随着存量时代到来&#xff0c;白酒品牌地位的更替和竞争格局的重构已经展开。这一背景下&#xff0c;今世缘等地方性酒企也正在凭借对区域市场的深耕&#xff0c;展现出较快的成长速度&#xff0c;并希望能借此占领市…

AI视频下载:ChatGPT数据科学与机器学习课程

ChatGPT是一个基于OpenAI开发的GPT-3.5架构的AI对话代理。作为一种语言模型,ChatGPT能够理解并对各种主题生成类似人类的响应,使其成为聊天机器人开发、客户服务和内容创作的多用途工具。 此外,ChatGPT被设计为高度可扩展和可定制的,允许开发人员对其响应进行微调并将其集成到…

C/C++动态内存管理(new与delete)

目录 1. 一图搞懂C/C的内存分布 2. 存在动态内存分配的原因 3. C语言中的动态内存管理方式 4. C内存管理方式 4.1 new/delete操作内置类型 4.2 new/delete操作自定义类型 1. 一图搞懂C/C的内存分布 说明&#xff1a; 1. 栈区&#xff08;stack&#xff09;&#xff1a;在…

ERV-Net:一种用于脑肿瘤分割的高效3D残差神经网络| 文献速递-深度学习肿瘤自动分割

Title 题目 ERV-Net: An efficient 3D residual neural network for brain tumor segmentation ERV-Net&#xff1a;一种用于脑肿瘤分割的高效3D残差神经网络 01 文献速递介绍 脑肿瘤在全球范围内是致命的&#xff0c;与其他类型的肿瘤相比。胶质瘤是最具侵略性的脑肿瘤类…

【机器学习】深入探索机器学习:利用机器学习探索股票价格预测的新路径

❀机器学习 &#x1f4d2;1. 引言&#x1f4d2;2. 多种机器学习算法的应用&#x1f4d2;3. 机器学习在股票价格预测中的应用现状&#x1f389;数据收集与预处理&#x1f389;模型构建与训练&#x1f308;模型评估与预测&#x1f31e;模型评估&#x1f319;模型预测⭐注意事项 &…

教你本地化部署与使用一款免费的LLM应用工程化平台

随着LLM应用的不断成熟&#xff0c;特别是在B端企业场景中的逐渐落地&#xff0c;其不再停留在原型与验证阶段&#xff0c;将面临着更高的工程化要求&#xff0c;无论是输出的稳定性、性能、以及成本控制等&#xff0c;都需要实现真正的“生产就绪”&#xff1b;但由于大量的应…

剖析【C++】——类和对象(下篇)——超详解——小白篇

目录 1.再谈构造函数 1.1 构造函数体赋值 1.2 初始化列表 1.3 explicit 关键字 2. Static成员 2.1 概念 2.2 特性 3. 友元 3.1 友元函数 3.2 友元类 3.3总结&#xff1a; 4. 内部类 1.概念 2.特性 示例代码&#xff1a; 代码分析 3.总结 5.再次理解类和对象 …

【Java面试】七、SpringMvc的执行流程、SpringBoot自动装配原理

文章目录 1、SpringMVC的执行流程1.1 视图阶段1.2 前后端分离阶段 2、SpringBoot自动配置原理3、框架常用的注解3.1 Spring的注解3.2 SpringMvc的注解3.3 SpringBoot的注解 4、面试 1、SpringMVC的执行流程 1.1 视图阶段 旧项目中&#xff0c;未前后端分离时&#xff0c;用到…

《mysql轻松学习·二》

1、创建数据表 contacts&#xff1a;数据表名 auto_increament&#xff1a;自动增长 primary key&#xff1a;主键 engineInnoDB default charsetutf8; 默认字符集utf8&#xff0c;不写就默认utf8 对数据表的操作&#xff1a; alter table 数据表名 add sex varchar(1); //添…