C语言知识储备_第1页
C语言知识储备_第2页
C语言知识储备_第3页
免费预览已结束,剩余32页可下载查看

下载本文档

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

文档简介

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); printf(Buffer after memset: %sn, buffer); ret

2、urn 0; =memset的用法将已开辟内存空间 s 的首 n 个字节的值设为值 c 下面是一个例子 i nclude i nclude main() char *s=Golden Global View; clrscr(); 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(

3、a); memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例: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); 用法:*in

4、clude 功能:比较字符串s1和s2的前n个字符但不区分大小写。 说明:strncmpi是到strnicmp的宏定义 当s1s2时,返回值s2时,返回值0 举例: / strnicmp.c *include *include main() char *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(r0) printf(s1 less than s

5、2); else printf(s1 greater than s2); getchar(); return 0; bcmp 原型:extern int bcmp(const void *s1, const void *s2, int n); 用法:*include 功能:比较字符串s1和s2的前n个字节是否相等 说明:如果s1=s2或n=0则返回零,否则返回非零值。bcmp不检查NULL。 举例: / bcmp.c *include *include main() char *s1=Golden Global View; char *s2=Golden global view; clrscr

6、(); / clear screen if(!bcmp(s1,s2,7) printf(s1 equal to s2 in first 7 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 vo

7、id bcopy(const void *src, void *dest, int n); 用法:*include 功能:将字符串src的前n个字节复制到dest中 说明:bcopy不检查字符串中的空字节NULL,函数没有返回值。 举例: / bcopy.c *include *include main() char *s=Golden Global View; char d20; clrscr(); / clear screen bcopy(s,d,6); printf(s: %sn,s); printf(d: %sn,d); getchar(); clrscr(); s13=0; bcop

8、y(s+7,d,11); / bcopy ignore null in string printf(%sn,s+7); for(i=0;i11;i+) putchar(di); getchar(); return 0; bzero 原型:extern void bzero(void *s, int n); 用法:*include 功能:置字节字符串s的前n个字节为零。 说明:bzero无返回值。 举例: / bzero.c *include *include main() struct int a; char s5; float f; tt; char s20; bzero(&tt,sizeo

9、f(tt); / struct initialization to zero bzero(s,20); clrscr(); printf(Initail Success); getchar(); return 0; memccpy 原型:extern void *memccpy(void *dest, void *src, unsigned char ch, unsigned int count); 用法:*include 功能:由src所指内存区域复制不多于count个字节到dest所指内存区域,如果遇到字符ch则停止复制。 说明:返回指向字符ch后的第一个字符的指针,如果src前n个字节中

10、不存在ch则返回NULL。ch被复制。 举例: / memccpy.c *include *include main() char *s=Golden Global View; char d20,*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, unsi

11、gned count); 用法:*include 功能:从buf所指内存区域的前count个字节查找字符ch。 说明:当第一次遇到字符ch时停止查找。如果成功,返回指向字符ch的指针;否则返回NULL。 举例: / memchr.c *include *include main() char *s=Hello, Programmers!; char *p; clrscr(); p=memchr(s,P,strlen(s); if(p) printf(%s,p); else printf(Not Found!); getchar(); return 0; memcmp 原型:extern int

12、 memcmp(void *buf1, void *buf2, unsigned int count); 用法:*include 功能:比较内存区域buf1和buf2的前count个字节。 说明: 当buf1buf2时,返回值buf2时,返回值0 举例: / memcmp.c *include *include main() char *s1=Hello, Programmers!; char *s2=Hello, programmers!; int r; clrscr(); r=memcmp(s1,s2,strlen(s1); if(!r) printf(s1 and s2 are iden

13、tical); else if(r0) printf(s1 less than s2); else printf(s1 greater than s2); getchar(); return 0; memcpy 原型:extern void *memcpy(void *dest, void *src, unsigned int count); 用法:*include 功能:由src所指内存区域复制count个字节到dest所指内存区域。 说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。 举例: / memcpy.c *include *include main() ch

14、ar *s=Golden Global View; char d20; clrscr(); 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 功能:比较内存区域buf1和buf2的前count个字节但不区分字母的大小写。 说明:memicmp同memcmp的唯一区别是memicmp不区分大小写字母。 当buf1buf2时,返回值bu

15、f2时,返回值0 举例: / memicmp.c *include *include 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(r0) printf(s1 less than s2); else printf(s1 greater than s2); getchar(); return 0; memmove 原型:ext

16、ern void *memmove(void *dest, const void *src, unsigned int count); 用法:*include 功能:由src所指内存区域复制count个字节到dest所指内存区域。 说明:src和dest所指内存区域可以重叠,但复制后src内容会被更改。函数返回指向dest的指针。 举例: / memmove.c *include *include main() char *s=Golden Global View; clrscr(); memmove(s,s+7,strlen(s)-7); sstrlen(s)-7=0; printf(%s,

17、s); getchar(); return 0; movmem 原型:extern void movmem(void *src, void *dest, unsigned int count); 用法:*include 功能:由src所指内存区域复制count个字节到dest所指内存区域。 说明:src和dest所指内存区域可以重叠,但复制后src内容会被更改。函数返回指向dest的指针。 举例: / movmem.c *include *include main() char *s=Golden Global View; clrscr(); movmem(s,s+7,strlen(s)-7)

18、; sstrlen(s)-7=0; printf(%s,s); getchar(); return 0; setmem 原型:extern void setmem(void *buf, unsigned int count, char ch); 用法:*include 功能:把buf所指内存区域前count个字节设置成字符ch。 说明:返回指向buf的指针。 举例: / setmem.c *include *include main() char *s=Golden Global View; clrscr(); setmem(s,6,G); printf(%s,s); getchar(); r

19、eturn 0; stpcpy 原型:extern char *stpcpy(char *dest,char *src); 用法:*include 功能:把src所指由NULL结束的字符串复制到dest所指的数组中。 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest结尾处字符(NULL)的指针。 举例: / stpcpy.c *include *include main() char *s=Golden Global View; char d20; clrscr(); stpcpy(d,s); printf(%s,d); getch

20、ar(); return 0; strchr 原型:extern char *strchr(char *s,char c); 用法:*include 功能:查找字符串s中首次出现字符c的位置 说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。 举例: / strchr.c *include *include main() char *s=Golden Global View; char *p; clrscr(); strchr(s,V); if(p) printf(%s,p); else printf(Not Found!); getchar(); return 0; strc

21、mp 原型:extern int strcmp(char *s1,char * s2); 用法:*include 功能:比较字符串s1和s2。 说明: 当s1s2时,返回值s2时,返回值0stricmp,strcmpi 原型:extern int stricmp(char *s1,char * s2); 用法:*include 功能:比较字符串s1和s2,但不区分字母的大小写。 说明:strcmpi是到stricmp的宏定义,实际未提供此函数。 当s1s2时,返回值s2时,返回值0 举例: / stricmp.c *include *include main() char *s1=Hello,

22、 Programmers!; char *s2=Hello, programmers!; int r; clrscr(); r=stricmp(s1,s2); if(!r) printf(s1 and s2 are identical); else if(r0) printf(s1 less than s2); else printf(s1 greater than s2); getchar(); return 0; strlwr 原型:extern char *strlwr(char *s); 用法:*include 功能:将字符串s转换为小写形式 说明:只转换s中出现的大写字母,不改变其它

23、字符。返回指向s的指针。 举例: / strlwr.c *include *include main() char *s=Copywrite 1999-2000 GGV Technologies; clrscr(); printf(%s,strlwr(s); getchar(); return 0; strncat 原型:extern char *strncat(char *dest,char *src,int n); 用法:*include 功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的0)并添加0。 说明:src和dest所指内存区域不可以重叠且dest必须

24、有足够的空间来容纳src的字符串。 返回指向dest的指针。 举例: / strncat.c *include *include 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 功能:比较字符串s1和s2的前n个字符。 说明: 当s1s2时,返回值s2时,返回值0 举

25、例: / strncmp.c *include *include 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); else if(r0) printf(s1 less than s2); else printf(s1 greater than s2); getchar(); clrscr(); r=strncmp(s1,s2,10); if(!r) prin

26、tf(s1 and s2 are identical); else if(r0) printf(s1 less than s2); else printf(s1 greater than s2); getchar(); return 0; strnicmp,strncmpi 原型:extern int strnicmp(char *s1,char * s2,int n); 用法:*include 功能:比较字符串s1和s2的前n个字符但不区分大小写。 说明:strncmpi是到strnicmp的宏定义 当s1s2时,返回值s2时,返回值0 举例: / strnicmp.c *include *

27、include main() char *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(r0) printf(s1 less than s2); else printf(s1 greater than s2); getchar(); return 0; strpbrk 原型:extern char *strpbrk(char *s1, char *

28、s2); 用法:*include 功能:在字符串s1中寻找字符串s2中任何一个字符相匹配的第一个字符的位置,空字符NULL不包括在内。 说明:返回指向s1中第一个相匹配的字符的指针,如果没有匹配字符则返回空指针NULL。 举例: / strpbrk.c *include *include main() char *s1=Welcome To Beijing; char *s2=BIT; char *p; clrscr(); p=strpbrk(s1,s2); if(p) printf(%sn,p); else printf(Not Found!n); p=strpbrk(s1, Da); if

29、(p) printf(%s,p); else printf(Not Found!); getchar(); return 0; strrev 原型:extern char *strrev(char *s); 用法:*include 功能:把字符串s的所有字符的顺序颠倒过来(不包括空字符NULL)。 说明:返回指向颠倒顺序后的字符串指针。 举例: / strrev.c *include *include main() char *s=Welcome To Beijing; clrscr(); textmode(0x00); / 6 lines per screen printf(%sn%s,s,

30、strrev(strdup(s); getchar(); return 0; strset 原型:extern char *strset(char *s, char c); 用法:*include 功能:把字符串s中的所有字符都设置成字符c。 说明:返回指向s的指针。 举例: / strset.c *include *include main() char *s=Golden Global View; clrscr(); strset(s,G); printf(%s,s); getchar(); return 0; strstr 原型:extern char *strstr(char *hay

31、stack, char *needle); 用法:*include 功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。 说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。 举例: / strstr.c *include *include main() char *s=Golden Global View; char *l=lob; char *p; clrscr(); p=strstr(s,l); if(p) printf(%s,p); else printf(Not Found!); getchar(); return 0; s

32、trtok 原型:extern char *strtok(char *s, char *delim); 用法:*include 功能:分解字符串为一组标记串。s为要分解的字符串,delim为分隔符字符串。 说明:首次调用时,s必须指向要分解的字符串,随后调用要把s设成NULL。 strtok在s中查找包含在delim中的字符并用NULL(0)来替换,直到找遍整个字符串。 返回指向下一个标记串。当没有标记串时则返回空字符NULL。 举例: / strtok.c *include *include *include main() char *s=Golden Global View; char *

33、d= ; char *p; clrscr(); p=strtok(s,d); while(p) printf(%sn,s); strtok(NULL,d); getchar(); return 0; strupr 原型:extern char *strupr(char *s); 用法:*include 功能:将字符串s转换为大写形式 说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。 举例: / strupr.c *include *include main() char *s=Copywrite 1999-2000 GGV Technologies; clrscr(); pr

34、intf(%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 -1) * (q -1) 。这是因为 Zn = 1,

35、 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 * x1mod n, a * x2mod 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 , 那么 xi xj,且由 a, n互质可得 a * xi mod n a * xj mod n (消去律)。( 2 ) a(n) * x1 * x2 *. * x(n)mod n (a * x1) * (a * x2) * .

温馨提示

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

评论

0/150

提交评论