学习笔记——C++一维数组

1,一维数组的定义方式

三种定义方式

1,数据类型  数组名[ 数组长度 ];

2,数据类型  数组名[ 数组长度 ]={值1,值2,值3 ……};//未说明的元素用0填补

3,数据类型  数组名[  ]={值1,值2,值3……};

数组还有两个特点:1,数组中的数据元素都存放在一块连续的内存空间中,即各个元素的内存地址是相邻的;2,数组中的每个元素都是相同数据类型

需要注意的是,很多新手会认为数组元素是从1开始,但事实并非如此,计算机中元素的下标默认都是从0开始。

#include<bits/stdc++.h>
using namespace std;
int main(){
//1,数据类型 数组名[ 数组长度 ];
	int arr[5];
	arr[0]=10;
	arr[1]=20;
	arr[2]=30;
	arr[3]=40;
	arr[4]=50;
	for (int i=0;i<5;i++){
		cout<<arr[i]<<endl;	
	}
//2,数据类型 数组名[ 数组长度 ]={值1,值2,值3 ……};
	int arr2[5]={10,20,30};
		for (int i=0;i<5;i++){
		cout<<arr2[i]<<endl;	
	}
//3,数据类型 数组名[ ]={值1,值2,值3……};
	int arr3[]={10,20,30,40,50,29,90,39,20}; 
		for (int i=0;i<9;i++){
		cout<<arr3[i]<<endl;	
	}

} 

有关数组命名的总结

1,数组名的命名规范与变量名命名规范一直,不要和变量重名 

2,数组中下标是从0开始索引

2,一维数组数组名

一维数组数组名的用途

1,可以统计整个数组在内存中的长度

2,可以获取数组在内存中的首地址、

将sizeof(arr)/sizeof(arr[0])就可以得到该数组一共有几个元素个数。

#include<bits/stdc++.h>
using namespace std;
int main(){
	//数组名用途
	//1,可以通过数组名 统计整个数组占用内存的大小
	int arr [10]={1,2,3,4,5,6,7,8,9,10};
	cout<<"整个数组占用的内存空间为"<<sizeof(arr)<<endl;
	cout<<"每个元素占用的内存空间为"<<sizeof(arr[0])<<endl;
	cout<<"数组中元素的个数为"<<sizeof(arr)/sizeof(arr[0])<<endl;
	//2,通过数组名查看数组首地址
	cout<<"数组首地址为: "<<arr<<endl;
	cout<<"数组第一个元素的地址为: "<<&arr[0]<<endl;
	cout<<"数组第二个元素的地址为: "<<&arr[1]<<endl;
	//数组名是常量,不可以进行赋值操作
	//arr=100;//错误 
}

从以上内容也可以看出,数组中的一个int元素占4个字节大小。

3,一维数组的练习案例

练习案例1:五只小猪称体重

案例描述:在一个数组中记录了五只小猪的体重,如:int arr[5]={300,350,200,400,250}

找出并打印最重的小猪体重

#include<bits/stdc++.h>
using namespace std;
int main(){
	int arr[5]={300,350,200,400,250};
	int max=300;
	for(int i=0;i<5;i++){
			if(arr[i]>300){
				max=arr[i];
			}else{
				continue;
			}
		}
		cout<<max<<endl;
	}

练习案例2:数组元素逆置

案例描述:请声明一个5元素的数组,并将元素逆置

