C语言——数组

1.数组的概念

 数组是一组相同类型元素的集合;

 数组中可以存放1个或多个元素,但数组元素个数不能为0。

 同时数组可以分为一维数组和多维数组,多维数组一般常见 是二维数组。

2.一维数组的创建和初始化

 一维数组的创建的基本语法:

                                             type   arr_name[常量值];

                 注:

                      type:数组元素的类型;

                      arr_name:数组的名称;

                      [ ]: 存放数组元素的个数

fd9c69bbb4814b0eb25ce5362bead29f.png

 

一维数组的初始化:

084d5d7dbe114c1eb246b2afd27e1797.png

3.一维数组的使用

   1.数组下标

      C语言规定数组是有下标的,下标从0开始,假设数组有n个元素,最后一个元素的下标是n-1,下标就相当于数组元素的编号,如下:

6d77620c1a6f438dacf5968f9136a586.png

 

 

1e86fab6143049588a6d590b6dddbca7.png

在C语⾔中数组的访问提供了⼀个操作符 [] ,这个操作符叫:下标引⽤操作符。
有了下标访问操作符,我们就可以轻松的访问到数组的元素了,⽐如我们访问下标为7的元素,我们就可以使⽤ arr[7] ,想要访问下标是3的元素,就可以使⽤ arr[3] ,如下代码: 

  

f358955af7a74e24b4bd8b20009f4642.png

 

2.数组元素的输入和打印

   只要我们产⽣数组所有元素的下标就可以了,那我们使⽤for循环产⽣0~9的下标,接下来使⽤下

标访问就行了。

845a29dd00f44f1e8bd84283bd0478e6.png

4.二维数组的创建 

概念:数组的元素都是内置类型的,如果我们把⼀维数组做为数组的元素,这时候就是⼆维数组,⼆维数组作为数组元素的数组被称为三维数组,⼆维数组以上的数组统称为多维数组。

 

7c117896a1fc4bf387f29dacf8a5b9fb.jpeg

                       type arr_name[常量值1][常量值2];
                       例如:
                                  int arr[3][5];
                                  double data[2][8];

5.二维数组的初始化

e0bc1671f3b844ac8202d62856bf26bb.png bb104b90d3ae40f6b07e178967e3921e.png

 

注:初始化是可以省略行,但是不能省略列;

6.二维数组的使用

 和一维数组同理运用下标,二维数组行的下标和列的下标都是从0开始的;

8a2a23ff9fd6429ea1cc5e768164e244.png

c3b70e186695417190cf8e95fc3a298e.png

 1.二维数组的输入和输出

8730732e771b493baf6427b764268bf4.png

 7.小练习:二分查找

    在⼀个升序的数组中查找指定的数字n,很容易想到的⽅法就是遍历数组,但是这种⽅法效率⽐较低。⽐如我买了⼀双鞋,你好奇问我多少钱,我说不超过300元。你还是好奇,你想知道到底多少,我就让你猜,你会怎么猜?你会1,2,3,4...这样猜吗?显然很慢;⼀般你都会猜中间数字,⽐如:150,然后看⼤了还是⼩了,这就是⼆分查找,也叫折半查找。

a93ad620bc0e4bb4bd8b390101bd61c2.png

 

 

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

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

相关文章

CMake技术细节:解决未定义,提供参数

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

大数据-168 Elasticsearch 单机云服务器部署运行 详细流程

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

【C++】类和对象(类的默认成员函数)

目录 一.构造函数 二.析构函数 三.拷贝构造函数 四.赋值运算符重载 五.取地址运算符重载 默认成员函数就是用户没有显式实现,编译器会自动生成的成员函数称为默认成员函数。一个类,我们不写的情况下编译器会默认生成以下6个默认成员函数。 一.构造…

目标检测中的损失函数

损失函数是用来衡量模型与数据的匹配程度的,也是模型权重更新的基础。计算损失产生模型权重的梯度,随后通过反向传播算法,模型权重得以更新进而更好地适应数据。一般情况下,目标损失函数包含两部分损失,一个是目标框分…

Vue3万能初始化

项目创建后第一步 项目创建&#xff1a;Vue3创建-CSDN博客 创建后执行下面 删除默认提供的HelloWorld.vue组件和src/APP.vue中的默认样式和内容。 App.vue&#xff0c;代码&#xff1a; <template></template><script setup></script><style&g…

数控机械制造工厂ERP适用范围有哪些

在当今制造业高速发展的背景下&#xff0c;企业资源计划(ERP)系统已成为提升工厂管理效率、实现生产自动化与信息化的关键工具。特别是对于数控机械制造工厂而言&#xff0c;一个合适的ERP系统能够帮助其优化生产流程、提高产品质量、降低生产成本并增强市场竞争力。 1. 生产计…

网络安全的全面指南

目录 网络安全的全面指南1. 引言2. 网络安全的基本概念3. 网络安全框架4. 常见网络安全攻击及案例4.1 病毒与恶意软件攻击案例4.2 钓鱼攻击案例4.3 DDoS 攻击案例 5. 网络安全最佳实践5.1 强密码策略5.2 定期更新和补丁管理5.3 数据备份与恢复策略 6. 企业网络安全策略6.1 安全…

