版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数名: memset 功 能: 设置s中的所有字节为ch, s数组的大小由n给定 用 法: void *memset(void *s, char ch, unsigned n); 程序例: #include #include #include int main(void) char buffer = "Hello worldn" printf("Buffer before memset: %sn", buffer); /打印数组字符memset(buffer, '*', strlen(buffer) - 1); p
2、rintf("Buffer after memset: %sn", buffer); return 0; =memset的用法将已开辟内存空间 s 的首 n 个字节的值设为值 c 下面是一个例子 i nclude <stdio.h> i nclude <string.h> main() char *s="Golden Global View" clrscr();
3、; memset(s,'G',6); printf("%s",s); getchar(); return 0; memset() 函数常用于内存空间初始化。如: char str100; memset(str,0,100); memset用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为 或0;例:char a100;memset(a, '0', sizeof(a); me
4、mcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例:char a100,b50; memcpy(b, a, sizeof(b);注意如用sizeof(a),会造成b的内存地址溢出。 strcpy就只能拷贝字符串了,它遇到'0'就结束拷贝;例:char a100,b50;strcpy(a,b);如用strcpy(b,a),要注意a中的字符串长度(第一个0之前)是否超过50位,如超过,则会造成b的内存地址溢出。strnicmp,strncmpi 原型:extern int strnicmp(char *s1,char * s2,int n); 用法
5、:#include <string.h> 功能:比较字符串s1和s2的前n个字符但不区分大小写。 说明:strncmpi是到strnicmp的宏定义 当s1<s2时,返回值<0 当s1=s2时,返回值=0 当s1>s2时,返回值>0 举例: / strnicmp.c #include <syslib.h> #include <string.h> main() char *s1="Hello, Programmers!" char *s2="Hello, programmers!" int r;
6、clrscr(); r=strnicmp(s1,s2,strlen(s1); if(!r) printf("s1 and s2 are identical"); else if(r<0) printf("s1 less than s2"); else printf("s1 greater than s2"); getchar(); return 0; bcmp 原型:extern int bcmp(const void *s1, const void *s2, int n); 用法:#include <string.h&g
7、t; 功能:比较字符串s1和s2的前n个字节是否相等 说明:如果s1=s2或n=0则返回零,否则返回非零值。bcmp不检查NULL。 举例: / bcmp.c #include <syslib.h> #include <string.h> main() char *s1="Golden Global View" char *s2="Golden global view" clrscr(); / clear screen if(!bcmp(s1,s2,7) printf("s1 equal to s2 in first 7
8、 bytes"); else printf("s1 not equal to s2 in first 7 bytes"); getchar(); clrscr(); if(!bcmp(s1,s2,12) printf("s1 equal to s2 in first 12 bytes"); else printf("s1 not equal to s2 in first 12 bytes"); getchar(); return 0; bcopy 原型:extern void bcopy(const void *src, v
9、oid *dest, int n); 用法:#include <string.h> 功能:将字符串src的前n个字节复制到dest中 说明:bcopy不检查字符串中的空字节NULL,函数没有返回值。 举例: / bcopy.c #include <syslib.h> #include <string.h> main() char *s="Golden Global View" char d20; clrscr(); / clear screen bcopy(s,d,6); printf("s: %sn",s); pri
10、ntf("d: %sn",d); getchar(); clrscr(); s13=0; bcopy(s+7,d,11); / bcopy ignore null in string printf("%sn",s+7); for(i=0;i<11;i+) putchar(di); getchar(); return 0; bzero 原型:extern void bzero(void *s, int n); 用法:#include <string.h> 功能:置字节字符串s的前n个字节为零。 说明:bzero无返回值。 举例: / bz
11、ero.c #include <syslib.h> #include <string.h> main() struct int a; char s5; float f; tt; char s20; bzero(&tt,sizeof(tt); / struct initialization to zero bzero(s,20); clrscr(); printf("Initail Success"); getchar(); return 0; memccpy 原型:extern void *memccpy(void *dest, void *
12、src, unsigned char ch, unsigned int count); 用法:#include <string.h> 功能:由src所指内存区域复制不多于count个字节到dest所指内存区域,如果遇到字符ch则停止复制。 说明:返回指向字符ch后的第一个字符的指针,如果src前n个字节中不存在ch则返回NULL。ch被复制。 举例: / memccpy.c #include <syslib.h> #include <string.h> main() char *s="Golden Global View" char d2
13、0,*p; clrscr(); p=memccpy(d,s,'x',strlen(s); if(p) *p='0' / MUST Do This printf("Char found: %s.n",d); else printf("Char not found.n"); getchar(); return 0; memchr 原型:extern void *memchr(void *buf, char ch, unsigned count); 用法:#include <string.h> 功能:从buf所指内存
14、区域的前count个字节查找字符ch。 说明:当第一次遇到字符ch时停止查找。如果成功,返回指向字符ch的指针;否则返回NULL。 举例: / memchr.c #include <syslib.h> #include <string.h> main() char *s="Hello, Programmers!" char *p; clrscr(); p=memchr(s,'P',strlen(s); if(p) printf("%s",p); else printf("Not Found!")
15、; getchar(); return 0; memcmp 原型:extern int memcmp(void *buf1, void *buf2, unsigned int count); 用法:#include <string.h> 功能:比较内存区域buf1和buf2的前count个字节。 说明: 当buf1<buf2时,返回值<0 当buf1=buf2时,返回值=0 当buf1>buf2时,返回值>0 举例: / memcmp.c #include <syslib.h> #include <string.h> main() c
16、har *s1="Hello, Programmers!" char *s2="Hello, programmers!" int r; clrscr(); r=memcmp(s1,s2,strlen(s1); if(!r) printf("s1 and s2 are identical"); else if(r<0) printf("s1 less than s2"); else printf("s1 greater than s2"); getchar(); return 0; memc
17、py 原型:extern void *memcpy(void *dest, void *src, unsigned int count); 用法:#include <string.h> 功能:由src所指内存区域复制count个字节到dest所指内存区域。 说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。 举例: / memcpy.c #include <syslib.h> #include <string.h> main() char *s="Golden Global View" char d20; clrsc
18、r(); memcpy(d,s,strlen(s); dstrlen(s)=0; printf("%s",d); getchar(); return 0; memicmp 原型:extern int memicmp(void *buf1, void *buf2, unsigned int count); 用法:#include <string.h> 功能:比较内存区域buf1和buf2的前count个字节但不区分字母的大小写。 说明:memicmp同memcmp的唯一区别是memicmp不区分大小写字母。 当buf1<buf2时,返回值<0 当buf
19、1=buf2时,返回值=0 当buf1>buf2时,返回值>0 举例: / memicmp.c #include <syslib.h> #include <string.h> main() char *s1="Hello, Programmers!" char *s2="Hello, programmers!" int r; clrscr(); r=memicmp(s1,s2,strlen(s1); if(!r) printf("s1 and s2 are identical"); else if(
20、r<0) printf("s1 less than s2"); else printf("s1 greater than s2"); getchar(); return 0; memmove 原型:extern void *memmove(void *dest, const void *src, unsigned int count); 用法:#include <string.h> 功能:由src所指内存区域复制count个字节到dest所指内存区域。 说明:src和dest所指内存区域可以重叠,但复制后src内容会被更改。函数返回指向
21、dest的指针。 举例: / memmove.c #include <syslib.h> #include <string.h> main() char *s="Golden Global View" clrscr(); memmove(s,s+7,strlen(s)-7); sstrlen(s)-7=0; printf("%s",s); getchar(); return 0; movmem 原型:extern void movmem(void *src, void *dest, unsigned int count); 用法:
22、#include <string.h> 功能:由src所指内存区域复制count个字节到dest所指内存区域。 说明:src和dest所指内存区域可以重叠,但复制后src内容会被更改。函数返回指向dest的指针。 举例: / movmem.c #include <syslib.h> #include <string.h> main() char *s="Golden Global View" clrscr(); movmem(s,s+7,strlen(s)-7); sstrlen(s)-7=0; printf("%s"
23、,s); getchar(); return 0; setmem 原型:extern void setmem(void *buf, unsigned int count, char ch); 用法:#include <string.h> 功能:把buf所指内存区域前count个字节设置成字符ch。 说明:返回指向buf的指针。 举例: / setmem.c #include <syslib.h> #include <string.h> main() char *s="Golden Global View" clrscr(); setmem
24、(s,6,'G'); printf("%s",s); getchar(); return 0; stpcpy 原型:extern char *stpcpy(char *dest,char *src); 用法:#include <string.h> 功能:把src所指由NULL结束的字符串复制到dest所指的数组中。 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest结尾处字符(NULL)的指针。 举例: / stpcpy.c #include <syslib.h> #incl
25、ude <string.h> main() char *s="Golden Global View" char d20; clrscr(); stpcpy(d,s); printf("%s",d); getchar(); return 0; strchr 原型:extern char *strchr(char *s,char c); 用法:#include <string.h> 功能:查找字符串s中首次出现字符c的位置 说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。 举例: / strchr.c #includ
26、e <syslib.h> #include <string.h> main() char *s="Golden Global View" char *p; clrscr(); strchr(s,'V'); if(p) printf("%s",p); else printf("Not Found!"); getchar(); return 0; strcmp 原型:extern int strcmp(char *s1,char * s2); 用法:#include <string.h>
27、 功能:比较字符串s1和s2。 说明: 当s1<s2时,返回值<0 当s1=s2时,返回值=0 当s1>s2时,返回值>0stricmp,strcmpi 原型:extern int stricmp(char *s1,char * s2); 用法:#include <string.h> 功能:比较字符串s1和s2,但不区分字母的大小写。 说明:strcmpi是到stricmp的宏定义,实际未提供此函数。 当s1<s2时,返回值<0 当s1=s2时,返回值=0 当s1>s2时,返回值>0 举例: / stricmp.c #include
28、<syslib.h> #include <string.h> main() char *s1="Hello, Programmers!" char *s2="Hello, programmers!" int r; clrscr(); r=stricmp(s1,s2); if(!r) printf("s1 and s2 are identical"); else if(r<0) printf("s1 less than s2"); else printf("s1 greater
29、 than s2"); getchar(); return 0; strlwr 原型:extern char *strlwr(char *s); 用法:#include <string.h> 功能:将字符串s转换为小写形式 说明:只转换s中出现的大写字母,不改变其它字符。返回指向s的指针。 举例: / strlwr.c #include <syslib.h> #include <string.h> main() char *s="Copywrite 1999-2000 GGV Technologies" clrscr(); pr
30、intf("%s",strlwr(s); getchar(); return 0; strncat 原型:extern char *strncat(char *dest,char *src,int n); 用法:#include <string.h> 功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'0')并添加'0'。 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。 举例: / strncat.c #include <sy
31、slib.h> #include <string.h> main() char d20="Golden Global" char *s=" View WinIDE Library" clrscr(); strncat(d,s,5); printf("%s",d); getchar(); return 0; strncmp 原型:extern int strcmp(char *s1,char * s2,int n); 用法:#include <string.h> 功能:比较字符串s1和s2的前n个字符。 说
32、明: 当s1<s2时,返回值<0 当s1=s2时,返回值=0 当s1>s2时,返回值>0 举例: / strncmp.c #include <syslib.h> #include <string.h> main() char *s1="Hello, Programmers!" char *s2="Hello, programmers!" int r; clrscr(); r=strncmp(s1,s2,6); if(!r) printf("s1 and s2 are identical"
33、); else if(r<0) printf("s1 less than s2"); else printf("s1 greater than s2"); getchar(); clrscr(); r=strncmp(s1,s2,10); if(!r) printf("s1 and s2 are identical"); else if(r<0) printf("s1 less than s2"); else printf("s1 greater than s2"); getchar
34、(); return 0; strnicmp,strncmpi 原型:extern int strnicmp(char *s1,char * s2,int n); 用法:#include <string.h> 功能:比较字符串s1和s2的前n个字符但不区分大小写。 说明:strncmpi是到strnicmp的宏定义 当s1<s2时,返回值<0 当s1=s2时,返回值=0 当s1>s2时,返回值>0 举例: / strnicmp.c #include <syslib.h> #include <string.h> main() char
35、*s1="Hello, Programmers!" char *s2="Hello, programmers!" int r; clrscr(); r=strnicmp(s1,s2,strlen(s1); if(!r) printf("s1 and s2 are identical"); else if(r<0) printf("s1 less than s2"); else printf("s1 greater than s2"); getchar(); return 0; strpbr
36、k 原型:extern char *strpbrk(char *s1, char *s2); 用法:#include <string.h> 功能:在字符串s1中寻找字符串s2中任何一个字符相匹配的第一个字符的位置,空字符NULL不包括在内。 说明:返回指向s1中第一个相匹配的字符的指针,如果没有匹配字符则返回空指针NULL。 举例: / strpbrk.c #include <syslib.h> #include <string.h> main() char *s1="Welcome To Beijing" char *s2="
37、BIT" char *p; clrscr(); p=strpbrk(s1,s2); if(p) printf("%sn",p); else printf("Not Found!n"); p=strpbrk(s1, "Da"); if(p) printf("%s",p); else printf("Not Found!"); getchar(); return 0; strrev 原型:extern char *strrev(char *s); 用法:#include <strin
38、g.h> 功能:把字符串s的所有字符的顺序颠倒过来(不包括空字符NULL)。 说明:返回指向颠倒顺序后的字符串指针。 举例: / strrev.c #include <syslib.h> #include <string.h> main() char *s="Welcome To Beijing" clrscr(); textmode(0x00); / 6 lines per screen printf("%sn%s",s,strrev(strdup(s); getchar(); return 0; strset 原型:ex
39、tern char *strset(char *s, char c); 用法:#include <string.h> 功能:把字符串s中的所有字符都设置成字符c。 说明:返回指向s的指针。 举例: / strset.c #include <syslib.h> #include <string.h> main() char *s="Golden Global View" clrscr(); strset(s,'G'); printf("%s",s); getchar(); return 0; strstr
40、 原型:extern char *strstr(char *haystack, char *needle); 用法:#include <string.h> 功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。 说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。 举例: / strstr.c #include <syslib.h> #include <string.h> main() char *s="Golden Global View" char *l="lob&q
41、uot; char *p; clrscr(); p=strstr(s,l); if(p) printf("%s",p); else printf("Not Found!"); getchar(); return 0; strtok 原型:extern char *strtok(char *s, char *delim); 用法:#include <string.h> 功能:分解字符串为一组标记串。s为要分解的字符串,delim为分隔符字符串。 说明:首次调用时,s必须指向要分解的字符串,随后调用要把s设成NULL。 strtok在s中查找包含
42、在delim中的字符并用NULL('0')来替换,直到找遍整个字符串。 返回指向下一个标记串。当没有标记串时则返回空字符NULL。 举例: / strtok.c #include <syslib.h> #include <string.h> #include <stdio.h> main() char *s="Golden Global View" char *d=" " char *p; clrscr(); p=strtok(s,d); while(p) printf("%sn",
43、s); strtok(NULL,d); getchar(); return 0; strupr 原型:extern char *strupr(char *s); 用法:#include <string.h> 功能:将字符串s转换为大写形式 说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。 举例: / strupr.c #include <syslib.h> #include <string.h> main() char *s="Copywrite 1999-2000 GGV Technologies" clrscr();
44、 printf("%s",strupr(s); getchar(); return 0; 数论的欧拉定理证明 & 欧拉函数公式收藏欧拉函数 :欧拉函数是数论中很重要的一个函数,欧拉函数是指:对于一个正整数 n ,小于 n 且和 n 互质的正整数(包括 1)的个数,记作 (n) 。 完全余数集合:定义小于 n 且和 n 互质的数构成的集合为 Zn ,称呼这个集合为 n 的完全余数集合。 显然 |Zn| (n) 。有关性质:对于素数 p ,(p) = p -1 。对于两个不同素数 p, q ,它们的乘积 n = p * q 满足 (n) = (p -
45、1) * (q -1) 。这是因为 Zn = 1, 2, 3, . , n - 1 - p, 2p, . , (q - 1) * p - q, 2q, . , (p - 1) * q , 则 (n) = (n - 1) - (q - 1) - (p - 1) = (p -1) * (q -1) (p) * (q) 。欧拉定理 :对于互质的正整数 a 和 n ,有 a(n) 1 mod n 。证明:( 1 ) 令 Zn = x1, x2, ., x(n) , S = a * x1 mod n, a * x2 mod n, . , a * x(n) mod n , 则 Zn = S 。 因为 a 与 n 互质, xi (1 i (n) 与 n 互质, 所以 a * xi 与 n 互质,所以 a * xi mod n Zn 。 若 i j , 那
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年劳动仲裁裁决和解协议
- 2025年加盟商业合同
- 2025年大数据智能分析合作协议
- 2025年冷藏海鮮運送合同
- 2025年创业投资协议解除协议
- 2025版信托投资公司绿色金融借款合同规范2篇
- 二零二五年度五人共同投资人工智能技术研发协议3篇
- 二零二五年度大型公共场所监控网络升级改造合同3篇
- 2025年度舞蹈教师舞蹈教材编写与出版合同
- 2025年度房地产项目银行过桥垫资借款合同
- 物业民法典知识培训课件
- 2023年初中毕业生信息技术中考知识点详解
- 2024-2025学年八年级数学人教版上册寒假作业(综合复习能力提升篇)(含答案)
- 《万方数据资源介绍》课件
- 第一章-地震工程学概论
- 《中国糖尿病防治指南(2024版)》更新要点解读
- 交通运输类专业生涯发展展示
- 大健康行业研究课件
- 租赁汽车可行性报告
- 计算机辅助设计AutoCAD绘图-课程教案
- 老年护理学-老年人与人口老龄化-课件
评论
0/150
提交评论