字符串与字符串结束标志 有效字符串的长度与字符数组的长度 Char c[10]={i′,,a'} 有效长度,与数组长度分别为3,10 C语言规定了一个“字符串结束标志”,以字符‘0′代表, 它是一个空操作符,一个辨别标志。 合法定义: Char c[=mi am happy") Char c[=wi am happy 注意:C数组的长度是字符串常量的长度+1
15 有效字符串的长度与字符数组的长度 Char c[10]={‘i’ , ‘ ’ , ’a’} 有效长度,与数组长度分别为 3,10 C语言规定了一个“字符串结束标志” ,以字符‘\0’代表, 它是一个空操作符,一个辨别标志。 合法定义: Char c[]={“I am happy”} Char c[]=“I am happy” 注意:C数组的长度是字符串常量的长度+1 字符串与字符串结束标志
字符串 有字符串常量,例如:" china 没有字符串变量,用字符数组来存放字符串 般来说,字符串以“0为结束标志但字符数组并不 要求它的最后一个字符一定为“0 61: char str[4]=s,'c,'a,'u char str[8]={112,114,11103,114,97,1090}; char str[8=(p,r,o,g,r,a', 'm, 0 char str[8=program char str[=program 16
16 有字符串常量,例如:"china" 没有字符串变量,用字符数组来存放字符串 一般来说,字符串以‘\0’为结束标志,但字符数组并不 要求它的最后一个字符一定为‘\0’ 例:char str[4]={‘s’,’c’,’a’,’u’}; char str[8]={112,114,111,103,114,97,109,0}; char str[8]={'p','r','o','g','r','a','m','\0'}; char str[8]="program"; char str[]="program"; 字符串
字符数组的输入/输出 若改为: static char str[131 scanf(%s, str) 运行时输入数据: How are you? 内存中变量str内容如下 str:H ow
17 字符数组的输入/输出 ◼ 方法 ◼ 逐个字符输入输出 ◼ 将整个字符串一次输入或输出 例:char c[]="China"; printf("%s",c); char c[10]; scanf(“%s”,c); ◼ 注意 ◼ 输出字符不包括 '\0' ◼ 用“%s”输出字符串时,输出项是字符数组名(不加&), 输出时遇到第一个‘\0’结束(字符中可能有多个‘\0’)。 ◼ 用scanf输入多个字符串时,以空格分隔;输入单个字符 串时其中不能有空格。 例如: 程序中有下列语句: static char str1[5],str2[5],str3[5]; scanf("%s%s%s",str1,str2,str3); 运行时输入数据: How are you? 内存中变量状态如下: str1: H o w \0 str2: a r e \0 str3: y o u ? \0 若改为: static char str[13]; scanf("%s",str); 运行时输入数据: How are you? 内存中变量 str 内容如下: str: H o w \0
若千注意问题 1.数组名称代表该数组的起始地址 scant(%s”&st)< scant(%s”,str)<- 错对 2用 scanf输入字符串时以回车或空格作为结束标记 3.C语言中不允许用赋值表达式对字符数组赋值; char str|6;str=“ China”;< Char str|6=“ china”; 错对 例:p13 I cha.c
18 若干注意问题 1.数组名称代表该数组的起始地址 scanf(“%s”,&str) <----- 错 scanf(“%s”, str) <----- 对 2.用scanf输入字符串时以回车或空格作为结束标记 3. C语言中不允许用赋值表达式对字符数组赋值; char str[6]; str=“China”; <----错 Char str[6]=“china”; <----对 例:p131_cha.c
字符串处理巫数 - puts输出字符串 gets输入字符串 ( include<stdio. h>) strcat字符串连接 strcpy字符串复制 strcmp字符串比较 strlen字符串长度 strlwr将字符串中的大写字符转换为小写字符 struer将字符串中的小写字符转换为大写字符 (#include<string. h>)
19 字符串处理函数 ◼ puts 输出字符串 gets 输入字符串 (#include<stdio.h>) ◼ strcat 字符串连接 strcpy 字符串复制 strcmp 字符串比较 strlen 字符串长度 strlwr 将字符串中的大写字符转换为小写字符 strupr 将字符串中的小写字符转换为大写字符 (#include<string.h>)