字符串
认识字符串
0个或多个字符组成的一串字符,可以 是字母,数字,中文,或者其他符号。字符串需要用双引号包含。
例:cout<<"hello word";
注:字符用单引号包含,字符'\0的ASCII编码对应的是整数0'。当引号里面没有内容时为空字符串
存储和输出字符串
1.字符数组
2.string类型的变量
使用字符数组存储字符串
字符数组
数组是按照顺序保存一组数据的容器。字符数组就是数组中保存的元素是char类型。
例如:char arr[5]={'a','v','f','h','e'}
使用字符数组保存字符串
可以将字符串看成单个字符组成的数组。使用字符数组保存字符串的时候,必须使用字符'\0'结尾,'\0'是字符串结尾的标记
例如:"hello"----->char arr[6]={'h','e','l','l','o','\0'};用0可以代替'\0',且输出时'\0'不做输出
字符串的输出
从第一个元素开始依次往后输出,知道遇到'\0'为止
使用""字符串的形式初始化:
定义字符数组时可省略字符数组长度
'
'\0'控制符的重要性
字符串和字符数组:
字符串的输入
cin输入时不接受空格
代码实现:
cin.getline()函数:
cin.getline(字符数组名arr,数组长度length)
作用:用于接收输入的字符串,可以接受空格,不接受回车,回车用于结束输入
参数:arr用于接收输入字符串的字符数组,length用于限制字符串的长度,能够输入的最大长度为length-1
字符串输入总结:
字符数组遍历
实例代码:
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
//输入小写全部转化为大写
// char arr[100];
// cin>>arr;
// for(int i=0;arr[i]!='\0';i++){
// if('a'<=arr[i]&&arr[i]<='z')
// arr[i]-='a'-'A';
// }
// cout<<arr<<endl;
//字符串的输入
// char arr[20];
// cin.getline(arr,20);
// cout<<arr;
//遍历字符串
//接收字符串的输入,包含空格
// char arr[20];
// cin.getline(arr,20);
//遍历字符串中的有效字符,遇到0自动结束不在往后输出
// for(int i=0;arr[i]!=0;i++){
// cout<<arr[i]<<" ";
// }
//统计字符
int coutz=0,couts=0;//定义变量分别统计英文和数字的数量 coutz:英文;couts:数字
//定义字符数组保存接收输入进来的值
char arr[1001];
cin.getline(arr,1001);
//遍历循环字符数组
for(int i=0;arr[i]!=0;i++){
//判断是否是数字。0-9字符对应的数字为48-57
if(arr[i]>=48&&arr[i]<=57){
couts++;
}else{
coutz++;
}
}
cout<<coutz<<endl;
cout<<couts<<endl;
return 0;
}