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

在这里插入图片描述


👨‍💻个人主页:@开发者-削好皮的Pineapple!

👨‍💻 hello 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 削好皮的Pineapple! 原创

👨‍💻 收录于专栏:C++程序设计


请添加图片描述

请添加图片描述

文章目录

    • ⭐前言⭐
    • 🎶一、数组是什么?
    • 🎶二、定义和引用一维数组
    • 🎶三、定义和引用二维数组
        • 结束语🥇


⭐前言⭐

本文将探讨如何利用C++的数组功能,有效地处理批量数据。数组作为C++中的重要数据结构,不仅可以存储大量数据,还能够通过简洁而强大的语法进行快速访问和操作。


🎶一、数组是什么?


(一)数组是什么?
数组:相同数据类型的集合,多个变量共同使用一个变量名称,并用下标加以区分。(数组是有序数据的集合)
(二)为什么要有数组?

  • 如:现在需要存储全班同学的年龄,那么有n个同学,则需要定义n个变量,定义和管理都十分的麻烦。但是我们用数组只需要一行代码就可以定义完成。
//普通方式
int age1,age2,age3,age4,age5...age n;
//使用数组
int age[n];

🎶二、定义和引用一维数组


(一)定义一维数组
定义一维数组一般形式为:
类型名 数组名 [常量表达式] ;
int a[10];数组为整型,数组名为a,有10个元素。
说明:
(1)数组名定名规则和变量名相同,遵循标识符定名规则。
(2)用方括号括起来的常量表达式表示下标值,如下面写法是合法的:

int a[10];
int a[2*5];
int a[n*2]; //假设前面已定义了n为常变量

