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 ...
随机推荐
- MySQL 列子查询及 IN、ANY、SOME 和 ALL 操作符的使用
列子查询是指子查询返回的结果集是 N 行一列,该结果通常来自对表的某个字段查询返回. 一个列子查询的例子如下: SELECT * FROM article WHERE uid IN(SELECT ui ...
- 动态脚本,在js里面又写js
不知道怎么回事 代码测试不过 var a=document.createElement("script"); a.type="text/javascript"; ...
- 百度touch的手势框架,touch.js
今天,随便搜搜看到了一个新的手势库,也许能让我为现在使用者的hammer.js的手势库带来的烦恼而消除. 它是百度团队开发的,现在由百度云Clouda进行维护. 官网 http://touch.c ...
- 【回忆1314】抽奖之Flash大转盘
1.搭建JS与Flash互通的环境 function thisMovie(movieName){ if (window.document[movieName]) { return window.doc ...
- DEDE常见的错误(转)
1:dedecms文章录入的时候,如何控制文章重复. 在dede/article_add.php里面,加入该程序就OK了 if($cfg_check_title == 'Y'){ ...
- MVC4,4月22日,Ninject的另外注入方式。
学习了Ninject另外两种绑定注入的方式: 1.根据属性绑定 先在特殊的实现借口类中定义属性 使用 2.根据构造函数方式绑定 学习了条件绑定方式(conditional bindi ...
- PullToRefreshListView组件的OnItemClickListener中的position下标问题
/** * Pass-through method for {[url=home.php?mod=space&uid=91636]@link[/url] PullToRefreshBase#g ...
- centos6.5+Django+mysql+nginx+uwsgi
centos6.5+Django+mysql+nginx+uwsgi 1.nginx的安装.这里采用nginx-1.6.0, 建立一个shell脚本然后执行. #!/bin/bash nginx_ve ...
- BZOJ1639: [Usaco2007 Mar]Monthly Expense 月度开支
1639: [Usaco2007 Mar]Monthly Expense 月度开支 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 529 Solved: ...
- 嵌入式linux内核制作
今天来总结一下mini2440的内核制作过程. 一. 将内核文件拷贝至目标目录,解压. 二.清除中间文件 命令:make distclean 三.配置内核文件 将开发板厂商制作好的内核文件拷贝至内核文 ...