c语言入门数组,C语言入门之数组(2)

dbd15bf498890605b29fb6ccd695e199.png

二维数组

前面介绍的数组只有一个下标,称为一维数组, 其数组元素也称为单下标变量。在实际问题中有很多量是二维的或多维的, 因此C语言允许构造多维数组。多维数组元素有多个下标, 以标识它在数组中的位置,所以也称为多下标变量。 本小节只介绍二维数组,多维数组可由二维数组类推而得到。二维数组类型说明二维数组类型说明的一般形式是:

类型说明符 数组名[常量表达式1][常量表达式2]…;

其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度。例如:

int a[3][4];

说明了一个三行四列的数组,数组名为a,其下标变量的类型为整型。该数组的下标变量共有3×4个,即:

a[0][0],a[0][1],a[0][2],a[0][3]

a[1][0],a[1][1],a[1][2],a[1][3]

a[2][0],a[2][1],a[2][2],a[2][3]

二维数组在概念上是二维的,即是说其下标在两个方向上变化, 下标变量在数组中的位置也处于一个平面之中, 而不是象一维数组只是一个向量。但是,实际的硬件存储器却是连续编址的, 也就是说存储器单元是按一维线性排列的。 如何在一维存储器中存放二维数组,可有两种方式:一种是按行排列, 即放完一行之后顺次放入第二行。另一种是按列排列, 即放完一列之后再顺次放入第二列。在C语言中,二维数组是按行排列的。 在图4.1中,按行顺次存放,先存放a[0]行,再存放a[1]行,最后存放a[2]行。每行中有四个元素也是依次存放。由于数组a说明为 来源:www.examda.com

int类型,该类型占两个字节的内存空间,所以每个元素均占有两个 字节(图中每一格为一字节)。 来源:www.examda.com

二维数组元素的表示方法

二维数组的元素也称为双下标变量,其表示的形式为: 数组名[下标][下标] 其中下标应为整型常量或整型表达式。例如: a[3][4] 表示a数组三行四列的元素。下标变量和数组说明在形式中有些相似,但这两者具有完全不同的含义。 数组说明的方括号中给出的是某一维的长度,即可取下标的值; 而数组元素中的下标是该元素在数组中的位置标识。前者只能是常量, 后者可以是常量,变量或表达式。

一个学习小组有5个人,每个人有三门课的考试成绩。求全组分科的平均成绩和各科总平均成绩。

课程 成绩姓名 Math C DBASE

张      80  75 92

王      61  65 71

李      59  63 70

赵      85  87 90

周      76  77 85

可设一个二维数组a[5][3]存放五个人三门课的成绩。再设一个一维数组v[3]存放所求得各分科平均成绩,设变量l为全组各科总平均成绩。编程如下:

void main()

{

int i,j,s=0,l,v[3],a[5][3];

printf("input score\n");

for(i=0;i<3;i++){

for(j=0;j<5;j++)

{ scanf("%d",&a[j][i]);

s=s+a[j][i];}

v[i]=s/5;

s=0;

}

l=(v[0]+v[1]+v[2])/3;

printf("math:%d\nc languag:%d\ndbase:%d\n",v[0],v[1],v[2]);

printf("total:%d\n",l);

} for(i=0;j<3;i++)

for(j=0;j<5;j++)

{ scanf("%d",&a[j][i]);

s=s+a[j][i];}

v[i]=s/5;

s=0;

}

l=(v[0]+v[1]+v[2])/3;

2829f2ca24f0d0090cbba57f30759f23.png

C语言入门之数组(2).doc

下载Word文档到电脑,方便收藏和打印[全文共1339字]

编辑推荐:

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

下载Word文档

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

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

相关文章

IOS开发--TextField

2019独角兽企业重金招聘Python工程师标准>>> //初始化text field的位置和大小UITextField *text [[UITextField alloc] initWithFrame:CGRectMake(20, 20, 130, 130)];//设置边框样式//样式有很多种&#xff0c;点进去查看text.borderStyle UITextBorderStyleRoun…

