C++标准函数库_第1页
C++标准函数库_第2页
C++标准函数库_第3页
C++标准函数库_第4页
C++标准函数库_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、常用数学函数头文件 #include <math> 或者 #include <math.h> 函数原型功能备注int abs(int x)求整数x的绝对值long labs(long x)求长整型数x的绝对值double fabs(double x)求实数x的绝对值double sqrt(double x)求的值double pow(double x, double y)求的值double exp(double x)求的值double log(double x)计算In(x)的值double log10(double x)计算的值double sin(double

2、x)计算sin(x)的值double cos(double x)计算cos(x)的值double tan(double x)计算tan(x)的值double asin(double x)计算arsin(x)的值double acos(double x)计算arcos(x)的值double atan(double x)计算arctan(x)的值double sinh(double x)计算x 的双曲正弦函数值double cosh(double x)计算x的双曲余弦值double tanh(double x)x 的双曲正切函数值doub

3、le fmod(double x,double y)求x/y的余数(双精度数),返回值为x-n*y(n为整数商,非四舍五入);与x的符号相同。double ceil(double x)不小于x 的最小整数(返回值为 double型)double floor(double x) 不大于 x 的最大整数(返回值为double型)double modf(double x, double *y)取x的整数部分送到y所指向的单元格中2、常用字符串处理函数头文件 #include <cstring> 或者

4、 #include <string.h>函数原型功能备注char *strcpy(char *p1, const char *p2)将p2所指向的字符串拷贝到p1所指向的存储区中。p1的长度一定要大于p2的实际长度。char *strncpy(char *p1, const char *p2, size_t n)将p2所指向的字符串的前n个字符拷贝到p1所指向的存储区中p1的长度要大于n。char *strcat(char *p1, constchar *p2)将p2所指向的字符串连接到p1所指向的字符串结尾处,覆盖p1结尾处的'0'。p1的长度要足够容纳合并后的整

5、个字符串,包括0。char *strncat(char *p1, const char *p2, size_t n)将p2所指向的字符串的前n个字符连接到p1所指向的字符串结尾处,覆盖p1结尾处的'0'。p1的长度要足够容纳合并后的整个字符串,包括0。int strcmp(const char *p1, const char *p2)比较p1,p2所指向的两个字符串的大小。若p1=p2,则返回零;若p1>p2,则返回正数;若pr1<p2,则返回负数。int strncmp(const char *p1, const char *p2, n)比较p1,p2所指向的两个

6、字符串的前n个字符大小。同上。char *strchr(const char *p,char c)在字符串p中查找字符c首次出现的地址。若p中有c,则返回c在p中首次出现的地址;否则,返回NULL。char *strrchr(char *str, char c) 在字符串p中查找字符c最后一次出现的地址。若p中有c,则返回c在p中最后一次出现的地址;否则,返回NULL。char *strstr(const char *p1, const char *p2)在字符串p1中查找子字符串p2。若p1中包含子字符串p2,则返回p2在p1中首次出现的首地址;否则,返回NULL。char *strlwr(

7、char *p)将字符串p中的大写字母转换为小写字母。只转换p中的大写字母,不改变其他字符。返回指向p的指针。char *strupr(char *p)将字符串p中的小写字母转换为大写字母。只转换p中的小写字母,不改变其他字符。返回指向p的指针。int strlen(const char *p)求p所指向的字符串的长度不包括0。char *strrev(char *p)反转字符串。返回指向p的指针。void *memcpy(void *p1, const void *p2 , n)存储器拷贝,将p2所指向的共n个字节拷贝到p1所指向的存储区中void *memset(void *p, int

8、v, n)p所指向的区域的前n个字节初始化为v值3、常用的系统函数头文件#include <cstdlib> 或者 #include <stdlib.h>函数原型功能备注void abort(void)异常终止当前进程Visual C+中,如果以abort函数终止程序,则会在debug模式运行时弹出错误提示的对话框。Linux中,abort()会产生core dump。void exit(int status)终止当前进程,返回(如果有父进程的话,否则返回给OS。 不同的值代表什么意义都是由编程者自己决定。习惯上,exit(0):正常结束程序运行;exit(非0):非正

