👨💻个人主页:@开发者-削好皮的Pineapple!
👨💻 hello 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
👨💻 本文由 削好皮的Pineapple! 原创
👨💻 收录于专栏:C++程序设计
文章目录
⭐前言⭐
用来存放字符数据的数组是字符数组,字符数组中的一个元素存放一个字符。字符数组具有数组的共同属性。由于字符串应用广泛,C和C++专门为它提供了许多方便的用法和函数,因此有必要专门介绍字符串和字符数组。
🎶一、字符数组
(一)定义和初始化字符数组
定义字符数组初始化和前面介绍的方法类似,以下再例举一些例子。
//第一种赋值方式 char c[10]; c[0]='I';c[1]=' '; c[2]='a';c[3]='m'; c[4]='j';c[5]=' '; c[6]='l';c[7]=' '; c[8]='h';c[9]='x'; //第二种赋值方式 c[10]={'I',' ','a','m','j',' ','l',' ',' ','h','x'}; //第三种赋值方式 c[]={'I',' ','a','m','j',' ','l',' ',' ','h','x'};
(二)字符数组的赋值与引用
需要注意的是:只能对字符数组的元素赋值,而不能用赋值语句对整个数组赋值
举例说明:
char c[5]; c=['C','h','i','n','a'];//错误 c[0]='C';c[1]='h';c[2]='i';c[3]='n';c[4]='a';//正确
🌰:设计和输出一个钻石图形。
#include<iostream> using namespace std; int main() { char diamond[5][5]={{' ',' ','*',' ',' '},{' ','*',' ','*',' '}, {'*',' ',' ',' ','*'},{' ','*',' ','*',' '},{' ',' ','*',' ',' '}}; int i,j; for(i=0;i<5;i++) { for(j=0;j<5;j++) cout<<diamond[i][j]; cout<<endl; } return 0; }
运行结果如图:
(三)字符串和字符串结束标志
C++规定了一个“字符串结束标志符”,以字符‘\0’代表。遇到字符‘\0’就表示字符串到此结束,由它前面的字符串组成有效字符串。
在程序中往往依靠检测‘\0’的位置来预判字符串是否结束,而不是根据数组的长度来决定字符串的长度。
我们可以用字无创产量来初始化字符数组,例如:
char str[12]={'I',' ','a','m',' ','h','a','p','p','y',};//可以写成 char str[]={"I am happy"}; char str[]="I am happy";
⚠️注意:数组str的长度不是十而是11因为字符串产量的最后由系统加上了一个‘/0’。
(四)字符数组的输入输出
1.字符数组的输入输出字符数组的输入输出可以有两种方法:
- (1)逐个字符输入输出。如例5.9。
- (2)将整个字符串一次输入或输出。例如有以下程序段:
char str[20]; cin >> str; //用字符数组名输入字符串 cout << str; //用字符数组名输出字符串
请注意:
(1)输出的字符不包括结束符’\0’。
(2)输出字符串时,cout流中用字符数组名,而不是数组元素名。如
cout << str;//用字符数组名,输出一个字符串 cout <<str[4];//用数组元素名,输出一个字符
(3)如果数组长度大于字符串实际长度,输出遇’\0’结束。
如
char str[10]="China"; cout << str;
只输出”China”5个字符,而不是输出10个字符。这就是用字符串结束标志的好处。
(4)如果一个字符数组中包含一个以上’\0’,则遇第1个’\0’时输出就结束。
(5)用cin从键盘向计算机输入一个字符串时,从键盘输入的字符串应短于已定义的字符数组的长度。
(五)使用字符串处理函数对字符串进行操作
1.字符串连接函数strcat (string catenate)
strcat(char[],const char[])
例如:
char str1[10]="I am"; char str2[]="beautiful girl!" cout<<strcat(str1,str2);
2.字符串复制函数strcpy (string copy)
strcpy(char[],const char[])
char str1[10],str2[]="China"; strcmp(str1,str2);
它的作用是将第二个字符数组中的字符串复制到第一个字符数组中去,将第一个字符数组中的相应字符覆盖。
执行后,str2中的五个字符China和/0共六个字符复制到数组str1中。
3.字符串比较函数strcmp (string compare)
strcmp(char[],const char[])
4.字符串长度函数strlen(string length)
strclen(char[],const char[])
(六)字符数组应用
🎶二、字符串类与字符变量
(一)字符串变量的定义和引用
(二)字符串变量的运算
(三)字符串数组
(四)字符串运用
结束语🥇
以上就是C++程序设计
持续更新C++程序设计教程,欢迎大家订阅系列专栏🔥C++程序设计你们的支持!