程序设计竞赛——C++常用库函数.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《程序设计竞赛——C++常用库函数.pdf》由会员分享,可在线阅读,更多相关《程序设计竞赛——C++常用库函数.pdf(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、转自:http:/ memcpy 表头文件:#include 定义函数:void*memcpy(void*dest,const void*src,size_t n)函数说明:memcpy()用来拷贝 src 所指的内存内容前n 个字节到 dest 所指的内存地址上。与 strcpy()不同的是,memcpy()会完整的复制 n 个字节,不会因为遇到字符串结束 0 而结束返回值:返回指向 dest 的指针附加说明:指针 src 和 dest 所指的内存区域不可重叠例如:你需要复制串 str=“wangyucao1989”中的“yucao”,那么可以这么写:memcpy(newstr,str+4,
2、5);除了 memcpy之外,string 还提供了 strncpy 函数:函数名称:strncpy 函数原型:char*strncpy(char*dest,const char*src,int count)函数功能:将字符串 src 中的 count个字符拷贝到字符串dest 中去函数返回:指向 dest 的指针参数说明:dest-目的字符串,src-源字符串,count-拷贝的字符个数所属文档:还是上面的例子,这个程序可以这样写:#include#include int main()char str=wangyucao1989;char newstr6;/memcpy(newstr,str
3、+4,5);strncpy(newstr,str+4,5);newstr5=0;printf(%sn,newstr);return 0;=位运算:运算方法有六种:&与运算|或运算 异或运算 非运算(求补)右移运算10110)|x 1 在最后加一个 0|(101101-1011010)|x 1011011)|x 101101)|x|1 把最后一位变成 0|(101101-101100)|x|1-1 最后一位取反|(101101-101100)|x 1 把右数第 k 位变成 1|(101001-101101,k=3)|x|(1 101001,k=3)|x&(1 101101,k=3)|x (1 1
4、01)|x&7 取末 k 位|(1101101-1101,k=5)|x&(1 1,k=4)|x (k-1)&1 把末 k 位变成 1|(101001-101111,k=4)|x|(1 100110,k=4)|x (1 100100000)|x&(x+1)把右起第一个 0 变成 1|(100101111-100111111)|x|(x+1)把右边连续的 0 变成 1|(11011000-11011111)|x|(x-1)取右边连续的 1|(100101111-1111)|(x (x+1)1 去掉右起第一个 1 的左边|(100101000-1000)|x&(x (x-1)判断奇数(x&1)=1
5、判断偶数(x&1)=0 取右边第一个 1 所在位置 x&-x=类型转换:函数名:abs 功能:求整数的绝对值用法:int abs(int i);程序例:#include#include int main(void)int number=-1234;printf(number:%d absolute value:%dn,number,abs(number);return 0;函数名:atof 功能:把字符串转换成浮点数用法:double atof(const char*nptr);程序例:#include#include int main(void)float f;char*str=12345.
6、67;f=atof(str);printf(string=%s float=%fn,str,f);return 0;函数名:atoi 功能:把字符串转换成长整型数用法:int atoi(const char*nptr);程序例:#include#include int main(void)int n;char*str=12345.67;n=atoi(str);printf(string=%s integer=%dn,str,n);return 0;函数名:atol 功能:把字符串转换成长整型数用法:long atol(const char*nptr);程序例:#include#include
7、int main(void)long l;char*str=98765432;l=atol(lstr);printf(string=%s integer=%ldn,str,l);return(0);=其他函数:函数名:bsearch 功能:二分法搜索用法:void*bsearch(const void*key,const void*base,size_t*nelem,size_t width,int(*fcmp)(const void*,const*);程序例:#include#include#define NELEMS(arr)(sizeof(arr)/sizeof(arr0)int num
8、array=123,145,512,627,800,933;int numeric(const int*p1,const int*p2)return(*p1-*p2);int lookup(int key)int*itemptr;/*The cast of(int(*)(const void*,const void*)is needed to avoid a type mismatch error at compile time*/itemptr=bsearch(&key,numarray,NELEMS(numarray),sizeof(int),(int(*)(const void*,con
9、st void*)numeric);return(itemptr!=NULL);int main(void)if(lookup(512)printf(512 is in the table.n);else printf(512 isnt in the table.n);return 0;函数名:fabs 功能:返回浮点数的绝对值用法:double fabs(double x);程序例:#include#include int main(void)float number=-1234.0;printf(number:%f absolute value:%fn,number,fabs(number
10、);return 0;函数名:fcvt 功能:把一个浮点数转换为字符串用法:char*fcvt(double value,int ndigit,int*decpt,int*sign);程序例:#include#include#include int main(void)char*string;double value;int dec,sign;int ndig=10;clrscr();value=9.876;string=ecvt(value,ndig,&dec,&sign);printf(string=%s dec=%d sign=%dn,string,dec,sign);value=-12
11、3.45;ndig=15;string=ecvt(value,ndig,&dec,&sign);printf(string=%s dec=%d sign=%dn,string,dec,sign);value=0.6789e5;/*scientific notation*/ndig=5;string=ecvt(value,ndig,&dec,&sign);printf(string=%s dec=%d sign=%dn,string,dec,sign);return 0;函数名:gcvt 功能:把浮点数转换成字符串用法:char*gcvt(double value,int ndigit,char
12、*buf);程序例:#include#include int main(void)char str25;double num;int sig=5;/*significant digits*/*a regular number*/num=9.876;gcvt(num,sig,str);printf(string=%sn,str);/*a negative number*/num=-123.4567;gcvt(num,sig,str);printf(string=%sn,str);/*scientific notation*/num=0.678e5;gcvt(num,sig,str);printf
13、(string=%sn,str);return(0);函数名:itoa 功能:把一整数转换为字符串用法:char*itoa(int value,char*string,int radix);程序例:#include#include int main(void)int number=12345;char string25;itoa(number,string,10);printf(integer=%d string=%sn,number,string);return 0;函数名:labs 功能:取长整型绝对值用法:long labs(long n);程序例:#include#include in
14、t main(void)long result;long x=-12345678L;result=labs(x);printf(number:%ld abs value:%ldn,x,result);return 0;函数名:memcpy 功能:从源 source 中拷贝 n 个字节到目标 destin 中用法:void*memcpy(void*destin,void*source,unsigned n);程序例:#include#include int main(void)char src=*;char dest=abcdefghijlkmnopqrstuvwxyz0123456709;ch
15、ar*ptr;printf(destination before memcpy:%sn,dest);ptr=memcpy(dest,src,strlen(src);if(ptr)printf(destination after memcpy:%sn,dest);else printf(memcpy failedn);return 0;函数名:memset 功能:设置 s中的所有字节为ch,s 数组的大小由 n 给定用法:void*memset(void*s,char ch,unsigned n);程序例:#include#include#include int main(void)char b
16、uffer=Hello worldn;printf(Buffer before memset:%sn,buffer);memset(buffer,*,strlen(buffer)-1);printf(Buffer after memset:%sn,buffer);return 0;函数名:pow 功能:指数函数(x 的 y 次方)用法:double pow(double x,double y);程序例:#include#include int main(void)double x=2.0,y=3.0;printf(%lf raised to%lf is%lfn,x,y,pow(x,y);ret
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 竞赛 C+ 常用 库函数
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内