IOS之学习笔记十五(协议和委托的使用)

1、协议和委托的使用 1)、协议可以看下我的这篇博客 IOS之学习笔记十四(协议的定义和实现) https://blog.csdn.net/u011068702/article/details/80963731 2)、委托可以叫代理&#xff0c;实现协议的类的对象可以叫委托对象或者代理对象 3)、关键就是我们在控制器里类(获取数…

Dapr 源码解析 系列文章汇总

Dapr背后的架构模式是符合未来架构趋势&#xff08;多运行时架构&#xff09;和云原生发展趋势的。知乎 iyacontrol 对 Dapr的意义有一个很好的概括&#xff1a;对于小公司&#xff0c;甚至没有基础架构和中间件团队的公司&#xff0c;Dapr 提供了开箱即用的基础设施功能&#…

cstring判断包含字符串_Python字符串方法之-解决判断问题

19、endswith()描述&#xff1a;判断字符串是否以指定字符或子字符串结尾。语法&#xff1a;str.endswith("suffix", start, end) 或str[start,end].endswith("suffix") 用于判断字符串中某段字符串是否以指定字符或子字符串结尾。—> bool 返回值为布尔…

Angular变化检测机制

2019独角兽企业重金招聘Python工程师标准>>> 在使用Angular进行开发中&#xff0c;我们常用到Angular中的绑定——模型到视图的输入绑定、视图到模型的输出绑定以及视图与模型的双向绑定。而这些绑定的值之所以能在视图与模型之间保持同步&#xff0c;正是得益于Ang…

nx二次开发c语言,NX二次开发-UFUN API函数编程基础

1.NXOpen C 的函数函数名称的约定NX Open C 共有2类名称约定&#xff1a;一个是标准的NX Open C 的函数名称约定&#xff1b;另一个是以前版本的原有的名称约定。1.标准名称约定【格式】UF__【说明】(1)UF:User Funciton的简写&#xff0c;表示该函数为NX Open C 函数。(2)&…

JMeter压力测试入门教程[图文]

Apache JMeter是Apache组 织开发的基于Java的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java 对象、数据库&#xff0c; FTP服务器, 等等。…

.NET6之MiniAPI(二十九):UnitTest

MiniAPI的单元测试与asp.net web api的单元测试大体是相同的&#xff08;毕竟都是asp.net core&#xff09;&#xff0c;只是在小细节上有一些差异&#xff0c;文章中会说到这点。本文测试框架是XUnit&#xff0c;Mock框架是Moq&#xff0c;关于这两个框架和库的学习&#xff0…

vue data数据修改_Vue 超清晰思维导图(7张),详细知识点梳理!

Vue思维导图目录MVC与MVVM的区别Vue基本代码结构Vue指令Vue组件class和style动态绑定computed计算属性EventBusfilter过滤器方法Vue是一套构建用户界面的框架&#xff0c;只关注视图层&#xff0c;它不仅易于上手&#xff0c;还便于与第三方库或既有项目整合。&#xff08;Vue有…

界面连接数据库

