C 语言数组

C 语言数组

在本教程中,您将学习如何使用数组。您将借助示例学习如何声明,初始化和访问数组的元素。

数组是可以存储多个值的变量。例如,如果要存储100个整数,则可以为其创建一个数组。

示例

cint data[100];

如何声明数组?

dataType arrayName[arraySize];

例如,

float mark[5];c

在这里,我们声明了一个浮点类型的数组mark。其大小为5。意味着,它可以容纳5个浮点值。

需要注意的是,数组的大小和类型一旦声明就不能更改

访问数组元素

您可以按索引访问数组的元素。

假设您如上所述声明了一个数组mark。第一个元素是mark[0],第二个元素是mark[1],依此类推。

C数组声明

说明
  • 数组的第一个索引为0,而不是1。在此示例中,数组为第mark[0]一个元素。
  • 如果数组的大小为,则要n访问最后一个元素,n-1则使用索引。在这个实例中mark[4]
  • 假设的起始地址mark[0]是2120d。然后,的地址mark[1]将为2124d。同样,地址mark[2]将是2128d等。
    这是因为a的大小float是4个字节。

如何初始化数组?

在声明期间可以初始化数组。例如,

示例

int mark[5] = {19, 10, 8, 17, 9};

您也可以像这样初始化一个数组。

示例

int mark[] = {19, 10, 8, 17, 9};

在这里,我们没有指定大小。但是,当我们使用5个元素进行初始化时,编译器知道其大小为5。
在C语言编程中初始化数组

这里,

mark[0] 等于 19
mark[1] 等于 10
mark[2] 等于 8
mark[3] 等于 17
mark[4] 等于 9

更改数组元素的值

示例

int mark[5] = {19, 10, 8, 17, 9}//使第三个元素的值为-1
mark[2] = -1;//使第五个元素的值为0
mark[4] = 0;

输入和输出数组元素

这是如何从用户那里获取输入并将其存储在数组元素中的方法。

// 获取输入并将其存储在第三个元素中
scanf("%d", &mark[2]);// 把输入存储在第i个元素中
scanf("%d", &mark[i-1]);

这是打印数组单个元素的方法。

示例

//打印数组的第一个元素
printf("%d", mark[0]);//打印数组的第三个元素
printf("%d", mark[2]);//打印数组的第i个元素
printf("%d", mark[i-1]);

示例1:数组输入/输出

//程序从用户那里获取5个值并将它们存储在数组中
//打印存储在数组中的元素
#include <stdio.h>int main() {int values[5];printf("输入5个整数: ");//接受输入并将其存储在数组中for(int i = 0; i < 5; ++i) {scanf("%d", &values[i]);}printf("显示整数: ");//打印数组的元素for(int i = 0; i < 5; ++i) {printf("%d\n", values[i]);}return 0;
}

输出结果

输入5个整数: 1
-3
34
0
3
显示整数: 1
-3
34
0
3

在这里,我们使用了一个 for循环,来从用户那里获取5个输入的数值,并将它们存储在一个数组中。然后,使用另一个 for循环,这些元素显示在屏幕上。

示例2:计算平均值

示例