IP数据包格式、ICMP封装步骤

IP数据包格式 版本号&#xff1a;占4位&#xff0c;表示IP协议的版本&#xff0c;目前广泛使用的是IPv4&#xff0c;其版本号为4。 首部长度&#xff1a;占4位&#xff0c;表示IP首部的长度&#xff0c;单位为32位字节。首部长度最小为20字节&#xff0c;最大为60字节。 服务…

dayjs日期格式化,开发uniapp或unicloud前后端进行时间格式转换

一、 为什么要用日期格式化 因为在开发项目过程中&#xff0c;会遇到各种各样的日期格式&#xff0c;有的显示完整的年-月-日 时:分:秒&#xff0c;而有的场景就只显示月-日等格式&#xff0c;还有就是显示当前时间和注册时间的间隔时长等&#xff0c;场景非常多&#xff0c;如…

idea2024年版本

最简单安装2024.2版本idea 内带安装教程 ** 下载链接&#xff1a;https://pan.quark.cn/s/ab24afbaa43f 提取码&#xff1a;KHrq

jmeter发送post请求

在jmeter中&#xff0c;有两种常用的请求方式&#xff0c;get和post.它们两者的区别在于get请求的参数一般是放在路径中&#xff0c;可以使用用户自定义变量和函数助手等方式进行参数化&#xff0c;而post请求的参数不能随url发送&#xff0c;而是作为请求体提交给服务器。而在…

【网络知识】LVS+KeepAlived实现负载均衡+高可用

目录 一、Linux Virtual Server (LVS)&#xff1a;构建高性能负载均衡器1. LVS 概述2. LVS 的工作原理3. LVS 的组件3.1 虚拟服务器 (Virtual Server)3.2 真实服务器 (Real Server)3.3 负载均衡器 (Load Balancer) 4. LVS 的配置和管理4.1 安装 IPVS 模块4.2 配置虚拟服务器4.3…

FreeRTOS——中断管理

中断理论剖析 中断简介 中断是一种机制&#xff0c;用于处理高优先级的事件或故障。当一个中断事件发生时&#xff0c;单片机可以立即中断正在执行的程序&#xff0c;转而处理中断事件。这种机制可以提高系统的响应速度和实时性。 中断优先级分组设置 ARM Cortex-M使用了8位宽…

代码随想录算法训练营第46天|739. 每日温度、496.下一个更大元素 I、503.下一个更大元素II

文章目录 739. 每日温度496.下一个更大元素 I503.下一个更大元素II 单调栈&#xff0c;应用场景&#xff1a;找比当前元素大&#xff08;小&#xff1f;&#xff09;&#xff0c;注意存放的是下标。 739. 每日温度 leetcode 739. 每日温度 代码随想录 class Solution:def dai…

Wed前端入门——HTML、CSS

Wed前端入门——HTML、CSS 一般的页面有HTML、CSS以及JavaScript组成 HTML定义了页面的结构和内容&#xff0c;包括文本、图像、链接等等CSS用于定义页面的布局和样式JS用于添加交互性和动态功能作用 一、HTML 基本格式&#xff1a; <!-- 文档类型为HTML --> <!D…

探索全球创新,我们的网址引领您进入专利检索新纪元

在知识经济时代&#xff0c;知识产权已成为企业竞争力的核心。我们的网址&#xff0c;作为一个集合知识产权、商标、软件著作权的综合性平台&#xff0c;特别推出了免费制的专利检索服务&#xff0c;旨在帮助用户轻松探索全球的专利宝藏。 全球专利&#xff0c;一网打尽 我们的…

【C++笔试强训】如何成为算法糕手Day9

学习编程就得循环渐进&#xff0c;扎实基础&#xff0c;勿在浮沙筑高台 循环渐进Forward-CSDN博客 目录 循环渐进Forward-CSDN博客 添加逗号 思路&#xff1a; 代码实现&#xff1a; 跳台阶 思路&#xff1a; 代码实现&#xff1a; 扑克牌顺子 思路&#xf…

git clone --single-branch 提升效率

git clone --single-branch 是一个Git命令&#xff0c;用于从远程仓库中仅克隆单个分支到本地仓库。这个命令在软件开发中非常有用&#xff0c;尤其是在需要特定分支的代码而无需整个仓库的情况下。 基本用法 git clone --single-branch 命令的基本语法如下&#xff1a; git…

收藏!时间序列特征提取最全总结

时间序列数据在很多领域都是重要的结构化数据形式&#xff0c;例如金融、经济、生态学、神经科学和物理学。在多个时间点观测或测量的数据形成了时间序列。许多时间序列是固定频率的&#xff0c;也就是说数据是根据相同的规则定期出现的&#xff0c;例如每15秒、每5分钟或每月1…

骨架侧事件的概念和使用方法总结

一、事件包装类与Send()方法 在骨架侧&#xff0c;服务实现负责通知事件发生。以BrakeEvent事件包装类为例&#xff0c;其提供了Send()方法的两个变体用于发送事件数据&#xff1a; 第一个变体接受SampleType&#xff08;通常为事件数据类型&#xff09;的引用。事件数据由服…