欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > C++基础22 字符串与字符数组及其相关操作

C++基础22 字符串与字符数组及其相关操作

2024/10/25 16:20:16 来源:https://blog.csdn.net/qq_39434533/article/details/140219375  浏览:    关键词:C++基础22 字符串与字符数组及其相关操作

这是《C++算法宝典》C++基础篇的第22节文章啦~

如果你之前没有太多C++基础,请点击👉C++基础,如果你C++语法基础已经炉火纯青,则可以进阶算法👉专栏:算法知识和数据结构👉专栏:数据结构啦

目录

📕什么是字符类型?

🖊训练:打印字母表

🖊打印字母表参考代码

📕字符串定义与初始化

📕字符串与字符的区别

🖊训练:输出两个单词

🖊输出两个单词参考代码

📕字符数组的概念

📕字符数组的定义

📕字符数组的赋值

📕字符串常用函数

🧠①gets函数

🧠②strlen函数

🖊训练:统计数字个数

🖊统计数字个数解析

🖊统计数字个数主体代码


什么是字符类型?

字符类型为由一个字符组成的字符常量或字符变量。

字符变量定义:

char 字符变量;

字符类型是一个有序类型, 字符的大小顺序按其ASCⅡ代码的大小而定。

训练:打印字母表

按字母表顺序和逆序每隔一个字母打印。

【输出描述】输出26个字母,从a开始隔一个字母打印下一个字母,如,a打印之后打印c,一直到最后一个字母,再逆序输出下一个字母,每两个字母之间空一个格

【样例输出】

a  c  e  g  i  k  m  o  q  s  u  w  y z  x  r  v  t  p  n  l  j  h  f  d  b

打印字母表参考代码

#include<iostream>
using namespace std;
int main()
{for (char i='a';i<='z';i+=2)cout<<" "<<i;cout<<endl;for (char i='z'; i>='a'; i-=2)cout<<" "<<i;return 0;
}

字符串定义与初始化

主要有以下两种定义方式:

  string s1;  //定义一个字符串变量s1string s2 = "Hello world!";  //定义s2并初始化为字符串常"Hello world!"

字符串与字符的区别

注意:\0的ACSII码为0

训练:输出两个单词

输入两个单词,用空格隔开,然后分两行分别输出这两个单词

【输入描述】两个英文单词并用空格隔开

【输出描述】输入的两个单词换行输出

【样例输入】

dream maker

【样例输出】

dream
maker

输出两个单词参考代码

#include<iostream>
#include<string>
using namespace std;
int main()
{string s1,s2;cin>>s1>>s2;cout<<s1<<endl<<s2;return 0;
}

字符数组的概念

字符数组是指元素为字符的数组。

字符数组是用来存放字符序列或字符串的。

字符数组也有一维和二维之分。

字符数组的定义

字符数组定义格式同于一般数组,所不同的是数组类型是字符型,第一个元素同样是从ch1[0]开始,而不是ch1[1]。具体格式如下:

[存储类型] char 数组名[常量表达式1]…

例如:

char ch1[5]; //数组ch1是一个具有5个字符元素的一维字符数组char ch2[3][5]; //数组ch2是一个具有15个字符元素的二维字符数组

字符数组的赋值

字符数组赋值类似于一维数组,赋值分为数组的初始化和数组元素的赋值。初始化的方式有用字符初始化和用字符串初始化两种,也有用初始值表进行初始化的。

①用字符初始化数组

例如:

char chr1[5]={'a','b','c','d','e'};

说明:初始值表中的每个数据项是一个字符,用字符给数组chr1的各个元素初始化。

②用字符串初始化数组

例如:

char chr2[5]="abcd";

说明:字符串的长度应小于字符数组的大小。

③数组元素赋值例如:

char chr[3];
chr[0]='a';chr[1]='b';chr[2]='c';

字符串常用函数

①gets函数

格式:gets(字符串名称)

说明:使用gets只能输入一个字符串,从光标读到换行符为止。

例如:gets(s1);输入“Hello World”,以换行结束,s1获取的结果是Hello World。

②strlen函数

说明:求字符串的长度,如a=strlen(a),求字符串a的长度

训练:统计数字个数

输入一行字符,统计出其中数字字符的个数。

【输入描述】一行字符串,总长度不超过255。

【输出描述】输出为1行,输出字符串里面数字字符的个数。

【样例输入】

Peking University is set up at 1898.

【样例输出】

4

统计数字个数解析

1.使用字符串引入cstring头文件,即:

#include <cstring>

2.输入字符串使用gets函数,若字符串名称为s,则:

gets(s)

3.想要求统计数字字符的个数,需要遍历字符串,即:

for(i=0;i<len;i++)
{if(s[i]>='0'&&s[i]<='9')n++;   //n表示数字字符的数量
}

统计数字个数主体代码

int n=0,i,len=0;
char s[256];
gets(s);
len=strlen(s);
for(i=0;i<len;i++)
{if(s[i]>='0'&&s[i]<='9')n++;
}
cout << n;

从入门到算法,再到数据结构,查看全部文章请点击此处​​​​​icon-default.png?t=N7T8http://www.bigbigli.com/

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com