9、常结束程序运行。父进程可以wait( &amp;ret ); waitpid( pid, &amp;ret ); 来接收,ret 中的值就是 exit() 返回的值。int atexit (void (*func) (void)注册终止函数(即main执行结束后调用的函数)其参数是一个指向一个没有参数也没有返回值的个函数指针。在一个程序中最多可以用atexit()注册32个处理函数,这些处理函数的调用顺序与其注册的顺序相反,也即最先注册的最后调 用,最后注册的最先调用。同一个函数如若登记多次,则也会被调用多次。一般程序执行到 main() 的结束就完成了,&

10、#160;如果想在程序结束时做一些事情, 可以尝 试着用atexit() 函数。程序在输出 "atexit挂接的函数"后即终止。double atof(const char *s)将s所指向的字符串转换成浮点数跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('0')才结束转换,并将结果返回。成功则返回转化后的整数值,失败返回0。参数s字符串可包含正负号、小数点或E(e)来表示指数部分。int atoi(const char *s)将s所指向的字符串转换成整数long atol(const char *s)将s所

11、指的字符串转换成长整数int rand(void)产生一个随机整数void srand(unsigned int)初始化随机数产生器int system(const char *s)将s所指向的字符串作为一个可执行文件,并加以执行max(a, b)求两个数中的大数min(a,b)求两个数中的小数(1) return语句、exit()函数和abort()函数的区别 return语句exit()函数abort()函数级别return是语言级别的,它表示了调用堆栈的返回,当前函数的结束。其参数返回到上一级函数。直到main函数中,表示整个程序的终止。 exit是系统调用级别的,通常用在子进程中,它表

12、示了当前进程的结束。如果有父进程的话,其值返回给父进程,否则返回给OS。 但,exit本身不是系统调用,而是一个C标准库的函数而已,在stdlib里面,系统调用是exit内部实现去完成的。exit()通常是用在子程序中用来终结程序用的,使用后程序自动结束跳回操作系统。清理工作因为有stack unwinding(堆栈解退),所以执行时会调用局部析构函数,清理main或其他函数中的局部对象(自动对象)和局部静态对象。 首先会执行由atexit()函数登记的函数;然后调用全局和静态对象析构函数,析构全局和静态对象。因为没有stack unwinding,所以决不会析构局部变量(自动对象)。同时刷新

13、所有输出流、关闭所有打开的流并且关闭通过标准I/O函数tmpfile()创建的临时文件。调用时,不进行任何清理工作。直接终止程序。注:在main函数中,调用return后,会隐式地交由系统调用exit()函数,结束主进程。在C+、C#、Ruby、Java等面向对象语言中,因为exit()和abort()不销毁自动变量,容易造成内存泄露,所以最好不要使用exit()和abort()。(2) atexit() 函数: 程序例: #include <stdio.h> #include <stdlib.h> void exit_fn1(void) printf("Ex

14、it function #1 calledn"); void exit_fn2(void) printf("Exit function #2 calledn"); int main(void) atexit(exit_fn1); atexit(exit_fn2); return 0; 输出: Exit function #2 called Exit function #1 called4、实现键盘和文件输入/输出的成员函数头文件#include <iostream> 或者 #include <iostream.h>函数原型功能返回值cin

15、>> v输入值送给变量cout << exp输出表达式exp的值istream & istream:get(char &c)输入字符送给变量cistream & istream:get(char *, int , char = n)输入一行字符串istream & istream:getline(char *, int , char = n)输入一行字符串void ifstream:open(const char*,int=ios:in,int = filebuf:openprot )打开输入文件void ofstream:open(co

16、nst char*,int=ios:out,int = filebuf:openprot)打开输出文件void fsream:open(const char*,int ,int = filebuf:openprot)打开输入/输出文件ifstream:ifstream(const char*,int = ios:in,int = filebuf:openprot)构造函数打开输入文件ofstream:ofstream(const char*,int=ios:out,int = filebuf:openprot)构造函数打开输出函数fstream:fstream(const char*, int,int = filebuf:openprot)构造函数打开输入/输出文件void istream:close()关闭输入文件void ofsream:close()关闭输出文件void fsream:close()关闭输入/输出文件istream & istream:read(char*, int)从文件中读取数据ostream & istream:write(const char*,int)将数据写入文件中int ios:eof()判断是否到达打开文件的尾部1为到达2为没有istream &

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论