欢迎使用本站,预祝练习时长两年半的选手们到成功! [本模块信息来自tem/def/head]

wangruoy字符串初识

时间:2024-07-08 15:29 作者:lizq 点击:
字符 :由引号括起来的英文、数字、标点符号组成的单个内容 字符串 :多个字符连接到一起称为字符串,用双引号括起来 字符串和字符数组的区别 :字符串末尾必须有'\0'空字符 ## 以

字符:由引号括起来的英文、数字、标点符号组成的单个内容

字符串:多个字符连接到一起称为字符串,用双引号括起来

字符串和字符数组的区别:字符串末尾必须有'\0'空字符


## 以字符串对字符数组进行初始化

char a[5]={"abcd"}; //存:'a' 'b' 'c' 'd' '\0'

char a[5]={"abcde"};//报错 没有给空字符留位置

char a[5]="abcd";   //可以省略大括号


##字符串 string 类型

字符串创建后,在内存中,存放的位置,与基本数据类型不同

string 字符串名;

输出字符串占用的空间大小,输出的不唯一,结果是几个字节

cout<<sizeof("字符串");//使用电脑进行输出,考试以电脑输出为准


学习字符串:是一个单独的结构,不是数组

字符串拥有与字符数组相同的功能,可以使用下标

string s;

cin>>s;

cout<<s;  //无法输入空格


//使用下标输出字符串中每个元素

for(int i=0;i<s.size();i++){

  cout<<s[i];//s[i]代表的是字符串中,当前位置的字符

}


getline(cin,字符串名);//字符串的有空格的输入


# 字符串的函数(解决问题的方法)

## size

s.size();//获取字符串的实际个数 不会带空字符

## length

s.length();//与s.size()没有区别获取字符串长度


## resize

s.resize();//重置长度

> string s="abc";  原字符串长度为 3位字符

> s.resize(2);     重置长度为2

> cout<<s;         结果只保留前两位 ab


## compare 字符串的比较:看哪个字符串大、小、相等


s1.compare(s2); //比较s1比s2如何,返回一个数字,

正数1  表示s1大,

负数-1 表示s2大,

   0  表示一样大


string支持使用关系运算符 > < >= <= == !=

string s ="9";

string s2="123";

if(s>s2) cout<<s;

else cout<<s2;

此时,s大,字符串比较大小,是根据ascii值比较

对两个字符串自左向右逐个(字符)相比按ASCII码比较,

直到出现不同的字符或遇到'\0',如果全部字符相同,则

认为相等,若出现不相同的字符,则以【第一个不相同的

字符的比较结果】为准


如何让数字形态的字符 变成它对应的字符?  '字符'-'0'

如果想比较字符串中代表的数字大小,怎么操作:

例如 “123”  --  “789”  让数字一百二十三 和七百八十九 比较

类型转换 将字符串“123”变数字一百二十三...


int a=0;

int b=0;

for(int i=0;i<s.size();i++){

  a=a*10+s[i]-'0';

}

for(int i=0;i<s2.size();i++){

  b=b*10+s2[i]-'0';

}

if(a>b) cout<<s;

else cout<<s2;

(责任编辑:lizq)
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%