全站搜索未启用
跳到主要内容

文本六:字符串的定义与应用

1.字符串的表示和存储

表示:用双引号括起来的一串字符。

如"abc", "姓名", "2456.0"

字符串存储:用一维字符数组存储,最后存储一个空字符’\0’,即ASCII码为0的字符。

字符串的长度:等于所包含的ASCII码字符的个数,每个汉字等于2个ASCII码字符。

字符数组存储字符串的条件:字符数组长度必须大于等于待存字符串的长度加1。

例如:存储字符串"array",串长度为5/p>

实际存储的内容:"array\0",需数组长度至少为6

在数组空间中的表示:

利用字符串初始化字符数组

如:char a[10]= "Max:"; //a[0]= 'M' a[1]= 'a' a[2]= 'x' a[3]= ':'

字符串的输入和输出

输入: scanf("%s",a)或gets(a) //前者以空格或回车,后者以回车结束

输出: printf("%s",a)或puts(a) //后者相当于printf("%s\n",a)

利用二维字符数组表示和存储若干个字符串

char b[3][10]={"well","good","pass"};

for(i=0; i<3; i++) puts(b[i]); //利用行下标输出每个字符串

2.字符串函数

对字符串进行比较大小、复制、连接、求长度等操作是通过C语言函数库中提供的字符串函数实现的,使用这些函数时必须包含头文件string.h。

待处理字符串:a[10]="abcd"; b[10]="efg"; c[10]="";

(1) 求字符串长度函数strlen(x)

求出x所表示的字符串中的字符个数。

参数x可以是字符串常量、一维字符数组名、二维字符数组中的单下标变量。

strlen(a)=4 strlen(b)=3

strlen(c)=0 strlen("字符串长度")=10

(2) 字符串复制(拷贝)函数strcpy(x,y)

把字符串y复制到字符串x中。x和y都是字符指针(数组)参数。

strcpy(c,a); //c内容也为"abcd"

不允许字符串的直接赋值操作:c=a;

(3) 字符串连接函数strcat(x,y)

把字符串y复制到字符串x的末尾。

strcat(c,"58"); c:"abcd58" c字符数组长度为10,字符串长度为6

strcat(c,b); c:"abcd58efg" b: "efg" c中字符串长度为9

strlen(x)+strlen是的<x数组长度

(4) 字符串比较函数strcmp(x,y)

比较字符串x和字符串y的大小,前者大返1,后者大返-1,相等返0

strcmp(a,b)=-1

strcmp(a, "abak")=1

strcmp(b, "efg")=0

字符串比较只能采用比较函数strcmp(),不能采用比较运算符。a>b

最后修改: 2019年09月26日 Thursday 18:56