7-字符串
1-ASCII
0-9 对应 48-57
A-Z 对应 65-90
a-z 对应 97-122
2-字符数组
字符变量存储单个字符
字符数组存储多个字符
字符串就是字符数组加上结束符 ’ \0 ’
#include <iostream>
using namespace std;
int main(){//是字符数组,不是字符串char a1[]={'C','+','+'};//字符串char a2[]={'C','+','+','\0'};char a3[]="C++";//错误:没有空间可存放结束符char a4[6]="Daniel";//从第二个字符输出cout<<a2+1;//字符数组输入时不加取址符号scanf("%c",a2);return 0;
}
3-输入输出
输入字符串时,遇到空格或者回车就会停止
输出字符串时,遇到空格或者回车不会停止
读入一整行字符串,包括空格
#include <iostream>
using namespace std;
int main(){char s[100];fgets(s,100,stdin);string s;getline(cin,s);return 0;
}
4-字符数组的操作
//引入头文件
#include <string.h>
#include <cstring>//求字符串的长度
//只计算字符串的元素,\0不计入其中
strlen(s)//比较字符串的大小,比较方式采用字典序
//a<b返回-1
//a==b返回0
//a>b返回1
strcmp(a,b)//将字符串b复制到字符串a
strcpy(a,b)
5-string
可变长的字符序列
#include<iostream>
#include<cstring>
using namespace std;
int main(){string s1; //默认空字符串string s2=s1; //s2是s1的一个副本string s3="hiya";string s4(10,'c');//定义10个c//输入不能用scanf,输出可以用printfprintf("%\n",s1.c_str());//empty()用来判断字符串是否为空//空返回1,非空返回0cout<<s1.empty()<<endl;cout<<s3.empty()<<endl;//size()返回字符串的长度cout<<s3.size()<<endl;//支持比较运算符的所有比较操作,按字典序进行比较//两个string对象相加string s5="hello" , s6="world";string s7=s5+s6;s5=s5+"kitty"+'!';return 0;
}
auto 关键字用于让编译器自动推导变量的类型