C库专题(Day1)
- <assert.h>
C库宏-assert() 定义:#define assert(ignore) ((void)0)
void assert(int experession);
expression -- 这可以是一个变量或任何 C 表达式。如果 expression 为 TRUE,assert() 不执行任何动作。如果expression 为 FALSE,assert() 会在标准错误 stderr 上显示错误消息,并中止程序执行。
- <ctype.h>
| 函数 | 描述 |
| int isalnum(int c) | 检查所传的字符是否是字母和数字。 |
| int isalpha(int c) | 检查所传的字符是否是字母。 |
| int iscntrl(int c) | 检查所传的字符是否是控制字符。 |
| int isdiqit(int c) | 检查所传的字符是否是十进制数字。 |
| int isgraph(int c) | 检查所传的字符是否有图形表示法。 |
| int islower(int c) | 检查所传的字符是否是小写字母。 |
| int isprint(int c) | 检查所传的字符是否是可打印的。 |
| int ispunct(int c) | 检查所传的字符是否是标点符号字符。 |
| int isspace(int c) | 检查所传的字符是否是空白字符。 |
| int isupper(int c) | 检查所传的字符是否是大写字母。 |
| int isxdigit(int c) | 检查所传的字符是否是十六进制数字。 |
转换函数
int tolower(int c),int toupper(int c)
- <errno.h>
C 标准库的 errno.h 头文件定义了整数变量 errno,它是通过系统调用设置的,在错误事件中的某些库函数表明了什么发生了错误。该宏扩展为类型为 int 的可更改的左值,因此它可以被一个程序读取和修改。
在程序启动时,errno 设置为零,C 标准库中的特定函数修改它的值为一些非零值以表示某些类型的错误。也可以在适当的时候修改它的值或重置为零。
库宏
| 宏 | 描述 |
| extern int errno | 通过系统调用设置的宏,在错误事件中的某些库函数表明了什么发生了错误。 |
| EDOM Domain Error | 表示一个域错误,它在输入参数超出数学函数定义的域时发生,errno 被设置为 EDOM |
| ERANGE Range Error | 表示一个范围错误,它在输入参数超出数学函数定义的范围时发生,errno 被设置为 ERANGE |
- <limits.h>
limits.h 头文件决定了各种变量类型的各种属性。定义在该头文件中的宏限制了各种变量类型(比如 char、int 和 long)的值。
| 宏 | 值 | 描述 |
| CHAR_BIT | 8 | 比特 |
| SCHAR_MIN | -128 | |
| SCHAR_MAX | 127 | |
| UCHAR_MAX | 255 | |
| CHAR_MIN | 0 | 定义类型 char 的最小值,如果 char 表示负值,则它的值等于 SCHAR_MIN,否则等于 0。 |
| CHAR_AMX | 127 | 定义类型 char 的最大值,如果 char 表示负值,则它的值等于 SCHAR_MAX,否则等于 UCHAR_MAX。 |
| MB_LEN_MAX | 1 | 定义多字节字符中的最大字节数。 |
| SHRT_MIN | -32768 | |
| SHRT_MAX | 32767 | |
| USHRT_AMX | 65535 | |
| INT_MIN | -32768 | |
| INT_MAX | 32767 | |
| UINT_MAX | 65535 | |
| LONG_MIN | -2147483648 | |
| LONG_MAX | +2147483647 | |
| ULONG_MAX | 4294967295 |
<math.h>
库宏:HUGE_VAL
描述:
当函数的结果不可以表示为浮点数时。如果是因为结果的幅度太大以致于无法表示,则函数会设置 errno 为 ERANGE 来表示范围错误,并返回一个由宏 HUGE_VAL 或者它的否定(- HUGE_VAL)命名的一个特定的很大的值。如果结果的幅度太小,则会返回零值。在这种情况下,error 可能会被设置为 ERANGE,也有可能不会被设置为 ERANGE。
库函数(常用)(所有都是double型的)
| double exp(double x) 返回e的x次幂的值 |
| double idexp(double x,int *exponent) 返回x乘以2的exponent次幂 |
| double log10(double x) |
| double ceil(double x) 返回大于或等于x的最小的整数值 |
| double floor(double x) 返回小于或等于x的最大整数值 |
| double modef(double x,double *integer) 返回值为小数部分,并设置integer为整数部分 |
| double fmod(double x,double y) 返回x除以y的余数 |
| double pow(double x,double y) 返回x的y次幂 |
C库专题(Day1)的更多相关文章
- UI标签库专题二:JEECG智能开发平台Column(列) 子标签
UI标签库专题二:JEECG智能开发平台Column(列) 子标签 1.1. Column(列) 子标签 1.1.1. 演示样例 <t:dgCol title="年龄" ...
- 【SPL标准库专题(1)】 SPL简介
什么是SPL SPL是Standard PHP Library(PHP标准库)的缩写. 根据官方定义,它是"a collection of interfaces and classes th ...
- 【SPL标准库专题(3)】 Classes
我把SPL分为四个部分:Iterator,Classes,Datastructures,Function:而其中classes是就是做一些类的介绍(Iterator与Datastructures相关的 ...
- UI标签库专题十三:JEECG智能开发平台 ckfinder(ckfinder插件标签)
1. ckfinder(ckfinder插件标签) 1.1. 參数 属性名 类型 描写叙述 是否必须 默认值 name string 属性名称 是 null value string 默认值 否 nu ...
- 【SPL标准库专题(10)】SPL Exceptions
嵌套异常 了解SPL异常之前,我们先了解一下嵌套异常.嵌套异常顾名思义就是异常里面再嵌套异常,一个异常抛出,在catch到以后再抛出异常,这时可以通过Exception基类的getPrevious方法 ...
- 【SPL标准库专题(9)】 Datastructures:SplObjectStorage
PHP SPL SplObjectStorage是用来存储一组对象的,特别是当你需要唯一标识对象的时候. PHP SPL SplObjectStorage类实现了Countable,Iterator, ...
- 【SPL标准库专题(8)】 Datastructures:SplFixedArray
SplFixedArray主要是处理数组相关的主要功能,与普通php array不同的是,它是固定长度的,且以数字为键名的数组,优势就是比普通的数组处理更快. 类摘要 SplFixedArray im ...
- 【SPL标准库专题(7)】 Datastructures:SplHeap & SplMaxHeap & SplMinHeap
堆(Heap)就是为了实现优先队列而设计的一种数据结构,它是通过构造二叉堆(二叉树的一种)实现.根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆.二叉堆还常用于排序(堆排序). 类摘 ...
- 【SPL标准库专题(6)】 Datastructures:SplPriorityQueue
普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头取出.在优先队列中,元素被赋予优先级.当访问元素时,具有最高优先级的元素最先取出.优先队列具有最高级先出 (largest-in,fir ...
随机推荐
- access 2007 vba 开发中学到的知识(二)
文件的导入和导出 excel 'excel导入Private Sub btnInExcel_Click() Dim strSelectFile As StringWith Application.Fi ...
- 关于<%@ include file=" " %>与<jsp:include page=""></jsp:include>中的那些问题?
今天在使用<%@ include file=" " %>指令时,竟然在页面中不让使用?这是怎么回事:问题如下图: 顿时被这个问题给搞到了!!!突然想到在以前的 JSP ...
- centos 安装 vsftp
vsftp是一款在Linux发行版中最受推崇的FTP服务器程序.特点是小巧轻快,安全易用.下面介绍CentOS下安装和简单配置 vsftp 这个服务软件. 在Linux下可以搭建本地YUM库来进行系统 ...
- 05 - 替换vtkDataObject中的Update方法 VTK 6.0 迁移
VTK6 引入了许多不兼容的变.其中之一是删除vtkDataObject中所有有关管道的方法.下面讨论update方法并提供迁移现有代码的建议. Update() vtkDataObject::Upd ...
- HEX和BIN文件的区别
以下的内容是从网上转载来的,原文地址:http://blog.csdn.net/zhangliang_571/article/details/8519469 在这里感谢原作者. 1,是在keil中编 ...
- 关于tcc、tlink的编译链接机制的研究
1.学习过程 在c:\下建立文件夹c,并将编译器tcc.exe.连接器tlink.exe.相关文件c0s.obj.cs.lib.emu.lib.maths.lib放入文件夹中. 要搭建一个简单的C语言 ...
- hdu 4544 湫湫系列故事——消灭兔子
http://acm.hdu.edu.cn/showproblem.php?pid=4544 优先队列+贪心. #include <cstdio> #include <queue&g ...
- Bundle类
1.新建一个Bundle类 Bundle bundle=new Bundle();2.Bundle类中放入数据(key-value的形式,另一个Activity里面取数据的时候,通过key值找出对应的 ...
- python调用shell, shell 引用python
python 调用 shell get_line_num="wc -l as_uniq_info | awk '{print $1}'" ###get the lines of & ...
- java与数据结构(3)---java实现循环链表
循环链表:将单链表中尾结点的指针由空指针改为指向头结点,就使整个单链表形成一个环,这种首尾相接的单链表称为单链表循环表,即循环链表. 循环链表与单链表最重要的区别是:尾结点的指针,不再是p->n ...