【C++程序设计】——利用数组处理批量数据(二)

server/2024/10/20 16:00:45/

在这里插入图片描述


👨‍💻个人主页:@开发者-削好皮的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++程序设计你们的支持!


http://www.ppmy.cn/server/95429.html

相关文章

Python 如何进行自然语言处理(NLTK, SpaCy)

自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;是计算机科学和人工智能的一个重要领域&#xff0c;旨在实现计算机对人类语言的理解和处理。在Python中&#xff0c;有许多工具和库可以用于自然语言处理&#xff0c;其中最流行的两个是NLTK&#xff08;…

C#学习笔记20240730

文章目录 连接字符串连接字符串是什么&#xff1f;SQLServer连接字符串配置文件中存储异常 SqlCommandSqlCommand介绍重要属性创建 Command执行方法ExecuteNonQuery 连接字符串 连接字符串是什么&#xff1f; 字符串&#xff0c;一组被格式化的键值对&#xff0c;数据源在哪里…

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——3bin模型转化环境的准备

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——3bin模型转化环境的准备 ​ 今天给大家带来的是在上一期基础上最重要的一步&#xff0c;这个地方是我开始踩坑的开始。 ​ 当时一开始看教程&#xff0c;不知道怎么看到了高级进阶版。当时也是弄了好久…

File类的用法

目录 File的常见方法 普通文件的创建 普通文件的删除 deleteOnExit 目录的创建 mkdir mkdirs 文件的重命名和剪切 剪切 重命名 InputStream read() OutputStream write() Reader Writer write(String str) 代码练习 扫描指定⽬录&#xff0c;并找到名称中包含…

逻辑推理之lora微调

逻辑推理微调 比赛介绍准备内容lora微调lora微调介绍lora优势代码内容 start_vllm相关介绍调用 运行主函数提交结果总结相应连接 比赛介绍 本比赛旨在测试参与者的逻辑推理和问题解决能力。参与者将面对一系列复杂的逻辑谜题&#xff0c;涵盖多个领域的推理挑战。 比赛的连接:…

【Mind+】掌控板入门教程03 节日的祝福

在节日的时候&#xff0c;我们通常会送朋友或者家人一张贺卡表达美好的祝福。随着科技的发展&#xff0c;我们已经可以通过手机聊天工具发送一封电子贺卡。电子贺卡相当于把祝福做成了一个小动画&#xff0c;它环保方便&#xff0c;生动有趣。今天就让我们用掌控板来制作一份电…

数据结构之八大基本排序方法

在数据结构中&#xff0c;排序是一个重要的操作&#xff0c;它有助于提高数据的可读性和可操作性。排序算法有多种&#xff0c;各有优缺点&#xff0c;适用于不同的场景。以下是八大经典排序算法的介绍&#xff1a; 1. 冒泡排序&#xff08;Bubble Sort&#xff09; 原理&…

循环结构(三)——do-while语句

目录 &#x1f341;引言 &#x1f341;一、语句格式 &#x1f680;格式1 &#x1f680;格式2 &#x1f341;二、语句执行过程 &#x1f341;三、实例 &#x1f680;【例1】 &#x1f680;【例2】 &#x1f680;【例3】 &#x1f341;总结 &#x1f341;备注 &am…