- 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]
您可能关注的文档
- 教学课件1.1 客户信息的收集与整理.pptx
- 教学课件1.1货币的产生与发展.ppt
- 教学课件1.2 客户财务状况分析.pptx
- 教学课件1.2a货币的本质与职能 - 货币的本质.ppt
- 教学课件1.3操作系统特征和功能.pptx
- 教学课件1.5操作系统内核结构.pptx
- 教学课件1.6 典型操作系统介绍.ppt
- 教学课件1:数据采集基础.ppt
- 教学课件1C程序设计起步.ppt
- 教学课件2.2 现金规划工具.pptx
- JJG 543-2026心电图机检定规程.pdf
- 《JJG 543-2026心电图机检定规程》.pdf
- GB/T 47045-2026乘用车车载信息优先级的确定方法.pdf
- 《GB/T 12668.2-2025调速电气传动系统 第2部分:一般要求 交流调速电气传动系统额定值的规定》.pdf
- 中国国家标准 GB/T 12668.2-2025调速电气传动系统 第2部分:一般要求 交流调速电气传动系统额定值的规定.pdf
- 中国国家标准 GB/T 31487.1-2025直流融冰装置 第1部分:系统设计.pdf
- GB/T 12668.2-2025调速电气传动系统 第2部分:一般要求 交流调速电气传动系统额定值的规定.pdf
- GB/T 31487.1-2025直流融冰装置 第1部分:系统设计.pdf
- 《GB/T 31487.1-2025直流融冰装置 第1部分:系统设计》.pdf
- 《GB/T 31418-2025道路交通信号控制系统术语》.pdf
原创力文档

文档评论(0)