教学课件5.2字符数组.pptVIP

  • 2
  • 0
  • 约3.5千字
  • 约 20页
  • 2022-07-11 发布于辽宁
  • 举报
正版课件 内容可修改 5.2字符数组 主讲:廖智蓉 项目5简易的通讯录管理 字符数组 一维字符数组的定义 1. 一维字符数组的定义 例如:char c[10]; 意思是定义一个字符数组c,它有10个元素。 字符数组的初始化 (1)定义时逐个字符给数组中各元素。 char c[5]={‘c’,’h’,’i’,’n’,’a’}; c h i n a \0 c h i n a \0 \0 \0 \0 \0 (2)可省略数组长度。 char c[ ]={‘c’,’h’,’i’,’n’,’a’}; 系统根据初值个数确定数组的长度,数组c的长度自动为5。 (3)字符数组可以用字符串来初始化。 char c[6]=”china”; char c[10]={“china”}; /*花括号可以省略*/ 引用 (1)“%s”格式输入时,遇空格或回车结束,但获得的字符中不包 含回车及空格本身,而是在字符串末尾添’\0’。 方法一:用%c格式符逐个输入输出。 例如: char c[6]; for(i=0;i6;i++) {scanf(“%c”,c[i]); printf(“%c”,c[i]); } 方法二:用%s格式符进行字符串输 入输出。例如: char c[6]; scanf(“%s”,c); printf(“%s”,c); 举例 三个同学姓名的输入输出。 程序如下: #include stdio.h main() {char name1[10],name2[10],name3[10]; printf(请输入姓名:\n); scanf(%s%s%s,name1,name2,name3); printf(输出的姓名为:\n); printf(%s,%s,%s\n,name1,name2,name3);} 程序的运行结果表明:%s输入时,空格或回车表示输入的分隔符 字符串处理函数 (1) 输入字符串函数——gets() 格式:gets(字符数组名) 例如:char s[12]; gets(s); 功能:从键盘输入1个字符串。允许输入空格,而是以回车作为输入结束。 将上例修改为gets()输入: #include stdio.h main() {char name1[10],name2[10],name3[10]; printf(请输入姓名:\n); gets(name1); gets(name2); gets(name3); printf(输出的姓名为:\n); printf(%s,%s,%s\n,name1,name2,name3);} 字符串处理函数 (2) 输出字符串函数——puts() 格式:puts(字符数组名) 例如:char s[12]=“hangzhou”; puts(s); 功能:输出1个字符串在屏幕上。 将上例修改为puts()输出: #include stdio.h main() {char name1[10],name2[10],name3[10]; printf(请输入姓名:\n); gets(name1); gets(name2); gets(name3); printf(输出的姓名为:\n); puts(name1); puts(name2); puts(name3); } 上面两个函数的使用仍然是需要“stdio.h”包含,接下介绍的字符串函数,我们应使用包含头文件“string.h” 串连接函数(strcat) (1)格式:strcat(字符数组名1,字符数组名2); (2) 功能:把字符数组2中的字符串(连同尾部的’\0’)连接到字符数组1中字符串的后面,并删去字符串1后的串结束标志’\0’ 。本函数返回值是字符数组1的首地址。 (3)说明:字符数组1必须足够大。 举例 #includestring.h void main() { char st1[30]=My name is ; char st2[10]; printf(请输入姓名:\n); gets(st2); strcat(st1,st2); puts(st1); } 写出下面程序的运行情况。 程序运行情况 输入Zhang yi↙时,输出结果是什么? My name is Zhang yi 输出结果: 串拷贝函数(strcpy) (1)格式:strcpy(字符数组名1,字符数组名2); (2) 功能:把字符数组2中的字符串拷贝到字符数组1中。串结束标志“\0”也一同拷贝。 举例 写出下面程序的运行情况。 输出结果: #include string.h void main() { char st1[15]

文档评论(0)

1亿VIP精品文档

相关文档