C++ · 字符串篇

C++ · 字符串篇,第1张

C++字符串入门,看这一篇就足够了

首先向大家说句抱歉,我已经一个月没更新文章了

OK,那咱们直接进入正题,谈谈字符串那些事儿

一、字符串介绍与特征

字符串简单说就是能够存储字符的数组,用法很多,我们来谈几个
重点:字符串总是以char为结尾,不管是什么类型的字符串都是这样

二、字符串输入

在C++中,字符串分为两种类型:stringchar
他们的不同点很多,例如:
输入输出
cin 类型输入方式:直接#

includeusing 
namespace ; stdint

main ( )char
{
	; ch;
	cin>>chreturn
    0 ;}
#

但是,这样写程序只会输入一个数,咱们写一个输出试试

includeusing 
namespace ; stdint

main ( )char
{
	; a;
	cin>>a<<
	cout;areturn
    0 ;}
a

运行结果:


好,问题来了,怎样才能完整的输出呢
只要把亿点设大#就可以了

includeusing 
namespace ; stdint

main ( )char
{
	[ a1000000];;
	cin>>a<<
	cout;areturn
    0 ;}
#

运行结果:


你也许会发现,字符串其实是数组!

当然,也可以指定输出哪一位

includeusing 
namespace ; stdint

main ( )char
{
	[ a1000000];;
	cin>>a<<
	cout[a1];//输出第2位 return
    0 ;}
string

对比charstring真的是太逊啦
cin的输入输出
输入方式:直接cout
输出方式:直接char

乍一看,好像跟string没什么不同的
BUT,看看这个示例程序,你就知道#好在哪里了

includeusing 
namespace ; stdint

main ( );
{
	string a;
	cin>>a<<
	cout;areturn
    0 ;}
string

运行结果:


我们发现:char类型允许用户输入很长的字符串,而string类型却做不到这一点,这也是为什么大家都喜欢用char-----方便!

三、字符串长度

stringchar都有求长度函数

1、#类型求长度

includeusing 
namespace ; stdint

main ( )char
{
	[ a1000];;
	cin>>a<<
	coutstrlen()a;//strlen函数返回字符串的长度 return
    0 ;}
#

运行结果:


当然,还有一个厉害的方法求长度…

includeusing 
namespace ; stdint

main ( )char
{
	[ s1000];int
	= len0;;
	cin>>sfor
	(int= i0;[s]i!=';'++)i++; {
		len}<<
	;
	coutreturnlen0
    ; }string
#

这个程序的原理是利用字符串的结尾为include,循环求长度

2、using类型求长度

namespace; 
int main std(

) ; ;int
{
	string b=
	cin>>b.
	size len2(b);int=. 
	length len3(b);<<<<" "
	cout<<len2;return0len3;
    } string.size()
.length()

32类型求长度有两个函数:#include

运行结果:

四、熟悉ASCII码


规律:每一个大写字母与相应的小写字母相差using

五、实际应用

1、洛谷P5733

AC代码:

namespace; 
int main std(

) ; ;for
{
    string ch(
    cin>>chint
    =0; i<.lengthi(ch);++)ifi([ {
    	]'a'ch&&i[>=] <= ch'z'i)[]-= ch32i;//是小写字母,就转换}<< ;
	return
	cout0ch;
    } #include
using

2、洛谷P1914

AC代码:

namespace; 
int main std(

) ; int;
{
	string ch;
	for n(
	cin>>n>>chint
	=0; i<.lengthi(ch);++)ifi([ {
		]+ch'z'i)[n>]= ch[i]+ch-i26;nelse[]
		= ch[i]+ch;i}<<n;
	return
	cout0ch;
    } 


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1323415.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-12
下一篇2022-06-12

发表评论

登录后才能评论

评论列表(0条)

    保存