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,输出可以用printf
printf("%\n",s1.c_str());
//empty()用来判断字符串是否为空
//空返回1,非空返回0
cout<<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 关键字用于让编译器自动推导变量的类型