一、学习目标

  1. 了解二维数组的使用方法
  2. 了解循环嵌套的使用方法

目录

预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:《零基础看得懂的C语言入门教程》——(二)简单带你了解流程
想了解编译原理和学习方法点这篇,学习方法和一些原理C++与C都是相同的《零基础看得懂的C语言入门教程》——(一)脱离学习误区

《零基础看得懂的C++入门教程》(1)第一个C++程序

《零基础C++入门教程》(2)数据类型、变量一看便会

《零基础看得懂的C++入门教程》——(3)表达式花样挺多鸭

《零基础看得懂的C++入门教程》——(4)条件判断原来如此

《零基础看得懂的C++入门教程》——(4)条件判断原来如此

《零基础看得懂的C++入门教程》——(6)自己动手写个函数

《零基础看得懂的C++入门教程》——(7)小数组玩起来

推荐

《零基础看得懂的C语言入门教程》——(一)脱离学习误区

《零基础看得懂的C语言入门教程》——(二)简单带你了解流程

《零基础看得懂的C语言入门教程》——(三)轻松悟第一个程序

《零基础看得懂的C语言入门教程》——(四)基本数据类型变量

《零基础看得懂的C语言入门教程》——(五)变量、常量及运算

《零基础看得懂的C语言入门教程》——(六)轻松了解逻辑运算

《零基础看得懂的C语言入门教程》——(七)循环分分钟上手

《零基础看得懂的C语言入门教程》——(八)基本数组真简单

《零基础看得懂的C语言入门教程》——(九)数组与循环嵌套

《零基础看得懂的C语言入门教程》——(十)指针原来是这样

《零基础看得懂的C语言入门教程》—(十一)自定义函数很简单

《零基础看得懂的C语言入门教程》—(十二)结构体是这么回事

二、了解C++语言的二维数组的使用方法

上一章我们学习了C++的一位数组,知道了数组是相同类型值的集合,这一节学习C++的二维数组。

一维数组可以当成是一排的数据,在这里我使用排队作为举例,在排队时只有一横排,没有纵列我们可以当成一维数组;这个时候队伍是一条线,只有横排的同学,例如第一个名叫小明、第二个叫小黄、第三个叫小绿一共有十个同学。

在数组中,是从0开始数数,第一个为数组名加一个下标0,如数组a写成a[0]指代第一个小明,a[1]则表示小黄。当数组是两排的时候该如何去进行表示呢?这个时候就需要二维数组了。依旧是用排队作为例子,现在队伍增加成两排,每排十个人,第二排的第一个人该如何用数组表示呢?由于在数组中是使用0表示第一个数组元素,第二排第一个人则可以表示为 [1][0],其中一个[]表示一个维度,两个[]则表示二维数组。再次强调,数组中第2排,从排数上来说是从0到1,0表示第一排那么1则表示第二排,所以第一个下标是1;由于是第二排的第一个元素,数组的元素0表示第一个,所以第二排第一个元素则可以表示为[1][0],假设数组名为a,那么则可以写成a[1][0];

2.1 了解C++中二维数组的使用方法
现在有一个数集{1,2,3,4,5,6,7,8,9,10}需要在C++中使用二维数组表示可以写成:

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

以上代码中 a[2][5] 表示数据有两排(两行),每行5个元素;之后的数据{1,2,3,4,5,6,7,8,9,10}将会分为2行存储,第一行数据为1,2,3,4,5,第二行数据为 6,7,8,9,10。取第二行第3个数据可以写为 a[1][2],取第一行第2个数据可以写成a[0][1]。

使用以下代码尝试获取数组的值:

#includeusing namespace std;int main() {int a[2][5]={1,2,3,4,5,6,7,8,9,10};cout<

结果如下:

二维数组也可以进行值的更改,如下代码:

#includeusing namespace std;int main() {int a[2][5]={1,2,3,4,5,6,7,8,9,10};cout<

运行结果为:

三、了解嵌套循环及二维数组的综合使用

嵌套循环时指循环的代码中含有循环代码,如for循环内也有一个for循环。

3.1了解循环嵌套的使用方法
假设两个for循环进行嵌套,外部的for循环跳出的条件是i<5,i初始值是0,外部的循环则会循环5次;内部的for循环的循环条件为j<5,j初始值为0。那么当外面循环1次那么内部的for循环就会循环5次;外部循环则需要条件不成立的时候才能跳出来,循环1次明显不满足跳出的情况还将继续循环;这时就会造成外部for循环一次,里面循环5次。我们用例子看看,演示代码如下:

#includeusing namespace std;int main() {int i,j;     for(i=0;i<5;i++) {        for(j=0;j<5;j++) {             cout<

以上代码定义了两个变量,一个是i,另一个是j。i与j在for循环内进行了初始化,i=0;与j=0;,这句代码在执行整个循环时,只执行一次,除非再次从头开始循环,这段代码将会再次执行。外部for循环与内部for循环条件一致,均是循环变量小于5,只是循环变量不同,由于循环时,循环变量会增加,由于循环嵌套,外部循环执行1次,则内部循环将会执行5次,我们可以查看以下结果直观的查看。

运行结果如下:

3.2 了解循环嵌套与二维数组的综合使用
上一小节中,我们得知循环嵌套会导致外部循环执行一次,内部循环会执行多次的情况。得知了这个特性后,我们可以使用循环嵌套获取二维数组的所有值。

假设有一个二维数组为2行,每行的元素为5个,我们获取第一行的元素是[0][1],[0][2],[0][3],[0][4],[0][5],,我们可以明显的发现,第一维下标并不会发生改变,而是第二位的下标逐个加1,那么可以使用循环嵌套取得所有的值,代码如下:

#includeusing namespace std;int main() {int a[2][5]={1,2,3,4,5,6,7,8,9,10};int i,j;     for(i=0;i<2;i++) {        for(j=0;j<5;j++) {             cout<

以上代码中,外部循环的内容为i小于2,每次加1,内部循环的j小于5,每次加1,那么外部循环执行一次内部循环则会执行5次。外部循环的i为0时,内部循环执行第一次则为a[0][0] 第二次则为 a[0][1],我们将变量i和j当作a数组的下标,这时将会获取所有的二维数组值。

结果如下:

四、总结

通过以上描述与讲解,我们了解了以下几点内容:

了解了二维数组的取值了解循环嵌套的使用方法了解综合使用循环嵌套获取二维数组的值

取得数组下标_《零基础C++入门教程》——(8)搞定二维数组与循环嵌套相关推荐

  1. 《零基础看得懂的C++入门教程 》——(8)搞定二维数组与循环嵌套

    一.学习目标 了解二维数组的使用方法 了解循环嵌套的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<软件介绍> 想了解编译原理和学习方法点这 ...

  2. 零基础python嵌入式开发_零基础Python入门教程

    第01课 python基础之python介绍 课时1python的职业方向和工资 试听 00 : 15 : 54 开始学习 课时2环境的安装 试听 00 : 14 : 16 开始学习 课时3基础班课程 ...

  3. java方法重载实事例_零基础java入门教程函数重载function实例化格式案例

    java函数的重载,说白了就是函数块函数名一样,但函数类型和参数类型和参数列表个数不同 重载之和参数列表有关系,与返回值无关 java函数重载 函数重载铺垫如下图 函数重载铺垫 上图功能显示,功能一致 ...

  4. sql数据库教程百度云_【推荐】零基础水彩画入门教程|零基础水彩教程百度云...

    零基础水彩画入门教程|零基础水彩教程百度云! 照着教程画却总是画不好,这些水彩技法你真的学会了吗? 盲目地照着葫芦画瓢,不懂控制确实很难学会,可以关注一下公众号:每日学绘画,可以领取水彩电子书和全套视 ...

  5. 零基础JavaScript入门教程(1)–走进JavaScript的世界

    点此查看 所有教程.项目.源码导航 本文目录 1. 前言 2. JS的历史 3. JS的地位 4. JS与HTML.CSS的区别 5. JS是真正的编程语言 6. JS的组成部分 7. 小结 1. 前 ...

  6. 零基础CSS入门教程(1)–初识CSS

    点此查看 所有教程.项目.源码导航 本文目录 1. 前言 2. HTML与CSS区别 3. CSS有哪些功能 4. 如何学习CSS 1. 前言 学习CSS是离不开HTML的,HTML是CSS的基础,如 ...

  7. 【PR】零基础快速入门教程

    [PR]零基础快速入门教程 PR(Premiere)能做什么? PR欢迎界面及新建项目 工作区及窗口说明 导入文件 建立序列 视频剪辑 添加字幕 导出视频 使用软件:Premiere2020 新年卷起 ...

  8. 零基础Bootstrap入门教程(0)--教程背景与目录

    点此查看 所有教程.项目.源码导航 本文目录 1. 背景 2. 教程目录 3. 源码下载 1. 背景 在学习完成HTML/CSS/JS/jQuery零基础入门教程后,自然而然我们要进入Bootstra ...

  9. 零基础SSM入门教程(0)--教程背景与目录

    点此查看 零基础JavaWeb全栈文章目录及源码下载 1. 背景 本教程的出发点是写一个比较条理,比较全面的SSM系列教程,首先造福自己.理顺自己的知识体系,然后也造福大众,因为网上现存的资源相对比较 ...

最新文章

  1. 学习WINDOWS内核好书
  2. matlab画图(复数的直角坐标和极坐标)(-)
  3. .NET 6 中的HTTP 3支持
  4. Server操作Mxd文件详细讲解
  5. 你不知道的数学趣闻(一)
  6. 我们家的HTML5捣蛋王开始行动了
  7. 招聘ASP.net高级Web开发工程师
  8. 一直在构建版本_教你如提升Gradle90%的构建速度
  9. windows端口被占用及广告弹窗处理
  10. sql-server 不允许保存更改,解决办法
  11. matlab机器人工具箱puma560模型学习
  12. Android 最常用的设计模式一 安卓源码分析—单例模式singleInstance
  13. springboot获取国家法定节假日
  14. java-php-python-ssm无人智慧药柜系统设计计算机毕业设计
  15. python--给图片加水印
  16. Go语言aes加密解密处理
  17. Alios things学习——helloworld
  18. padavan做副路由,主路由是原厂固件,如何使用adguardHome过滤广告
  19. oracle读bfile,在fileopen时候ORA-22285报不存在
  20. Studio 3T 破解教程 mogodb

热门文章

  1. 操作系统——文件目录
  2. 计算机网络——基本介绍
  3. java右移位_java中的左移 右移
  4. foreach 循环达到条件的第一次就停止_是否应该停止在JavaScript代码中使用forEach()?...
  5. bzoj5108 数据_成都day3t3
  6. mysql单台跨数据库查询_在MySQL中怎样进行跨库查询?
  7. 青岛农商银行计算机防病毒应用培训,青岛农商银行胶州支行多元化培训提升安防管理水平...
  8. 怎么知道wx.config执行成功没_作为一个减肥40斤,且10年没反弹的普通人,这份瘦身经验分享给你...
  9. 粒子群优化算法(Particle Swarm Optimization)的 Matlab(R2018b)代码实现
  10. Deep Alignment Network(人脸对齐)