//程序使用数组查找n个数字的平均值
#include <stdio.h>
int main()
{int marks[10], i, n, sum = 0, average;printf("输入元素数量: ");scanf("%d", &n);for(i=0; i<n; ++i){printf("输入数字%d: ",i+1);scanf("%d", &marks[i]);//将用户输入的整数添加到sum变量sum += marks[i];}average = sum/n;printf("平均值 = %d", average);return 0;
}

输出结果

输入元素数量: 5
输入数字1: 45
输入数字2: 35
输入数字3: 38
输入数字4: 31
输入数字5: 49
平均值 = 39

在这里,我们计算了用户输入的n个数字的平均值。

访问元素超出范围!

假设您声明了一个由10个元素组成的数组。比方说

int testArray[10];

您可以访问数组元素 testArray[0] - testArray[9]。

现在,假设您尝试访问testArray[12]。该元素不可用。这可能会导致意外输出(抛出错误)。

因此,永远不要访问数组边界之外的元素。

多维数组

在本教程中,您了解了数组。这些数组称为一维数组。

在下一个教程中,您将学习[多维数组(数组的数组)。

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

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

相关文章

线程池的使用

线程池的作用 降低线程创建和销毁的开销&#xff1a;线程的创建和销毁是比较昂贵的操作。通过使用线程池&#xff0c;可以避免频繁地创建和销毁线程&#xff0c;而是复用线程池中已经存在的线程&#xff0c;从而降低了开销。 控制并发度&#xff1a;通过控制线程池中线程的数量…

MySQL(14):视图

数据库对象 对象描述表(TABLE)表是存储数据的逻辑单元&#xff0c;以行和列的形式存在&#xff0c;列就是字段&#xff0c;行就是记录数据字典就是系统表&#xff0c;存放数据库相关信息的表。系统表的数据通常由数据库系统维护&#xff0c;程序员通常不应该修改&#xff0c;只…

mysql 讲解(1)

文章目录 前言一、基本的命令行操作二、操作数据库语句2.1、创建数据库2.2、删除数据库2.3、使用数据库2.4 查看所有数据库 三、列的数据类型3.1 字符串3.2 数值3.3 时间日期3.4 空3.5 int 和 varchar问题总结&#xff1a; 四、字段属性4.1 UnSigned4.2 ZEROFILL4.3 Auto_InCre…

ARPG----C++学习记录05 Section12 动画蒙太奇,收拿剑,MetaSound,调整动画

代码更新 https://github.com/BAOfanTing/ARPG_Game_Code/commit/c629270e49496ba1bcbaf03780d23c1842ca5e7a Animation Montages动画蒙太奇 蒙太奇的工作流程 新建一个鼠标左键的按键映射&#xff0c;下载一些攻击动画&#xff0c;重定向给我们的人物&#xff0c;新建一个动画…

若依系统富文本框上传图片报错!

报错如下&#xff1a; 原因&#xff1a;如图&#xff0c;富文本路径中存在 / 字符&#xff0c;导致上传出错。 解决方案&#xff1a;将富文本框内容在前端进行加密&#xff0c;后端再解密。 前端&#xff1a; 安装 crypto-js 插件 npm install crypto-js 创建工具类 :在 sr…

使用MVS-GaN HEMT紧凑模型促进基于GaN的射频和高电压电路设计

标题&#xff1a;Facilitation of GaN-Based RF- and HV-Circuit Designs Using MVS-GaN HEMT Compact Model 来源&#xff1a;IEEE TRANSACTIONS ON ELECTRON DEVICES&#xff08;19年&#xff09; 摘要—本文阐述了基于物理的紧凑器件模型在研究器件行为细微差异对电路和系统…

好心提醒下,幼师姐妹们要知道啊

幼师家人们在不在&#xff1f;在不在&#xff1f; 不会还有姐妹在自己写教案&#xff0c;写总结&#xff0c;写评语啥的吧&#xff0c;这个好东西真的要知道啊&#xff01;&#xff01; 只要输入关键词&#xff0c;马上就能得到你想要的内容&#xff0c;真的很强啊&#xff0…

Pytorch从零开始实战09

Pytorch从零开始实战——YOLOv5-Backbone模块实现 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——YOLOv5-Backbone模块实现环境准备数据集模型选择开始训练可视化模型预测总结 环境准备 本文基于Jupyter notebook&#xff0c;使用Python3.…

【java学习—十四】Class类(2)

文章目录 1. Class类2. Class类的常用方法3. 实例化Class类对象&#xff08;四种方法&#xff09; 1. Class类 在 Object 类中定义了以下的方法&#xff0c;此方法将被所有子类继承&#xff1a; public final Class getClass() 以上的方法返回值的类型是一个 Class 类&#xf…

web3 React dapp进行事件订阅

好啊&#xff0c;上文web3 React Dapp书写订单 买入/取消操作 我们已经写好了 填充和取消订单 这就已经是非常大的突破了 但是 留下了一个问题 那就是 我们执行完之后 订单的数据没有直接更新 每次都需要我们手动刷新 才能看到结果 那么 今天我们就来看解决这个问题的事件订阅 …

android手机平板拓展电脑音频

&#xff08;1&#xff09;首先确保电脑上有声卡&#xff0c;就是电脑右下角小喇叭能调音量&#xff0c;不管电脑会不会响&#xff0c;如果小喇叭标记了个错误&#xff0c;说明没有声卡&#xff0c;安装图上的虚拟声卡软件。 &#xff08;2&#xff09;图上第一个PC免安装及局…

vscode launch.json

有时新的服务器进行调试时&#xff0c;需要设置调试的launch.json的结果 然后就可以打开一个launch.json 其内容如下 {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息&#xff0c;请访问: https://go.microsoft.com/fwlink/?linkid83…

JAVA 版小程序商城免费搭建 多商家入驻 直播带货 商城系统 B2B2C 商城源码之 B2B2C产品概述

1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务&#xff09; 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

[单片机课程设计报告汇总] 单片机设计报告常用硬件元器件描述

[单片机课程设计必看] 单片机设计报告常用描述 硬件设计 AT89C51最小系统 AT89C51是美国ATMEL公司生产的低电压&#xff0c;高性能CMOS16位单片机&#xff0c;片内含4k bytes的可反复擦写的只读程序存储器和128 bytes的随机存取数据存储器&#xff0c;期间采用ATMEL公司的高…

数据结构—队列的实现

前言&#xff1a;上次我们已经学习了数据结构中一个重要的线性表—栈&#xff0c;那么我们这一次就来学习另外一个重要的线性表—队列。 目录&#xff1a; 一、 队列的概念 二、 队列的实现&#xff1a; 1.队列的创建 三、 队列的操作 1.初始化队列 2.队尾入队列 3.队头出队列…

CSRF和XSS漏洞结合实战案例

文章目录 CSRF和XSS漏洞结合实战案例实验原理实验步骤信息收集构造CSRF和XSS代码xss注入 CSRF和XSS漏洞结合实战案例 实验环境为csm 实验原理 攻击者利用JavaScript可以构造请求的功能在留言面板构造一个存储型xss注入&#xff0c;里面的内容为js请求。请求新添加用户&…

python matlplotlib/seaborn 绘制曲线的平均值标准差阴影图

1. seaborn 旧版本(0.8.1)中使用tsplot&#xff0c;新版本中使用lineplot 直线代表均值&#xff0c;阴影代表meanstd&#xff08;带有置信区间&#xff0c;参数ci&#xff09; import seaborn as sns import matplotlib.pyplot as plt import numpy as np import pandas as p…

11月14日星期二今日早报简报微语报早读

11月14日星期二&#xff0c;农历十月初二&#xff0c;早报微语早读。 1、江西南城县&#xff1a;限时发放购房补贴政策&#xff0c;三孩家庭每平方米最高补贴500元&#xff1b; 2、2023年中国内地电影市场累计票房突破500亿元&#xff1b; 3、市场监管总局&#xff1a;在全国…

Javaweb开发 利用servlet+jsp+jdbc+tomcat数据库实现登录功能

前言&#xff1a;很久没更新了&#xff0c;今天给大家分享一个Java web的小案例&#xff0c;是一个登录页面&#xff0c;利用Login控制类和JDBC连接数据库&#xff0c;并判断用户名密码是否正确&#xff0c;项目最终部署在Tomcat上。 先看效果 正文 一、前期工作 1.首先我们…

ubuntu上安装edge浏览器

1下载edge浏览器 官网下载 edge浏览器的linux版本可在上面的官网中寻找。 我选择的是Linux(.deb)。 2 安装 可在终端的edge安装包所在的路径下输入下面命令安装。 sudo dpkg -i edge安装包的名称.deb3 安装可能存在的问题 1dpkg:依赖关系问题使得edge-stable的配置工作不…