1、获取本机的SQL Server服务器名 private void Form2_Load(object sender, EventArgs e){listBox1.Items.Clear();SQLDMO.Application SQLServer = new SQLDMO.Application();SQLDMO.NameList strServer = SQLServer.ListAvailableSQLServers();if (strServer.Count > 0){f…

Xamarin效果第二十篇之GIS中加载三维白模

在前面文章中简单玩了玩GIS的基本操作、Mark相关、AR和测距,今天再次分享一下N年前就像玩耍的效果;啥也不说了都在效果里:再来看看手机端的效果:1、关于效果我也是偶然见看到了别人实现:https://blog.csdn.net/arcgis_all/article/details/769991042、关于实现就是在三维场景图…

visa虚拟卡生成器_虚拟卡有哪些功能?赶紧了解一下

现在很多人都会有机会出国&#xff0c;或者是直接在国外生活&#xff0c;他们时不时的会到国内办理一些事情&#xff0c;而这个时候为了确保信用卡在使用的时候安全&#xff0c;有些人就会申请使用虚拟信用卡&#xff0c;这样不但可以解决跨国支付的麻烦&#xff0c;从而确保在…

android编程绘图,Android编程绘图操作之弧形绘制方法示例

本文实例讲述了Android编程绘图操作之弧形绘制方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;/*** 绘制弧形图案* description&#xff1a;* author ldm* date 2016-4-25 下午4:37:01*/public class ArcsActivity extends Activity {Overrideprotected void onCr…

BeetleX实现MessagePack和Protobuf消息控制器调用websocket服务详解

最近有用户问如何使用BeetleX封装一个基于Protobuf格式的websocket服务并支持控制器调用&#xff1b;其实BeetleX.FastHttpApi是支持Websocket服务和自定义数据格式的&#xff0c;但需要对组件有一定了解的情况才能进行扩展&#xff1b;接下来通过封装一个支持Protobuf和Messag…

vue 获取url地址的参数_2020年 vue常见面试问题总结(干货)!

1.什么是mvvm模式&#xff0c;谈谈你的理解&#xff1f; MVVM - Model View ViewModel&#xff0c;数据&#xff0c;视图&#xff0c;视图模型view 可以通过 事件绑定 的方式影响 model&#xff0c;model 可以通过 数据绑定 的形式影响到view&#xff0c;viewModel是把 model 和…

CSS 定位之绝对与相对

static,relative,absolute,fixed含义 static(静态定位):元素框正常生成。块级元素生成一个矩形框&#xff0c;作为文档流的的一部分&#xff0c;行内元素则会常见一个或多个行框&#xff0c;至于其父元素中。默认值。没有定位&#xff0c;元素出现在正常的流中&#xff08;忽略…

[第二篇]如何在ASP.Net Core的生产环境中使用OAuth保护swagger ui

在我上篇文章如何在ASP.Net Core的生产环境中保护swagger ui中&#xff0c;我们讨论了如何使用基本身份验证来保护 swagger ui。使用 OAuth 2.0 和 OpenIdConnect 进行保护随着应用程序越来越多地使用 OAuth 和 OpenIdConnect&#xff0c;应用程序很有可能使用 OAuth 和 OpenID…

python opencv 图像切割_【OpenCV+Python】图像的基本操作与算术运算

图像的基本操作在上个教程中&#xff0c;我们介绍了使用鼠标画笔的功能。本次教程&#xff0c;我们将要谈及OpenCV图像处理的基本操作。本次教程的所有操作基本上都和Numpy相关&#xff0c;而不是与OpenCV相关。要使用OpenCV编写更好的优化代码&#xff0c;需要Numpy的丰富知识…

光伏领跑者火热前行 可靠性护航“长跑”

随着第三批光伏领跑者申报标准的出台&#xff0c;在目前普通电站指标有可能缩水的情况下&#xff0c;2017年8-10GW的光伏领跑者项目又将成为各电站投资商争夺的“红海”。光伏领跑者在过去两年时间里为行业带来的变化有目共睹&#xff0c;从模式创新到电价下降&#xff0c;快速…

鸿蒙os系统被推送,鸿蒙来了!华为大规模推送鸿蒙OS系统,造成网站一度瘫痪...

千呼万唤始出来&#xff0c;期盼已久的手机鸿蒙OS系统终于迎来了大规模推送&#xff01;今年2月份在华为Mate X2折叠屏手机发布会上&#xff0c;华为就曾表示将在4月份开始大规模推送鸿蒙OS系统&#xff0c;4月27日通过测试申请的用户正式接到升级鸿蒙OS系统的通知&#xff0c;…