点击这里给我发消息 点击这里给我发消息

C语言字符串基础学习

添加时间:2013-12-7
    相关阅读: 程序 C语言 系统

    字符串与字符数组都是描述由多个字符构成的数据,字符串借用字符数组来完成处理。但请注意:

    (1)表示字符串数据用双引号表示,而字符数据用单引号。

    (2)字符串的长度可以根据串中字符个数临时确定,而字符数组的长度必须事先规定。

    (3)对字符串,系统在串尾加‘\O’作为字符串的结束标志,而字符数组并不要求最后一个字符为‘\O’。

    (4)用字符数组来处理字符串时,字符数组的长度应比要处理的字符串长度大1,以存放串尾结束符‘\O’。

    例如:

    static char city[9]= ‘c’,‘h’,‘a’,‘n’,‘g’,‘s’,‘h’,‘a’,‘\0\')。可用字符串描述为:static char city[9]={\"changsha\")或\"changsha\";

    上述两条语句可分别理解为用字符数组来处理字符串,用字符串对字符数组初始化。但千万请注意不能在程序中给字符数组赋值。中国自学编程网整理发布例如:

    city一\"changsha\";/*绝对错误*/

    下面介绍用字符数组来处理字符串的一些整体操作。

    1.输入输出

    输入输出用scan{()、printf()函数完成,采用“%s”格式。输入输出参数用字符数组名。

    例如,有如下程序:

    main()

    {char comp[:9];scan{(“%s”,comp);/*本身就是地址,不需加地址运算符*/print{COMP=%s“,comp);}

    输入数据:CHINAONE

    运行结果:COMP—CHINAONE

    说明:

    (1)输入字符串数据时不需用界定符。

    (2)输入多个字符串数据时,以空格分隔数据。如果字符串数据本身包含有空格字符,需采用特殊处理。

    (3)输出先找到存放字符串的字符数组的首地址,遇串尾结束符‘\0’结束。输出字符不包括串尾结束符‘\O’。

    (5)如果字符数组长度大于字符串实际长度,也只输出到‘\O’结束。

    2.字符串处理函数

    puts()与gets()函数包含在头文件stdio.h中,字符串处理函数包含在头文件string.h中,用#include,,String.h“指明。

    在以下的函数中,参数str、str1、str2为字符数组类型或指向字符的指针类型。

    (1)puts(str)

    输出指定字符串。参数可以为字符串常量。

    (2)gets(str)

    从键盘输入字符串至字符数组str中,输入的字符串可以包含空格。函数的返回值是字符数组str的首地址。

    (3)strcpy(strl,str2)

    将str2的值复制到strl中,实际上完成字符串的赋值操作。要求strl的长度大于str2的长度,第二个参数可以是字符串常量。

    (4)strcat(strl,str2)

    将str2的值连接到strl中原有值的后面。注意strl必须足够大,以便能容纳两个字符数组中的所有值。连接完成后,两个字符串并成一个字符串,第一个字符串后面的原结束符自动取消。[Page]

    (5)strcmp(st订,str2)

    比较strl和str2,若两者相同,返回函数值为0;若strl大于str2,返回函数值为一个正整数;若strl小于str2,返回函数值为一个负整数。

    字符串比较规则与其它语言相同,将两个字符串中的字符从左至右依次比较,如果全部字符相同,则认为相等;若出现不同字符,则以第一个不同字符比较结果为准。

    两个参数可以是字符串常量。

    (6)strlen(str)

    函数的返回值为字符串的实际长度。

    (7)strlwr-(str)

    将字符串中大写字母转换成小写字母。

    (8)strupr‘(str)

    将字符串中小写字母转换成大写字母。

    如果字符数组中包含多个‘\O’,输出遇到第一个‘\0’结束。

相关C语言字符串基础学习

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册