C语言字符串

本文深入探讨了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。

 

转载于:https://www.cnblogs.com/hzko5114/p/3496924.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值