《高级语言序设计教学课件》第8章2次课.pptVIP

  • 0
  • 0
  • 约8.8千字
  • 约 34页
  • 2018-12-02 发布于浙江
  • 举报

《高级语言序设计教学课件》第8章2次课.ppt

《高级语言序设计教学课件》第8章2次课

* C语言字符串操作的库函数 2.字符串拷贝函数strcpy char *strcpy(char *s1,char *s2) 功能:把字符串s2复制到字符串s1中。 例如: char str[80]; strcpy(str, abcd); * C语言字符串操作的库函数 3.字符串比较函数strcmp int strcmp( char *s1,char *s2) 功能:按照字典排序方法比较字符串s1和字符串s2,返回值如下: (1) s1==s2,返回值=0; (2) s1s2,返回值0; (3) s1s2,返回值0。 例如:char str1=”word”,str2=”world”; strcmp(str1,str2)的返回值小于0。 * * C语言字符串操作的库函数 4.求字符串长度函数strlen size_t strlen(char *s) 功能:求字符串的实际长度(不含串结束标志‘\0’) 例如: int len; len=strlen(“hello”); /* len为5 */ len=strlen(“”); /* len为0 */ * * C语言字符串操作的库函数 5.字符串中子串定位函数 strstr char * strstr(char *s1, char *s2); 功能:从字符串s1中寻找字串s2第一次出现的位置,如果没找到则返回NULL。 * #include stdio.h #include string.h void main() { char str1[]=Hallo world; char *p; p=strstr(str1,lo); puts(p); p=strstr(str1,l); puts(p); } lo world llo world * * * p[i]:i是相对位置 a[i]:i是绝对位置 * * * p是一个指向int型的指针变量, p现在储存a的首地址,即a[0][0]的地址。 p +1是a[0][1]的地址。 决定指针运算时地址增量的单位长度在于说明语句。 第8章 指针 * 直接访问与间接访问 … 3000 3001 3002 3006 内存 0 3003 3004 3005 3007 3008 … 程序中:int x; int * p; x = 5; p = x; *p= 30; 5 p 3000 ——直接访问 ——间接访问 30 * 为什么引入指针的概念 指针的主要应用: 指针作形参可以在子函数中修改实参变量的值 利用指针作形参可以使子函数有多于一个的返回值 * 【例8-1】编写一个的子程序,子程序的功能为交换两个变量的值 #include stdio.h void swap(int x, int y); void main(void) { int a, b; printf(请输入交换的数值:); scanf(%d%d, a, b); printf(交换前a=%d,b=%d\n, a, b); swap(a, b); printf(交换后a=%d,b=%d\n, a, b); } void swap(int x, int y) { int temp; temp = x; x = y; y = temp; } 单向值传递 * 【例8-1】编写一个的子程序,子程序的功能为交换两个变量的值(改进) #include stdio.h void swap(int *x, int *y); void main() { int a, b; scanf(%d%d, a, b); printf(a=%x,b=%x\n, a, b); printf(调用前:a=%d,b=%d\n, a, b); swap(a, b); printf(调用后:a=%d,b=%d\n, a, b); } 地址传递 * void swap(int *x, int *y) { int t; printf(\n-----swap-----\n); printf(x=%x,y=%x\n, x, y); t = *x; *x = *y; *y = t; printf(-----swap-----\n\n); } * 说明 在该例题中,我们利用指针作形参实现了修改实参变量的值。 * 例 编写函数求出二维整型数组中元素的最大值及其下

文档评论(0)

1亿VIP精品文档

相关文档