程序设计基础 第10章字符串 1/26
程序设计基础 1/26 第10章 字符串
本章内容 ■10.1字符串常量 ■10.2如何表示字符串变量(重点) ■10.3字符串的输入输出 ■10.4字符串处理函数(重点) ■10.5字符指针与字符数组的区别(难点) ■10.6程序举例 恩 2/26
2/26 ◼10.1 字符串常量 ◼10.2 如何表示字符串变量(重点) ◼10.3 字符串的输入输出 ◼10.4 字符串处理函数(重点) ◼10.5 字符指针与字符数组的区别(难点) ◼10.6 程序举例 本章内容
指向字符串的指针变量 str 1、字符串表示形式 string[0] > 用字符数组实现 string[1] string[2] int main() string 0 string[3] string[4] char str[=“Ilove China!”; e string[5] printf(%sln”,str)月 string[6] printf(%sln”,str+);str常量,不可改变 0 C string[⑦I return 0; h string[8] i string 9] > 用字符指针实现 n string 10] int main() string→ C a string[11] { h string[12] char *string="I love China!"; i 0 string[13] printf("%s\n",string); n string+=7;//string指针变量,可改变 9 运行结果: printf("%s\n",string); I love China! return 0; China! 0 3/10
指向字符串的指针变量 1、字符串表示形式 ➢ 用字符数组实现 int main ( ) { char str[] = “I love China!”; printf (“%s\n”, str); printf (“%s\n”, str + 7); //str常量,不可改变 return 0; } I l o v e C h i string[0] string[1] string[2] string[3] string[4] string[5] string[6] string[7] string[8] string[9] str string[10] string[11] string[12] string[13] n ! a \0 运行结果: I love China! China! 3/10 ➢ 用字符指针实现 int main ( ) { char *string = “I love China!”; printf (“%s\n”, string); string += 7; //string指针变量, 可改变 printf (“%s\n”, string); return 0; } I l o v e C h i string n ! a \0 string
例在输入的字符串中查找有无‘k字符 int main() ps st charst[141,*ps; &st[0] st[O] printf("input a string:In"); st[1] ps=st; st[2] scanf("%s",ps); 0 st[3] for(;*ps=10';ps++) v st[4] if(*ps=='k') e printf("There is a 'k'in the stringIn"); st [5] break; C h if(*ps="10 n printf("There is no 'k'in the stringln"); a } st[12] return 0; 0 st[13] example7_4_1 4/10
例 在输入的字符串中查找有无‘k’字符 int main() { char st[14],*ps; printf("input a string:\n"); ps=st; scanf("%s",ps); for( ; *ps!='\0'; ps++) { if(*ps=='k') { printf(“There is a 'k' in the string\n"); break; } } if(*ps=='\0') { printf("There is no 'k' in the string\n"); } return 0; } st[0] st[1] st[2] st [3] st [4] st [5] 。 。 。 st st [12] st [13] I l o v e C h i st[0] st[1] st[2] st [3] st [4] st [5] 。 。 。 st st [12] st [13] n ! a \0 ps &st[0] 4/10 example7_4_1
2、字符数组与字符指针变量 str char str[20];5 char *cp; 分配存放 st[0]数组元素 ●str由若干元素组成,每个元素放一个字符 数组元素 st[1] 存储空间 cp中存放字符串首地址 st[2] ●char str[2o];str=“I love China!'"; () 0 st[3] strcpy(str,"I love China!");( st[4] char *cp; cp=Ilove China!";(√) e st [5] ●cp接受键入字符串时 必须先开辟存储空间 c 分配存放 C ●str是地址常量 指针变量 h cp是指针变量 存储空间 i 0 n a C st[12] 0 st[13] i n a 恩 5/10
2、字符数组与字符指针变量 char str[20]; 与 char *cp; ⚫ str由若干元素组成,每个元素放一个字符; cp中存放字符串首地址 ⚫ char str[20]; str=“I love China!”; () strcpy(str, “I love China!”); (✓) char *cp; cp=“I love China!”; (✓) ⚫cp接受键入字符串时 必须先开辟存储空间 ⚫str是地址常量 cp是指针变量 5/10 I l o v e C h i st[0]数组元素 st[1] st[2] st [3] st [4] st [5] 。 。 。 str 分配存放 数组元素 存储空间 st [12] st [13] n ! a \0 I l o v e C h i cp 分配存放 指针变量 存储空间 n ! a \0