(如原数组元素为:1,3,2,5,4,逆置后输出结果为4,5,2,3,1);

	int arr2[]={1,3,2,5,4};
	for(int j=4;j>=0;j--){
		cout<<arr2[j]<<endl;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Project】TPC-Online Module (manuscript_2024-01-07)

PRD正文 一、概述 本模块实现隧道点云数据的线上汇总和可视化。用户可以通过注册和登录功能进行身份验证&#xff0c;然后上传原始隧道点云数据和经过处理的数据到后台服务器。该模块提供数据查询、筛选和可视化等操作&#xff0c;同时支持对指定里程的分段显示和点云颜色更改…

WEB 3D技术 three.js 元素居中与获取元素中心点

本文 我们来说让物体居中 以及获取它的中心点 我们上文留下的这个代码 import ./style.css import * as THREE from "three"; import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js"; import { RGBELoader } from "three/e…

LCD—液晶显示

本节主要介绍以下内容 显示器简介 液晶控制原理 秉火3.2寸液晶屏简介 使用FSMC模拟8080时序 NOR FLASH时序结构体 FSMC初始化结构体 一、显示器简介 显示器属于计算机的I/O设备&#xff0c;即输入输出设备。它是一种将特定电子信息输出到屏幕上再反射到人眼的显示工具。…

【Java集合篇】HashMap 是如何扩容的

HashMap 是如何扩容的 ✔️ 为什么需要扩容?✔️ 桶元素重新映射✔️链表重新链接✔️ 取消树化✔️拓展知识仓✔️除了rehash之外&#xff0c;哪些操作也会将树会退化成链表? ✔️ 为什么需要扩容? HashMap在Java等编程语言中被广泛使用&#xff0c;用于存储键值对数据。Ha…

【51单片机】独立按键控制LED灯

不同于上篇文章只用代码控制&#xff0c;这次我们要再加上独立按键一同控制LED灯 目录 独立按键控制LED亮灭&#xff1a;代码实现&#xff1a; 独立按键控制LED状态&#xff1a;代码实现&#xff1a; 独立按键实现二进制LED显示&#xff1a;代码实现&#xff1a; 独立按键控制…

Linux进程之间的通信机制(IPC)概述

Linux进程之间通信 为什么需要进程间通信&#xff1f; 进程间的通信&#xff08;IPC&#xff09;指的是两个任意的进程之间的通信。 同一进程在一个地址空间中&#xff0c;所以同一进程的不同模块&#xff0c;&#xff08;不同函数&#xff0c;不同文件&#xff09;之间都是很…

【软件测试】黑盒测试

《等价类划分法》 有效等价类无效等价类 &#xff08;输入条件&#xff09;10 < x < 100&#xff08;有效等价类&#xff09;10 < x < 100&#xff08;无效等价类&#xff09;x < 10 和 x >100 《边界值分析法》 基本原则 如果输入条件规定了取值范围&…

C#,数值计算,基础函数——任意位数π的数值算法源程序与数据可视化

对于数学常数 PI 后面位数的计算与追求&#xff0c;是数学家与计算机科学家们乐此不疲的游戏。 一、圆周率PI简史 圆周率&#xff08;Pi&#xff09;是圆的周长与直径的比值&#xff0c;一般用希腊字母π表示&#xff0c;是一个在数学及物理学中普遍存在的数学常数。π也等于圆…

CRM的request管理笔记

1 request类型 request有两种&#xff0c;device request和link request。 link request link req是对link进行精确控制。 link req是对每个link的请求&#xff0c;比如某一帧是否需要bubble recovery、某一帧是否需要长曝光等feature。device request 对一个设备进行每帧控制…

【JaveWeb教程】(8)Web前端基础:Vue组件库Element之Table表格组件和Pagination分页组件 详细示例介绍

目录 1 Table表格组件1.1 组件演示1.2 组件属性详解 2 Pagination分页2.1 组件演示2.2 组件属性详解2.3 组件事件详解 接下来我们来学习一下ElementUI的常用组件&#xff0c;对于组件的学习比较简单&#xff0c;我们只需要参考官方提供的代码&#xff0c;然后复制粘贴即可。本节…

学习笔记——C++中数据的输入 cin

作用&#xff1a;用于从键盘中获取数据 关键字&#xff1a;cin 语法&#xff1a;cin>>变量 类型&#xff1a;C中数据的输入主要包含&#xff1a;整形&#xff08;int&#xff09;浮点型&#xff08;float&#xff0c;double float&#xff09;&#xff0c;字符型&…

秋招复习之堆

目录 前言 堆 堆的常用操作 堆的实现&#xff08;大根堆&#xff09; 1. 堆的存储与表示 2. 访问堆顶元素 3. 元素入堆 4. 堆顶元素出堆 Top-k 问题 方法一&#xff1a;遍历选择 方法二&#xff1a;排序 方法三&#xff1a;堆 总结 前言 秋招复习之堆。 堆 「堆 heap…

定时器@Scheduled使用

四种调度方法 Scheduled 是 Spring Boot 中用于创建定时任务的注解。使用此注解可以很方便地实现定时任务的自动调度。以下是常见四种参数的作用&#xff1a; 固定延迟&#xff08;Fixed Delay&#xff09;: Scheduled(fixedDelay 1000)&#xff1a;在上一个任务完成后&#…

UG装配-动画制作

制作装配动画用到的命令是序列 制作动画前&#xff0c;先将所有约束取消 当我们在装配导航器中装配好产品后&#xff0c;可以在序列中编辑生产动态装配或爆炸动画&#xff1b; 需要注意的是&#xff0c;如果是希望创建装配或爆炸动画&#xff0c;需要先将所有约束取消&#…

关于整形提升

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 什么是整型提升&#xff1f; 在C语言的整型算数运算总是至少以int类型来进行的&#xff0c;当表达式中有char&#xff0c;byte&#xff0c;short类型的操作数时&#xff0c;他们在被使用前需要被转换成int类型&#xff0c;…

Presto CLI学习

1. 序言 作为Presto的客户端之一&#xff0c;Presto CLI是一个基于终端的交互式shell&#xff0c;对应presto源码中的presto-cli模块 Presto CLI的本质是一个self-executing jar —— presto-cli-version-executable.jar&#xff0c;就像一个普通的UNIX可执行文件 因此&#…

力扣383.赎金信 -- 哈希表

思路&#xff1a;记录magazine每个字符个数&#xff0c;然后记录ransomNote每个字符&#xff08;每有一个减1&#xff09;&#xff0c;假如出现<0的情况说明ransomnode有字符的个数超过了magazine则无法构成&#xff0c;否则可以构成 代码&#xff1a; class Solution { pu…

HCIA-Datacom题库(自己整理分类的)_11_其他网络协议单选【9道题】

1.DNS协议的主要作用是&#xff1f; 文件传输 远程接入 域名解析 邮件传输 2.下列属于链路状态协议的是? Direct static FTP OSPF 解析&#xff1a; FTP&#xff1a;文件传输协议 OSPF&#xff1a;链路状态路由协议 3.如下图所示的网络主机A通过Telnet登录到路由…

1_工程设计模式-简单工厂设计

工程设计模式 一.简单工程设计模式 1.概念 简单工厂模式( Simple Factory Pattern )是指由一个工厂对象决定创建出哪一种产品类的实例。 但它不属于 GOF 23 种设计模式。简单工厂适用于工厂类负责创建的对象较少的场景&#xff0c;且客户端只需要传入工厂类的参数&#xff…

2023年度总结:技术沉淀、持续学习

2023年度总结&#xff1a;技术沉淀、持续学习 一、引言 今年是我毕业的第二个年头&#xff0c;也是完整的一年&#xff0c;到了做年终总结的时候了 这一年谈了女朋友&#xff0c;学习了不少技术&#xff0c;是充实且美好的一年&#xff01; 首先先看年初定的小目标&#xf…
最新文章