1 / 29
文档名称:

C数组3(字符数组与字符串)[1].ppt

格式:ppt   大小:474KB   页数:29页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C数组3(字符数组与字符串)[1].ppt

上传人:s1188831 2017/8/10 文件大小:474 KB

下载得到文件列表

C数组3(字符数组与字符串)[1].ppt

文档介绍

文档介绍:高级语言程序设计C 数组
华东理工大学计算机基础教研室
2009年4月
本次课中需要解决的问题
字符数组
字符串
常用字符串处理函数
应用举例
字符数组和字符串
字符数组
定义
字符数组的初始化
逐个字符赋值
用字符串常量
例 char c[10], ch[3][4];
例 char ch[5]={‘H’,’e’,’l’,’l’,’o’};
ch[0]
H
e
l
l
o
逐个字符赋值
ch[1]
ch[2]
ch[3]
ch[4]
例 char ch[5]={‘B’,’o’,’y’};
ch[0]
B
o
y
*
*
逐个字符赋值
ch[1]
ch[2]
ch[3]
ch[4]
例 char ch[5]=“Boy”;
ch[0]
B
o
y
\0
*
用字符串常量
ch[1]
ch[2]
ch[3]
ch[4]
例 char ch[6]={“Hello”};
char ch[6]=“Hello”;
char ch[]=“Hello”;
用字符串常量
ch[0]
H
e
l
l
o
ch[1]
ch[2]
ch[3]
ch[4]
\0
ch[5]
例 char diamond[][5]={{'.', '.', 'q'},{'.', 'q','.', 'q'},
{'q', '.', '.', '.' ,’q'},{'.', 'q', '.', 'q'},{'.', '.', 'q'}};
二维字符数组初始化
.
.
q
.
q
.
q
q
.
.
.
q
.
q
.
q
.
.
q
diamond[0]
diamond[1]
diamond[2]
diamond[3]
diamond[4]
例 char fruit[][7]={“Apple”,”Orange”,
”Grape”,”Pear”,”Peach”};
二维字符数组初始化
fruit[0]
fruit[1]
fruit[2]
fruit[3]
fruit[4]
A
p
p
l
e
\0
O
r
a
n
g
e
\0
G
r
a
p
e
\0
P
e
a
r
\0
P
e
a
c
h
\0
例9 输出一个字符串
#include <>
main()
{ char c[10]={'I',' ','a','m',' ','a',' ','b','o','y'};
int i;
for(i=0;i<10;i++)
printf("%c",c[i]);
printf("\n");
}
I
a
m
a
b
o
y
0
1
2
3
4
5
6
7
8
9
字符串
字符串及其结束标志
无字符串变量,用字符数组处理字符串
字符串结束标志:‘\0’
例“hello”共5个字符,在内存占6个字节字符串长度5
h e l l o \0
104 101 108 108 111 0
内存存放字符ASCII码
例 char str[]=“Hello”;
char str[]={‘H’,‘e’,‘l’,‘l’,‘o’};
h e l l o
0
2
3
1
4
h e l l o \0
0
2
3
1
4
5
字符串的输入输出
逐个字符I/O: %c
整个字符串I/O: %s
例10 用%c
main()
{ char str[5];
int i;
for(i=0;i<5;i++)
scanf(“%c”, &str[i]);
for(i=0;i<5;i++)
printf(“%c”, str[i]);
}
例11 用%s
main()
{ char str[5];
scanf(“%s”, str);
printf(“%s”, str);
}
用字符数组名,不要加&
输入串长度<数组长度
遇空格或回车结束
自动加‘\0’
用字符数组名,
遇‘\0’结束
main( )
{ char a[5]={‘H’,’e’,’l’,’l’,’o’};
printf(“%s”,a);
}
main( )
{ char a[ ]=“Hello”;
printf(“%s”,a);
}
结果:Hello#-=*
h e l l o
0
2
3
1
4
结果:Hello
用“%s”输出时,遇‘\0’结束
main()<