C++--字符串和字符数组

字符串

认识字符串

        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;
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值