第六章C语言-数组.pptVIP

  • 202
  • 0
  • 约2.82万字
  • 约 84页
  • 2018-12-19 发布于北京
  • 举报
第六章C语言-数组.ppt

例 若准备将字符串“This is a string.”记录下来, 错误的输入语句为: (A)scanf(“%20s”,s); (B)for(k=0;k17;k++) s[k]=getchar(); (C)while((c=getchar())!=‘\n’) s[k++]=c; main( ) {char str[20]=Turbo C; int i=0; while (str[i]!=\0) {i++; if(str[i]=astr[i]=z) str[i]=str[i]-32; else if(str[i]=Astr[i]=Z) str[i]=str[i]+32; } printf(%s,str); } 例:写出下列程序的运行结果。 TURBO c 字符串输入函数gets 格式:gets(字符数组) 功能:从键盘输入一以回车结束的字符串放入字符数组中, 并自动加‘\0’ 说明:输入串长度应小于字符数组维数 字符串输出函数puts 格式:puts(字符数组) 功能:向显示器输出字符串(输出完,换行) 说明:字符数组必须以‘\0’结束 常用的字符串处理函数 包含在头文件 stdio.h 4.字符串处理函数: puts(str) 作用是:将一个字符串输出到终端,输出时将字符串结束标志‘\0’转换成‘\n’,即输出字符串后换行。 由于可以用printf函数输出字符串,因此puts函数用的不多。 例如: char str[]={“Hello\njsdx”}; puts(str); 输出: Hello jsdx gets(str) 作用是:从终端输入一个字符串到字符数组,并且得到一个函数值(该字符数组首地址)。通常我们利用gets函数向字符数组输入一个字符串,而较少关心函数值。 例如:执行 gets(str); 从键盘输入:Hello 将输入的字符串“Hello”送到字符数组str,函数值为str字符数组首地址。 char str1[10]=“I’m a ”; char str2[10]=“boy ”; strcat(str1,str2); (1)连接两个串:strcat(str1 , str2 ) 4.字符串处理函数: ①返回str1首地址。 ②数组str1的元素个数≥合并后串的长度; ③合并后前串原末尾的 ‘ \0 ’ 取消,在新串最后保留一个 ‘ \0 ’。 str1 I ’ b a _ _ o y m \0 str2 str1 \0 y o b I ’ _ a _ m \0 包含在头文件 string.h (2)字符串拷贝函数:strcpy(str1 , str2) ①作用是字符串复制,即str2拷贝到str1中去; ②str1必须是字符数组名形式,但 str2可以是字符数组名还可以是一个字符串常量。 ③拷贝时\0一同拷贝 ④不能使用赋值语句为一个字符数组赋值 ⑤ strncpy(str1 , str2 , n): str2前n个拷贝到str1中去。 char str1[10]; char str2[]=“boy ”; strcpy(str1,str2); str1 str1 str2 b o y \0 \0 b o y \0 char str1[10]=“hello”; char str2[]=“boy ”; strncpy(str1,str2,2); 思考: 作用是将str2的前两个字符复制到str1中。 结果bollo 例 char str1[20],str2[20]; str1={“Hello!”}; (?) str2=str1; (?) #include string.h #include stdio.h void main() { char destination[25]; char blank[]= ,c[]=C++, turbo[]=Turbo; strcpy(destination,turbo); strcat(destination,blank); strcat(destination,c); printf(%s\n,destination); } T r b o 0 1 2 3 4 5 6 7 8 9 u \0 24 ……. ……. T r b o \0 0 1 2 3 4 5 6 7 8 9 u 24 ……. …... T r b o C + + 0

文档评论(0)

1亿VIP精品文档

相关文档