(3)常量表达式的值表示元素的个数,即数组长度。例如,在“int a[10];”中,10表示a数组有10个元素,下标从0开始,这10个元素是a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a{[9]。注意最后一个元素是a[9]而不是a[10]。
(4)常量表达式中可以包括常量、常变量和符号常量,但不能包含变量。也就是说,不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。例如,下面这样定义数组是不行的

int n;
cin >>n;// 输入a数组的长度
int a[n];//试图根据n的值决定数组的长度

如果把第1,2行改为下一行就合法了。

const int n=5;

(二)引用一维数组的元素
数组必须先定义,然后使用。只能逐个引用数组元素的值,而不能一次性引用整个数组中的全部元素的值。
数组元素的表示形式为:(下标可以是整型常量或整型表达式)
数组名 [下标]
🌰:
定义一个整型数组a,把0~9共10个整数赋给数组元素a[0] ~ a[9],然后按照a[9]、a[8]、…a[0]的顺序输出。

#include<iostream>
using namespace std;
int main() {int a[10];for (int i = 0; i <= 9; i++) {a[i] = i;}for (int i = 9; i >= 0; i--) {cout << a[i] << "";cout << endl;}return 0;
}

运行结果如图:
在这里插入图片描述
(三)一维数组的初始化
初始化有以下方法:
1.在定义数组时对全部数组元素赋予初值。

int a[10]={0,1,2,3,4,5,6,7,8,9};

2.可以只给一部分元素赋值。

int a[10]={0,1,2,3,4};

3.在对全部数组元素赋初值时,可以不指定数组长度。

int a[5]={1,2,3,4,5};//可以写成下面这种形式
int a[]={1,2,3,4,5};

(四)一维数组的运用
🌰:编写程序,用起泡法对10个数排序(由小到大)。

#include<iostream>
using namespace std;
int main() {int a[11];cout << "请输入10个数:" << endl;for (int i = 1; i <= 10; i++) {cin >> a[i];}for (int j = 1; j <= 9; j++) //9轮比较for (int i = 1; i <= 10; i++)if (a[i] > a[i + 1]) {int t;t = a[i];a[i] = a[i + 1];a[i + 1] = t;}cout << "冒泡排序后的结果" << endl;for (int i = 1; i < 11; i++)cout << a[i] << " ";cout << endl;return 0;
}

在这里插入图片描述


🎶三、定义和引用二维数组


(一)定义二维数组
定义二维数组的一般形式:
类型名 数组名[常量表达式][常量表达式]
例如:
float a[3][4],b[5][6];
(二)引用二维数组的元素
引用二维数组的一般形式:
数组名 [下标][下标]
数组元素是左值,可以出现在表达式中,也可以被赋值。
(三)二维数组的初始化
1.按行给二维数组全部元素赋值。
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
2.可以将所有的数据写在一个花括号内按数组排列的顺序对全部元素赋值。
int a[3][4]={1,2,3,4,5,6,7,8,9,10,,11,12};
3.可以对部分元素赋值。
int a[3][4]={{1},{5},{9}};
4.如果对全部元素都赋值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省
int a[3][4]={1,2,3,4,5,6,7,8,9,10,,11,12};
可以写成:
int a[][4]={1,2,3,4,5,6,7,8,9,10,,11,12};
(四)二维的运用
🌰:将一个2乘3的二维数组a的行和列元素互换存到一个3乘2的二维数组B中。(写循环时要记得<=的是下标-1)

#include<iostream>
using namespace std;
int main()
{int a[2][3]={{1,2,3},{4,5,6}};int b[3][2];cout<<"这是a矩阵"<<endl; for(int i=0;i<=1;i++){for(int j=0;j<=2;j++){cout<<a[i][j]<<" ";b[j][i]=a[i][j];}cout<<endl;}cout<<"这是b矩阵"<<endl; for(int i=0;i<=2;i++){for(int j=0;j<=1;j++)cout<<b[i][j]<<" ";cout<<endl;}return 0;
}

运行结果如图:
在这里插入图片描述


请添加图片描述

结束语🥇

以上就是C++程序设计
持续更新C++程序设计教程,欢迎大家订阅系列专栏🔥C++程序设计你们的支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/390007.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode每日一题】盛最多水的容器

思路 标签:双指针&#xff0c;贪心 分析&#xff1a; 首先选两条线为容器的两端&#xff0c;盛水的高度取决于高度小的那条线&#xff0c;此时在两条线中间选一条线&#xff0c;有两种情况&#xff0c;如果区间内某条线比两端高度小的那条线还要小&#xff0c;此时宽度和高度…

PLC控制器-耦合变压器的作用

华强盛电子导读&#xff1a;PLC耦合变压器 &#xff0c;前面199中间2643后面0038完。 耦合变压器在电子电路中扮演着重要的角色&#xff0c;尤其是在模拟电路的构建中。它的主要作用可以从以下几个方面进行详细阐述&#xff1a; 1. **信号耦合**&#xff1a; - 耦合变压器…

C++ : namespace,输入与输出,函数重载,缺省参数

一&#xff0c;命名空间(namespace) 1.1命名空间的作用与定义 我们在学习c的过程中&#xff0c;经常会碰到命名冲突的情况。就拿我们在c语言中的一个string函数来说吧&#xff1a; int strncat 0; int main() {printf("%d", strncat);return 0; } 当我们运行之后&…

大型赛事5G室内无线网络保障方案

大型活动往往才是国家综合实力的重要体现&#xff0c;其无线网络通信保障工作需融合各类新兴的5G业务应用&#xff0c;是一项技术难度高、方案复杂度高的系统工程。尤其在活动人员复杂、现场突发情况多、网络不稳定等情况下&#xff0c;如何形成一套高效、稳定的应急通信解决方…

C++入门级文章

一、一个用于查询C标准库内函数、操作符等的链接 https://legacy.cplusplus.com/reference/ 声明&#xff1a;该文档并非官方文档&#xff0c;但其具有易于查询和使用的优势&#xff0c;足够日常使用。 二、C的第一个程序 1、C语言中的语法在C中仍旧适用&#xff0c;首先我们来…

无人机无刷电机技术详解及选型

1. 技术原理 无人机无刷电机&#xff08;Brushless DC Motor, BLDC&#xff09;是现代无人机动力系统的核心部件&#xff0c;其工作原理基于电磁感应和换向技术&#xff0c;实现了无需物理接触即可持续旋转的高效率动力输出。与传统有刷电机相比&#xff0c;无刷电机通过电子换…

Java入门、进阶、强化、扩展、知识体系完善等知识点学习、性能优化、源码分析专栏分享

场景 作为一名Java开发者&#xff0c;势必经历过从入门到自学、从基础到进阶、从学习到强化的过程。 当经历过几年企业级开发的磨炼&#xff0c;再回头看之前的开发过程、成长阶段发现确实是走了好多的弯路。 作为一名终身学习的信奉者&#xff0c;秉承Java体系需持续学习、…

【C++高阶】:C++11的深度解析上

✨ 心似白云常自在&#xff0c;意如流水任东西 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;C学习 &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f4…

Spring Cache框架(AOP思想)+ Redis实现数据缓存

文章目录 1 简介1.1 基本介绍1.2 为什么要用 Spring Cache&#xff1f; 2 使用方法2.1 依赖导入&#xff08;Maven&#xff09;2.2 常用注解2.3 使用步骤2.4 常用注解说明1&#xff09;EnableCaching2&#xff09;CachePut3&#xff09;Cacheable4&#xff09;CacheEvict 3 注意…

数据库相关概念大全!

一、什么是数据库&#xff1f; 1.数据库 数据库是一种更易于访问、更高效且更有条理的长期存储和处理信息的方式。 2. 优点&#xff0c;作用 数据库存储数据的规范性和系统性以及其检索数据的便捷性使其成为基于 Web 的应用程序中重要的部分。 数据库几乎可以用于所有应用程…

java中InputStream, OutputStream 的用法

java针对文件的操作有两种1.文件系统操作 File类指定的路径可以使一个不存在的路径。2&#xff0c;文件内容操作&#xff0c;流对象。 流也分为两种1)字节流&#xff08;二进制文件&#xff09;&#xff1a;以字节为基本单位读写的使用InputStream&#xff08;&#xff09;和Ou…

FFmpeg源码:av_gcd函数分析

一、引言 公约数&#xff0c;是一个能同时整除几个整数的数。如果一个整数同时是几个整数的约数&#xff0c;称这个整数为它们的“公约数”&#xff1b;公约数中最大的称为最大公约数。对任意的若干个正整数&#xff0c;1总是它们的公约数。 公约数与公倍数相反&#xff0c;就…

DB-Engines Ranking 2024年8月数据库排行

DB-Engines Ranking 2024年8月数据库排行 DB-Engines排名根据数据库管理系统的受欢迎程度进行排名。排名每月更新一次。 2024年8月&#xff0c;共有423个数据库进入排行。 排行榜 前15名趋势图 关系型数据库前 10 名 键值数据库前 10 名 文档数据库前 10 名 时序数据库前 10 …

Google引领LLM竞赛:Gemini 1.5 Pro的创新与突破

在科技领域&#xff0c;语言模型&#xff08;LLM, Large Language Model&#xff09;的发展总是备受瞩目。多年来&#xff0c;Google在这场竞赛中一直处于追赶的状态&#xff0c;但这一次&#xff0c;他们终于站在了领先的位置。Google近日发布了Gemini 1.5 Pro实验版本&#x…

Nginx进阶-常见配置

一、nginx Proxy 反向代理 1、代理原理 反向代理产生的背景&#xff1a; 在计算机世界里&#xff0c;由于单个服务器的处理客户端&#xff08;用户&#xff09;请求能力有一个极限&#xff0c;当用户的接入请求蜂拥而入时&#xff0c;会造成服务器忙不过来的局面&#xff0c…

Unity后处理(Post-processing)

Unity post-processing 就像是对图片采用滤镜一样&#xff08;如下图对比&#xff09;对当前场景显示做一定的显示处理&#xff0c;使得场景更漂亮、有趣或者有型。 视觉风格与视觉保真 游戏场景后处理能够达到所需的视觉风格&#xff08;visual style&#xff09;同时也保证视…

文件解析漏洞

IIS解析漏洞 在windows Server 2003安装iis 1.IIS6.X 1.1 目录解析 在网站下建立文件夹的名字为 .asp/.asa 的文件夹&#xff0c;其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。 先创建一个1.asp文件夹 再创建一个1.txt 里面写 <%now()%> 2.1 畸形文件…

DTU、RTU和边缘计算网关的联系与区别

在工业4.0发展浪潮中&#xff0c;物联网助力工业逐渐向智能化发展&#xff0c;各种工业设备相互连接起来形成物联网。而传输层作为物联网体系中十分重要的一环&#xff0c;它是连接物理世界与数字世界的桥梁&#xff0c;是数据的第一入口。 其中&#xff0c;我们经常会使用到三…

jQuery入门(五)Ajax和json

一、Ajax 简介 AJAX(Asynchronous JavaScript And XML)&#xff1a;异步的 JavaScript 和 XML。 本身不是一种新技术&#xff0c;而是多个技术综合。用于快速创建动态网页的技术。 一般的网页如果需要更新内容&#xff0c;必需重新加载个页面。 而 AJAX 通过浏览器与服务器进行…