字符数组和字符串:
字符数组定义:
char arr[长度] 最后一位'\0',字符数组结束
获取字符数组长度:
strlen(数组名)
for(int i=1;i<strlen(arr);i++)
{
cout<<arr[i]<<" ";
}
识别最后一位'\0'
for(int i=0;arr[i]!='\0')
{
cout<<arr[i]<<" ";
}
获取整行字符数组:
cin.getline(数组名,长度)
字符数组常见函数:
strcpy(目标数组,原数组)字符数组拷贝
strcat(str1,str2) 两个字符数组连接(str后面添加str2)
strchr(str,'a') 在字符数组中查找单个字符,找到1,没找到0
strstr(str,"dfff") 在字符数组中查找子串,找到1,没找到0
判断单个字符通用方法:
isupper(ch) 判断ch是否为大写
islower(ch) 判断ch是否为小写
isdigit(ch) 判断ch是否为数字
isalpha(ch) 判断ch是否为字母
字符串定义:
string str;
输入没有空格:
cin>>str;
输入有空格(整行):
getline(cin,str)
字符串常见函数:
str.size() 获取字符串长度,str.length()
str.empty() 判断字符串是否为空
str.clear() 清空字符串
str.find("sub") 查找字符串中是否存在子串sub
str.insert(位置,“内容”) 字符串插入
str.erase(位置,删除长度) 字符串删除
str.replace(位置,长度,“替换内容”) 字符串替换
结构体:可以存储多种数据元素
struct 结构体名
{
数据类型1;
数据类型2;
。。。。。。
};
引用结构体:
1.student s;//创建s对象
2.struct 结构体名
{
数据类型1;
数据类型2;
。。。。。。
}stu;//结构体后面创建stu对象
结构体填充数据
cin>>stu.数据类型
结构体初始化
1.结构体名 对象名={“xx”,98,89}
2.a.name="xx";
a.max=98
..
结构体数组
1.在结构体结束后面直接加数组
struct 结构体
{
数据......
}a[100];
2.结构体名 数组名[空间]