C语言字符串

1.字符串的概念

在C语言中,没有字符串类型,自然不能使用字符串变量,但可以使用字符串常量。

字符串是指若干有效字符的序列,其表示方法是用双引号将字符序列括起来,如“string”。

字符串可以包括转义字符及ASCII码表中的字符。

2.字符串的存储

在对字符串进行处理时,字符串存放在字符数组中,例如:

static char s[14];

C语言规定字符‘\0’作为字符串结束的标志。

例如:char s[14]={"How are you?"};

s的长度为14实际字符只有12个,和一个‘\0’

数组命名可以省略花括号:例如 char s[8]="program";但不能是:s=“program”;

3.字符串的输入与输出

<1>使用printf()输出字符串:用%s,%c来控制输出,%s整个输出,%C则一一用循环输出;

<2>使用puts()输出:puts(str);会自动换行;

<3>字符串输出:scanf():格式:scanf("%s",s);不用再加&,因为s即代表该字符数组的起始地址。输入字符最后以回车符或空格为止,所以无法输入空格。

<4>使用gets()输入字符串:gets(s);以回车为结束,可以读入空格;

scanf()一次可以输入多个字符串,如:scanf("s%s%",s1,s2);gets()一次只能输入一个

4.字符串处理函数

这些函数放在sting.h中;

<1>字符串复制函数strcpy().

格式调用:

strcpy(str1,str2);

函数功能:将字符串str2复制到字符串数组str1中,str2的值不变。

由于数组不能进行整体复制,所以不能直接使用赋值语句来实现赋值,下列是非法的:

str1=str2;str=“program”;

<2>字符串连接函数strcat().

调用格式:

strcat(str1,str2);

函数功能:将str2连同‘\0’连接到str1的最后一个非‘\0’字符后面。连接后的新字符串存到str1中。

<3>字符串比较函数strcmp();

调用格式:

strcmp(str1,str2);

函数功能:若str1=str2,则函数返回值为0;若str1>str2,则函数返回值为正整数;若str1<str2,则函数返回值为负整数;

注:字符串比较不是比较长短,而是比较ASCII码值的大小。从左到右比较,直到遇到不同值,以首个不同大者为大。并返回两者之差。

比较两个字符串是否相等用:if(strcmp(str1,str2)==0){};而不能是if(str1==str2)

<4>字符串长度行数strlen().

调用格式:strlen(string);

 

<5>在stdlib.h中,还有atoi,将字符串转化为整数、长整数,double。

 

posted @ 2013-12-29 23:09  hzko5114  阅读(279)  评论(0编辑  收藏  举报