总结 <stdlib.h>头文件 在算法中可能会用到的一些函数

头文件<stdlib.>具有一定的总结性。

它定义了类型、宏和各种函数,这些函数用于:内存管理、排序和查找、整形运算、字符串到数字的转换、伪随机数序列、与环境的接口、把多字节字符串和字符转换成宽字符表示或反之。

竞赛可能会用到的:

1.字符串转换函数:

atof();  把字符串转换成浮点数

atoi(); 将字符串转换成整型数, atoi()会扫描参数字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时(‘\0‘)才结束转化,并将结果返回(返回    转 换后的整型数)。

atol(); 把字符串转换成长整型数

//以下这三个函数的参数比较复杂,上面三个函数只需要把参数字符串传进去就可以了(建议使用使用三个函数)

strtod(); (将字符串转换成浮点数)

strtol();  函数会将参数字符串根据参数base来转换成长整型数

strtoul(); (将字符串转换成无符号长整形数)

2.随机数函数:

rand函数:返回下一个非随机数

srand函数:“生成”伪随机数的顺序

3.查找和分类

bsearch();

qsort();

4.整型数函数

1. abs(); 求整数的绝对值

2. labs(); 返回长整形数的绝对值

3.div(); 将两个整数相除, 返回商和余数

             这样用:

div_t x;
x = div(10,3);
    printf("10 div 3 = %d remainder %d\n", x.quot, x.rem);   //输出3 ---余--- 1
时间: 2024-08-03 01:12:00

总结 <stdlib.h>头文件 在算法中可能会用到的一些函数的相关文章

C++中 &lt;iso646.h&gt;头文件

1 #include<iostream> 2 #include<iso646.h> 3 using namespace std; 4 int main(){ 5 int i = 5,j = 6,k=7; 6 if(i<j and j<k)cout<<"i<j and j<k"<<endl; 7 if(i<j or j<k)cout<<"i<j or j<k"&

leetCode(55):Minimum Window Substring(limits.h头文件)

Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n). For example, S = "ADOBECODEBANC" T = "ABC" Minimum window is "BANC". Note: If there is no such windo

jni.h头文件详解(二)

一:struct JNINativeInterface_{} 结构体的作用:它有点像我们char字符驱动的 file_ops结构体,它定义各种函数对在(jni.h头文件详解一)中定义的各种数据的操作函数集体. 二:它包含那些针对Java中类和对象的相关操作呢如下图. 三:下面我们讲详细介绍14个部分方法的用法和解析 3.1.版本信息操作函数. 一.GetVersion jint (JNICALL *GetVersion)(JNIEnv *env) --模块信息:该模块主要针对的JNI接口的版本信

jni.h头文件详解二

作者:左少华 博客:http://blog.csdn.net/shaohuazuo/article/details/42932813 转载请注明出处:http://blog.csdn.net/shaohuazuo 一:struct JNINativeInterface_{} 结构体的作用:它有点像我们char字符驱动的 file_ops结构体,它定义各种函数对在(jni.h头文件详解一)中定义的各种数据的操作函数集体. 二:它包含那些针对Java中类和对象的相关操作呢如下图. 三:下面我们讲详细

include包含头文件的语句中,双引号和尖括号的区别

include包含头文件的语句中,双引号和尖括号的区别 #include <>格式:引用标准库头文件,编译器从标准库目录开始搜索 #incluce ""格式:引用非标准库的头文件,编译器从用户的工作目录开始搜索 预处理器发现 #include 指令后,就会寻找后跟的文件名并把这个文件的内容包含到当前文件中.被包含文件中的文本将替换源代码文件中的#include指令,就像你把被包含文件中的全部内容键入到源文件中的这个位置一样. #include 指令有两种使用形式 #incl

[转]C/C++关于string.h头文件和string类

学习C语言时,用字符串的函数例如stpcpy().strcat().strcmp()等,要包含头文件string.h 学习C++后,C++有字符串的标准类string,string类也有很多方法,用string类时要用到string.h头文件. 我现在看vc的书上也有CString类,这个要包含什么,怎么用? 我现在很迷惑,这两个 string.h有什么区别.是怎么回事 且看一: 这两个一个是标准C库的,定义了一些字符串的处理函数.一个是标准C++库的,定义了标准C++的std::string类

hpp头文件与h头文件的区别

hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再将cpp加入到project中进行编译.而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用hpp将大幅度减少调用 project中的cpp文件数与编译次数,也不用再发布烦人的lib与dll,因此非常适合用来编写公用的开源库. hpp的优点不少,但是编写中有以下几点要注意: 1.是Header   Plus   Plus 的简写. 2.

.h头文件、 .lib库文件、 .dll动态链接库文件之间的关系(转)

h头文件作用:声明函数接口 dll动态链接库作用:含有函数的可执行代码 lib库有两种: (1)静态链接库(Static Libary,以下简称“静态库”) (2)动态连接库(DLL,以下简称“动态库”)的导入库(Import Libary,以下简称“导入库”) 两者的区别: 实质是不一样的东西. 静态库本身就包含了实际执行代码.符号表等等,而对于导入库而言,其实际的执行代码位于动态库中,导入库只包含了地址符号表等,确保程序找到对应函数的一些基本地址信息. 如:当我们在自己的程序中引用了一个h头

types.h头文件学习

types.h头文件纵观,就可以看出是对一些数据类型的重命名或者是定义,以及对DMA通用地址的定义以及其64为的特性.下面是types.h头文件的源代码,主要的学习内容都在注释当中. #ifndef _I386_TYPES_H #define _I386_TYPES_H #ifndef __ASSEMBLY__ /** * 纵观这个头文件,发现该头文件主要是用来给 * 定义类型以及给类型重新命名的 */ //将unsigned short 重命名为 umode_t typedef unsigne