00:00
好,那我们今天讲一下这个数组和字符串,那这个主要内容就是什么?就是了解什么是数组啊,数组格式以及数组样式,以及字符串数组相关的东西,那在讲课之前给大家先举个例子,比如说。呃,咱班有这个70名学生啊,是90名学生,咱班有90名学生,那就比如说咱们考试啊,考完试之后,我需要给每一名学生成绩啊录入录入这个相关成绩,那我定义变量情况下,定义多少个变量,就是用来存入咱们班学生,学生这个名名称的这个存多少个。90个是不是,那比如说写程序情况应该怎么写呢?应该是。假如在下面写啊,比如说这样写的是定义一个成绩是int类型的,第一个同学成绩学号为这个是零一开头的,比如说写个零一啊Q,这样写可以吗?为啥有啥能有同学能告诉我为啥不行吗?啊数字不能开头,那我可以改一下改成什么呀,改成这个是。Score,杠一,这是代表第一名学生,是不是第二名学生考杠零二,那90名学生是不是定义90个,这还比较少呢,还能定义出来,那假如说这个就是什么高考,那全国每年高考学生大概有790多万,是不是我要定义变量,定义790万,都790万个变量,那得估计这个程序得写多少行啊?
01:18
写多少行咱也不知道是,反正很多是不是这样处理,比如说它具有相同数据类型的,什么叫相同数数据类型啊,我给大家计算分数,分数是不是大家都是相同数据类型啊,比如说这个大家从这个零分考100分,而且是在一个区间之内,是不是每个人比如说这个七十八十分啊,咱们先不算这个小数点啊,咱比如说算出一个整焦,那是不是它们是相同数据类型啊。那如果找到这个规律之后,那我比如说它们都是相同的数据类型之后,那我可以用数组来代替,就是一一组数的一个集合,称为什么数组,而且他们具有一个相同条件就怎么样,相同的数据类型都是什么,都是这个整形,那比如说我这里面再定义90名学生的时候,我可以这样写。
02:03
Scar,然后是这里面写什么,写个90。这一下子就相当于。相当于定义。90个。类型的变量,那这是不是很方便啊,比如说这里面什么,这里面比如说是这个。呃,790万个,那就可以写790后面写个万,这样写行吧,啊不行是不是,那790后面1234是不是这样写就可以了,一下子我就可以怎么着定义790万个这个,呃,变量是不是就因为是整形变量,是不是用来存储学生这个信息了,但是这里面咱们不定义太多啊,咱们定义这个十个就行了啊,咱用小数来去操作。定义十个类型的,这里面改一下吧,定义十个类型的变量是不是,那我这是第一步完成了,我定义十个变量了。第一步,那我要给这个十个变量赋值,怎么赋值啊,比如说正常情况下,比如说如果是这样写啊,Int类型的CL杠零一。
03:07
啊,这是一个变量啊,我可以给的赋值情况下,可以这样写,科二杠零一等于100分,第一个学生100分,第二个学生再写一个逗号二杠零二。然后这里面给负分数考杠,零二等于99分,这样情况下可以为每个学生进行赋值是吧,我们可以打印出来啊,打印一下PTF。呃,零一名学生的一个成绩冒号百分号D。斜杠N,然后是逗号一个score。杠零一,那这样情况就可以打印第二名学生成绩,那是改成什么,改成这个是02Q号零二,那我们这个假如说如果用数组操作情况下,那我们需要怎么去办呢?我们需要找到数组中的某一个成员,找到数组中。的成员。
04:01
怎么去找到呢?这里面引入一个新的知识,叫下标。可以通过下标去找到搜索中的某一个元素,那怎么去根据下边找呢?我这里面写的谁,写多少个。十个,那我找找什么,找第一个情况下,那应该怎么去写啊,看这里面括号括起来,这是代表是十,是不是有十个,那根据编号来找情况下,比如说这样写啊四号四。然后是下标写个一,那是不是第一位成员呢?啊不是啊,注意一下,我们这里面下标是。从零。开始的,那我那我们要找到第一名学第一名学生成绩应该怎么样,考零这里面相当于这是不是一个整形的一个变量了啊,这里面拆开情况下,这里面是不是能拆开十个呀,从哪到哪啊,如果从零开始情况下,应该是四克号零号。123456789是不是十个,那咱们把这先删掉,是不是可以这么的,根据下边去找,下边是从什么开始的,从零开始的,一直找到哪啊。
05:05
呃,下边从零开始到。COS9是不是十个元素啊,对应到这里面是不是也能找到啊,零一二三四五六七八九十个元素,那这里面比如说这里面写了一个十是数组中那个是什么呀?元素的个数啊,这个是中括号。括起来的称为元素。个数这个元素代表啥意思啊,我这个里面。是不是一个这个元素的集合啊,我要找到某个元素,是不是可以通过这下边去找啊,这里面元素个数就是十个,下边是从哪开始的?零开始了,到几啊,到这个是九,总共加下来十个,那我们这个数组情况下,那看下这个里面需要知道了几个新的知识点,首先数组第一点我们需要注意的就是什么数组是一款相同数据类型的集合,这一点在哪啊?相同数据类型什么类型啊,In的类型,这是第一点我们知道的。第二点我们需要了解数组元素的个数,什么叫元素个数啊,就是我想定义多少个元素,是不是我就怎么样写多少个,是不是就是中括号括起来了代表元素的个数,那我要找到某一个元素或某或者第几个元素的时候,那我通过什么去找啊?
06:25
下标,下标从从哪开始的?零开始到哪里啊。到数组元素个数再减去一个一,那是不是就几啊,就是比如说十这里面对应是几啊九那我们可以找到了吧,就是我们把这个整体的去写在我们笔记中啊。啊。
07:02
等一下啊,别姐。是不是要凉爽了。我穿的。其实我每天穿长袖的时候也是窝到这儿,只是今天我就想穿个短袖而已。开启夏天模式了。诶,这个笔记怎么这么不给面子呢?好这啊,你看一下我这里面笔记整理完之后,每天是不是都有啊,然后这里面0323基础班,等到大家这个学完习之后,我要统一给大家发一个这个一个带列表的,就是第一天学啥,第二天就发第三天学啥了,告呃大家记住一下,我在指针那个讲完指针那天就给大家先发一下,因为指针后面考试,大家可以拿这个作为一个什么作为一个这个是复习啊。啊,提醒我一下班长啊。完了。哎呀,能。音响笔记如果没网的情况下会这个如果在局域网情况下会很卡,这个要不要加热网可以先不用吧,我看先等个几秒,看一下能不能完成。
08:10
请关闭,再打开一下。别着急啊,别着急。不急。你们不着急,我着急呀。这还有个青海湖骑行啊,你开了?好了。嗯,好了啊,你先别关,先别关,我等一下等一下等一下。好,那那我们这里面继续了啊,那首先这是我们今天讲的是数组。数组,然后第一部分是那个是。叫整形数组啊,或者叫什么数组呢?因为这里面还有个字符串区分,那我们先叫数组的定义和结构。数组的定义和使用。就是我们讲的第一块内容。
09:01
然后加A,然后选择14号字。那首先它格式什么样的格式,数组的格式。首先是数据类型,比如说整形啊,其他的数据类型是不是,然后是数组名。数组名它叫什么,什么名字是不是,然后后面加上什么,加上一个这个英文状态下中国括起来是。元素个数是不是这样,这样就怎么定义了一个数组啊,啊定义数组,那然后需要注意的几个名词,第一个叫元素个数啥意思啊。代表该数组有多少有多少个相同。数据类型的。变量是不是这意思啊,你我问你啥叫元素个数,你告诉我它叫元素个数,那解释是这么解释吗?用它本身的名词解释,它本身不对啊,是代表该数组这里面写错了啊。
10:02
该数组有多少个相同数据类型?什么是什么数据类型是不是相同的吧的变量啊,这里面每一个数组元素就是可以相当于一个变量是不是,这是第一个名词,第二个名词需要大家知道就什么叫。下标,那下标字什么意思啊。用来。表示。数组中。数组中。嗯。对。某一个元素,某。一个元素根据下边来表达,那比如说我们写写个例子啊,例如,例如是。呃,数组啊,先写个数组,Int类型的AR代表数组啊,比如说这里面写个十等于什么等,呃,不写等于根号,然后是A。代表什么?代表数组中数组的第二个。
11:01
元素是不是第一个元素呢?是从什么开始的?从零开始的,那就写下一句话啊,是数组下标是从。零开始的到哪里啊?到数组元素个数减一啊,这是它的这个。定义的方式格式啊,那我们可以通过程序来给大家验证一下啊,右击添加一个新建项。是零二数组的定义和使用,那你看这这里面应该两两个问题吧,第一个是定义,第二是如何去使用,那我们去写下代码井号一。改一下,改成这个是零一。好,先定一个数组,就同样,我们先用这个score来定义scores,然后后面加上一个十。
12:00
这是定一个数组,然后是找到数组中的某一个成现变量,我可以找到零,给零赋值等于100,这样情况下是不是相当于我们怎么样定义一个变量,给变量赋值一样啊,只不过这里面我定义多少个变量啊,十个变量我可以按个给它赋值,此刻。四然后是一等于99,然后再复制一下啊粘贴。哎,别嫌麻烦啊,这里面是。二。345678。九,那那比如说再这样弄写个十,这样行吗?为啥啊,这里面我原本定义是几个,定义是十个是不是啊?那我这里面写了多少个,写了11个是不是,这里面还需要记住一个名词叫数组下标越界哪个下标啊,是不是这个下标啊,下标是从零到九开始的,因为我这里面十个元素是从零到九开始的,如果超出这个数情况下就怎么样,就做一个。出现一个错误就是什么数组下标越界,那数组下边越界会导致什么样的情况出现呢?错误了呗,是不是啊,反正就就知道数组下标越界就是错误,那这里面一个新的名词叫。
13:10
数组下标越界啊,当然我说这些名词都会给你去演示啊,这个问题什么这个是出现这种情况是怎么出现的呢?是。超出了。数组。元素。个数的下标啊。下标。如果操作。数据就是你操作什么,你操作这个这个越界那个下标啊,操作这个数据啊,操作越界数据。会出现。程序。错误,这错误也分为两种错误。第一种就是是。乱码结果。什么叫乱码结果呢?就是这个你输出来这个值是一个你看不懂的数值,但是程序不会给你报错,知道吧,但是我们认为这种错误不是这个报错啊,第二种就是什么?第二种就是报错了吧,啊报错这种错误是怎么出现呢?就是你在程序运行的时候,假如说我们每一个数据对应都是一块什么都是块内存,是不是有一块内存的数据,他就不让你访问,是不是在你访问的时候是不是报错了,这咱们一会儿会验证这俩错误啊,咱们也别着急,那我们去补,把这个程序补充完成,这样情况下就是怎么着,就是我们写完了九个元素是不是,呃,是多少个元素啊,是从零到到十。
14:34
到九啊,是十个元素,那可以打印出来PTF,打印某一个元素值,百分号D,斜杠N,然后是逗号,一个什么逗号,一个括号,然后是零,那打印是哪个数据,是不是这个数据100啊,然后再复制一下,打印一个SC1,那打印对应的是哪俩值,是不是一个这个值一个G值啊,199,我们验证一下到底是否有问题,调试开始执行。
15:05
调试。等一下啊,别着急。啊,这里面在编编译程序,编译到17行了。哎,出来了。呃,打印出来是吧,一个是100,一个是什么?99对应的是哪个,对应是这个和这个,因为这里面所有的值都是99,我就没没怎么没做打印啊,但你应该知道是哪两个了吧,那同样,那我们这里面如果如果给如果怎么样,如果给数组赋值的情况下,在找到某一个数据,这样赋值是不是比较麻烦呢。那我们还有另外一种方式可以通过什么?可以通过循环给数组进行赋值,以及循环去打印数组,那我们看一下去如何操作这块。那好,那首先先给先写个循环,那我们数字里面有多少个元素啊。十个元素数组加标从哪到哪的零到九,那我这里面定义一个变量I等于零,从零开始是不是到九,I小于十是不是到九啊,然后I加加,每次让这个I进行一个加加,那对应情况下我需要找到什么呀?找到这里面这个中号里面这个值是不是我这个是现在写的是什么,现在写一个具体的数值,当然我也可以写一个什么,写一个变量啊,对应的一个变量就是scores,然后是写一个变量谁啊是ii,每次在变的时候是不是对应的这个里面数据就变了,从零到九是不是可以把所有都赋值啊,那比如说负值,负值为多少,负值为这个是。
16:31
等于90,再加上I,因为I每次会变,是不是每次在负值的时候,那得到结果为多少啊?90~99吧,啊好,那我们可以打印一下啊,把这个先给删掉了啊,因为这个这样是太麻烦了,我们可以把这个怎么是。呃呃,是未数组赋值吧,啊,这都写一下注释啊,这要。定义。定义数组,然后第二步是。
17:04
为数组赋值为,就初始化吧,初始化数组,然后第三是打印下数组。打印数组。打印的时候通过我们是不是也可以也可以用循环操作啊,那怎么操作呢?先写一下负循环,然后是in ti等于零,I小于十,因为也是十个元素全部打印出来,然后让I加加,那大家注意一下,我这里面定义的两个都是什么?都是这个I的值是不是?那同学之前咱们说过一个问题,什么问题啊,是这个,呃,在同一个函数之内不允许定义两个名字相同的什么呀,相同的这个变量不是,是不是说过这句话呀,是不是说过,但是为什么这里面是可以的呢?因为这个某一个负循环,它就相当于一个函数一样存在,知道吧,这里面定义的就是这块负循环对应的叫局部变量啊,这是一个局部变量的一个过程,这是不是也是一个局变量,虽然它俩都在同一个函数之内,但是这里面是两个不同的一个区域啊,所以这个大家注意注意一下啊,后面会给大家说啊。
18:05
然后是。I,我这里面是怎么着,是把这个变量当做一个值进行输出了吧,那看怎么去写啊,PTF,然后是。方D、斜杠N,然后是逗号。把这个值输出出来,我们可以通过循环操作,这样就可以了,那这里面负值,负值为多少啊是。I每次心行相加的时候,从零加到九就是90~99是不是?打印出来,那我对应的也是什么,打印出来这个值从零到99是不是,那我们看是不是这样调试开始执行。是不是90~99,是不是那画图辅助大家去理解一下我们这个程序的。呃,就是这个数组的定义和初始化过程。
19:04
电脑今天比较卡是不是啊,打打开了啊。这不是尴尬了嘛,是不是在这还发呆呢,是不是找了半天没找到,我以为弹出对话框什么的呢,是不是,那这里面比如说我定,就比如说可以这样啊,比如说先写个这个东西啊,比如说定一个int类型的一个整形变量叫SC,那是不是对应的,是不是这里面可以写这个数值啊啊,这个也可以叫内存示意图啊,这个后面咱们再说啊,咱们现在知道这个方式就行。比如说定义一个变量叫SC,然后这个值为100,是不是它这个对应的这个值在我们内存中会存着一个数据,那同样那我再定一个变量,Int类型的。SCAR1,它对应的也是一块什么也是一块这个内存的变量,这个值为这个99分。这是我们单独的这个变量,是通过这个int型定义的,是不是,那我们可以把它看作一个数组,就是把它整体的放在一起。写下这单独定义。定义的变量在内存内存中。
20:04
存储数据。存储的数据样式。啊,这句话能明白啥意思吗?我再说一遍啊,单独定义的某一个变量,在内存中存储的数据样式,就是你定义一个变量是不是你可以通过这个变量找到这个什么,找到对应的内存这个值啊,就这意思啊,那那我们再定一个什么,定一个数组啊,定数组在这写啊是。数组的定义。并译和使用。那好,那看一下,那这里面我们这个数组它是一块连续的内存,在内存中是连续的啊怎么是连续情况呢?是这样一大块儿的,然后因为他们每个变量都是怎么都是这个挨着的,那所以说我们可以找到通过循环来找到这是第一个变量。这是。第二个变量。这是第三个变量。这是第四个变量。话题好难呐,第五个。
21:02
好,那后面加起来就相当于十个,我就不画那么多了,那比如说这里面我定一个数组,它的名字叫什么?叫int类型的scores scores scar,这里面如果是十个啊,这里面就相当于十个了,那这里面第一个它下标为多少啊下标。嗯。下标。西亚Bo啊为零,那这里面可以换换做一个什么箭头的指向啊,比如说指向第一个时候,那这是不是零啊,啊,那就相当于在在拿出我们程序中让他做循环操作的时候,当指向于下标为零的时候,对应的时候我给它赋了一个值,怎么赋值呢?是90加上ii的是不是零啊,就是将90写到哪个,写到下边为零这里面来了啊值。为90,它同样也相当于什么,也相当于这样写啊,是我把这个往下拿一点啊。Score score。零等于90,然后将90放在哪块内存区域是不是,然后循环怎么着,还在继续吧,继续的时候这里面变成几了,等于零,完事之后变成加,加变成一了,它对应的下标就走到哪了,走到是。
22:13
这块了吧,然后我就给赋一个值,赋一个值为多少为这个是。91,然后再下边再往下走,然后它的值为多少啊。92啊,顺序的怎么着,赋完值一直到哪,一直到我们这个循环结束,那是不是整个数组元素中全部复制完成了,它的光标最后到哪了,是不是到这个是。到这儿了,就已经除去我们数组了吧,那除去数组情况下,我如果再负值情况是不是报错了,就是我们所说的是数组下标越界了吧?啊,所以说我们要操作情况下,我们定义多大块内容,那是定义多块内容,是不是定义这个是内容吧,我就操作多大块内存对应的内存,如果你要多操作情况下,是不是就用别人的内存了?这里面可以举个例子,比如说你在宾馆开了三间房是不是啊?
23:02
你先别别笑,咱们很正常的一解释啊,开了三间房,你用于第四间人让你用吧,是不让你用吧,是不是?一般情况下人吧会有门锁上,不让你用吧,是不是,这是是这个可以比作相同的这个内存一样去去看待是不是,但是你在你在宾馆做什么事我是不管的是不是,但是你只要超过宾馆就这个这个开个房间那就不可以了,明白吧,嗯,那话糙理不糙啊,虽然有女同学,但是我这个讲的这个案例也没露骨啊。嗯。好,这是我们什么?这是我们数组的定义和使用,当然这是什么?这是我们数组里面存储数据,这是第一块是数据。存储我们说来读出来啊。读出来的时候看一下是怎么去读的啊,同样是我们把这块给它复制一下。好,CTRLCCTRLV啊,拿过来一块。
24:01
好,那我们看一下那数据,假如说这里面已经全部怎么92,九十三九十四都都已经顺序的存储完了啊,包括后面九十五九十六啊,就是点点来代替。那这里面数据存储完之后,那我要找到这个数据情况下,我是不是可以怎么着。通过下标,比如说我就找到什么92对应的这个下标是几啊是。012是不是我可以通过什么Q2。Square。下标为这个二的括号X是不是能找到这个对应的值为多少,为这个是92了,我可以是不是取出来,并且打印出来也可以啊,当然我可以通过另外一种方式,什么是循环方式,就是咱们下面那个写那个例子去打印,这个例子是怎么操作呢?是。循环打印整个数组内容从哪开始啊?从下边为零开始,到下边为几啊,到下边为九,那因为这里面循环是小于十,满足到九那条件之后就不满足了,是不是啊?那打印的时候是不是取出第一个值,第二个值,第三个值,第四个第五值,第六值,那这个箭头指向就相当于我们什么,相当于我们这个下标指向一样,是不是?然后这是对应的内存里面的具体的值是这样取的,这是我们数组啊,数据存储和数据读取的操作过程。
25:18
数据读取。手机读取,那这里面我可以做个例子,什么例子啊,就是说我们这里面可以做一个叫打印学生成绩是不是,那班级假如有十名学生,就是咱们之前那个讲课之前讲那个例子,有十名学生或90名学生,我通过键盘录入你们的成绩,然后再给他这个每名学生成绩打印出来可以吧?嗯,看一下怎么操作啊。右文件右击添加一个新建项是。零三案例叫什么名?啊,学生成绩好。学生成绩。屌丝。井号一。
26:00
零二。Int类型的。Score是这里面多少个我就写多少个,写十名学生证啊,然后通过键盘去录入他的成绩,不循环in ti等于零,I小于十,然后I加加操作。那循环录入情况是不是应该SC在循环里面来啊,呃,摆放号D,呃不不写斜杠啊,然后逗号放在哪个里面呢?是否放在这个scores这个数数组下边里面啊,但是注意一下,我们平时在写的时候,你看一下我再写一个scarf。百分号D,然后是逗号,比如是一个变量,这个变量叫A呀,我们都写什么呀,写个an的A,那这个是不是也相当于一个变量一样啊,所以说注意一下,这里面也得写什么呀,也得写个and sc,然后后面加上这个数组的下标啊,这是scam,在录入数据的时候一定要注意这个问题,写一下注是啊,是在。通过。键盘为数组父。
27:04
职的时候。需要。写取地址符号。取地址符号这什么这个叫。嗯。这里壁纸方后面会给大家具体去讲啊,讲内存的时候就讲也是三天之后。那好,那我们通过键盘可以录入这个值,录入完这个值我们是存在哪存内存中,是不是我们可以通过打印去看一下我们这个值到底对不对。同样循环in ti等于零,I小于十,然后I加,加。打印一下是PTF。地。写个N,那我可以为了分辨几项写是地,然后是摆放地名学生名学生。
28:01
学生成绩成呃第一名学学生,然后是成绩。百毛D,那这里面我写了几个百毛D啊,两个板毛D,所以对应的应该是几个值,俩值,第一个值是I加一,第二值是。Score,然后是I,这个I加一代表什么?这是从零开始的,是不是我再加个一,那应该什么,应该是第一名学生的成绩,第二名学生的成绩是不是这样写啊,然后后面打印出来,这里面我们通过键盘录入,然后键盘怎么着再给他去打印出来,那看一下调试开始执行。比如说我要什么?比方说第一名学生成太多了是吧,那我随便赋值了90,然后89,然后是78,然后是90,然后是78,然后是60,然后是59,五十五十九几个啦,12345678,再写一个99,然后是。一万分啊,十万分也行,一万分吧,好打印出来是不是这个是第一名学生成绩多少多少分,第二名学生成绩多少多少分啊,那这样情况下是不是我们在写程序的时候就怎么的,就很方便了吧,不用去定义很多的这个变量来去存储,那这里面比如说改成100情况下,是不是只是我们录入数据多了点,但是定义变量是不是定义很少了,他们就有相同的数据类型,而且很方便去操作,比如说我要做班级平均成绩应该怎么去求啊,再写一个。
29:21
这是打印班级成绩啊,这是打印成绩。打印成绩。我还有一遍是要求什么,求出班级平均成绩。求出班级平均成绩。我该怎么求?这个先加一块啊,把这个值加一块是不是?那有两种方式是我在录入的时候就可以定一个变量去加入这些成绩是不是就可以了,要不然你再写一遍,再写一遍,再写个循环,然后读出这个成绩加到一个变量中是不是可以啊,那我们这里面直接在什么,直接在这个呃,录入成绩的时候就加入进来也可以啊,比如这样写int类型的sum,呃,默认情况下数值为零可以吧,嗯。
30:04
Sum加等于。K。I啊,这个值这样加等于你能明白啥意思吗?啊,就相当于什么?相当于是sum等于sum,再加上SCS中的这个I,就是我录入这个成绩就放在总成绩中是不是?那然后怎么的,然后要求出群新成绩,我班级多少人呢?十个人啊,那十个人我这里面啊,除以一个十,那就是什么,就是这个avg了吧,就再写一个是avg。VV还是VG啊?AG吧,AG平均成绩的意思就是。写对不对,你别管这个做是不是这个东西啊,对不对吧,是M再除以个十是不是啊,我这里面就不给他做什么操作,不给做这个这个小数点操作了,知道吧,我就出一个十是不是可以啊啊就是班级平均成绩啊,这是我们通过什么,通过这个呃。
31:02
呃,求出俩值,那这里面可以写一下是不是在在哪写啊是。在这写打一下班级平均成绩,怎么打印呢?PTF是。呃,班级平均成绩为。呃。得分号D,然后是斜杠斜杠N,然后是逗号sum,再除以一个十就可以,但这个十我们怎么得出来呢?是因为我们说了就有十个,是不是还可以通过另外一种方式去得取?那我们先看一下计算结果,然后再给大家说这个问题。关掉,然后调试开始执行。好,输入成绩,哎呀,这太麻烦了。90,然后是80,呃,98,然后91,然后是。78,然后是69,然后是56,然后是67。98。87。
32:00
100分。好,这里面什么,这里面是这个是录入学生成绩啊,就是通过数组方式录入成绩,然后怎么的,然后求出班级平均成绩,然后最后给他怎么着打印出来了吧?啊当然其实我们知道这个班级有十名学生,我们可以这么操作,还有另外一种方式怎么着,我也可以求出班级有多少个人。那怎么求出呢?就是这个是十怎么得出来的结果呢?那我们可以再写一个是在这里面。叫求出。数组的。元素个数。那不知道大家知不知道一个关键字啊,是size size of哪个值啊?是int代表啥意思啊?求出一个整形变量在内存中占有大小,是不是?这这个意思大家还记得吧,是不是?那我们如果在32的情况下,这个int大小是几啊?是四的这个值是不是?这就是第一步我们需要知道的问题,第二步那我们能不能求出来什么?能不能求出来这个一个数组的大小呢?比如说这里面我写一个数组。
33:04
数组,那看一下出来一个数组,这个值为多少是不是,那我们这个拿出个单独例子啊,因为这里面需要键盘录入,所以说我就拿出个单独例子给大家去演示这个问题啊,但这是我们需要知道的问题,再新建一个,添加一个新建项是。零四叫数组。呃,数字大小也行。大小诶。大小,然后点C。怎么求出来数大小呢?咱们先不要看这个例子,咱们知道这个学生成绩这块就行,比如说我定一个数组in特类型的啊A也就是四,然后。十十这里面是不是十个元素啊,那我求出来的大小可以打印一下啊。啊,可以先先什么,先简简写一下是in的类型,是什么数字元素的这个长度吧,Lets等于。Size off,然后是括号,括起来一个数组,注意一下我们这数组这个叫什么?如果把前面这些直接拿过来,这叫什么?
34:05
数组的名称是不是,嗯,然后来数组名称,我就可以求出来一个值,这个值就是数组的长度,然后打印一下PTF。D斜杠N,然后是逗号一个。Len,那我们先把这个给它注销掉啊,因为这里面有点错误,先注销掉。然后一会儿再回头求这个值,那这里面是零几啊,0303。数组元素大小调试开始执行。我们看看这个结果是多少啊。40个大小,就是这个里面能装含多少个int类型啊?十个是不是,那我们T类型多大呀?比如说这里面测算下T类型大小是一等于s of。Int这是多大?这是结果为这个是四是不是?一个int大小为四,那十个int大小为多少啊?40是不是?那我们想得出来的结果情况下,是不是用它再除以什么?
35:00
除以对应的这个数据类型是不是就可以啊,就是我们这里面数据类型是不是可以啊,那看一下得到结果是。然后在这里面再打印一下啊,把这三句话先注销掉,写一句话给大家来看一下,PTF括括起来是数组元素个数。对应是哪个元素个数是不是十啊?看一下求来这个值是不是十?斜杠N,然后是逗号size off,然后是。呃,数组,然后再除以一个。呃,Sorry啊,是在size of。啊,Int的大小是不是得出来结果就是我们想要值啊S就啊这是SC啊多一个S是不是,那这样没问题了吧,选择调试还是。啊,没关啊。表示开始执行。是不是得到结果为十啊,这时候我们得到结果,那我们同样可以把这个什么呀,把这个运用到什么,运用到前一个例子里面来,是不是,那比如说这里面我们写的都是什么呀,写的都是十是不是,我们是不是都可以改成什么呀,改成另外一种格式,就是它的这个是数组的元素个数,或者它的长度怎么写呢?是set of。
36:11
Off。然后是。数组名是不是啊,数组名就是scores,再除以一个。Size off。Int是不是这样结果就是怎么的lengths是不是我可以把这里面所有的十全改成这样写是不是就行啊?那这样情况是不是就是怎么的,就是比如说这数字元素为20个情况下,是不是可以怎么的改成20,那我可以怎么写呢?比如说这里面井号几范,然后是DEF。然后是数组的元素的个数,那就用这个len来表示是不是可以啊,比如说这里面写个十,然后我把这个写成什么,写成一个len len大写的,那我整整体操作,这里面是不是没有数据了,我每次要改程序的情况下,比如说十个学员不够了,那我改成100个,是不是在这加个零就行了,是不是整个程序里面我就不需要再去动来动去了,是不是哪块事实哪块不是实,我需要改一下或需要做一下,是不是不需要操作了,这是我们这什么,这是我们这个是可以通过常量的另外一种方式,怎么的降低这个这个程序代码的耦合度,什么叫耦合度呢?说一下。
37:15
藕和度啊,就这个藕啊,藕和度,大家知道这个藕都是一节一节的,是不是很方便,我要吃我弄成一节是不是,就是就是蘸酱就吃了是不是,那不是说比如说像其他东西,比如说像大葱,我就怎么的,要吃就得一根根来是不是,但是我只能吃半根,是不是那半根就放起来了,所以说这是什么,这就是耦合度这个关系啊,就是可以通过这个程序的这个什么啊,这个常量来降低耦合度,就是这里面,比如说我要改一个数值的时候,改这就行了,要吃藕吃两角藕是不是这这这块改成几,改成二是不是就行了。这样程序里面所有东西我就不用动了,是不用再重构一下代码啊,我们程序怎么着更那个方便操作啊,就这意思,那我们把这个这块求出来,这里面除以几啊,除以一个是。Les小写的这个Les吧,你看咱们这有个大写的len和一个小写的len是不是这样啊,是不冲突吧啊大区分大小写是不是,嗯,这是咱们之前讲的内容,那一样一样什么一样啊。
38:09
Sum是一样的,这个值吗?那我看运行啊,看有没有什么其他问题啊,开尔直销,哎,果然有问题。是哪个没改啊零四,然后这是零三啊,把它去掉。早晨开始执行。那这这里面应该录成绩了吧,哎哟,我天呐,太多了,好123456789。哎,怎么挂掉了呢。啊,这个奇样嘞,这改回去啊,改成五啊,咱咱不用十了,是不是咱五的情况,这里面求出来一个结果是多少啊,这块求出来结果是多少,20是不是四,20是不是,这里面再除以一个什么,20除以一个四是不是得的结果是五啊好,我们看一下开始执行。12345得到结果是不是这个平均成绩为三呢?这是我们这个结果啊,那好,这是我们通过什么通过这个size of求出来的size size of里面什么in的是不是求出来了,这是第一种情况。
39:12
啊,可以通过。这个是数据。呃,类。类型啊,求出它的这个大小,还有一种方式是什么?还有一种方式是可以通过什么,可以通过数组某一个元素也可以啊,可以通过数组元素求出。可以通过。树。数组元素,那哪哪是元素啊,比如说我这里面把这个代码复制一下,然后拿拿到下面来。然后下面来这里面写一下,比如说写一个,然后是。四个20。嗯。一或者零是不是都行啊,我们一般情况下默认写的是什么?写的是零,那这个零代表什么,是不是代表一个元素,它的类型是不是也是cross,零也是int类型的吧?就相当于我们之前讲什么讲的是,比如说int类型的一个变量A等于十,然后通过这个s of求出来这个A是不是也是什么,也是这个四的大小啊,或者直接写什么,直接写成这个是。
40:20
Int是不是也行啊,这两种方式是不是都可以满足我们的情况,当然我数组中是不是用int,用这个course都行啊,啊这里面我写什么写个零也能求出来,我把这个之前的话代码注销掉,我们运行一下啊,这里面五个数据调试开始执行。12345是不是还是跟之前一样啊,那好,这是我们第二种情况是可以通过数组求出来,我们一般情况下用的是哪一些呢?是从零到九,它的下标之内的是不是可以用啊啊,因为这里面具体的一个值啊,比如说写个九看看行不行。不行吗?开始执行。啊,不是这个九已经超出了吧,是不是,因为这个是是什么是这个五吧,我们先写个四啊,一会超出,看写个九行不行啊,调试开始执行。
41:03
12345没有问题吧,那我写个九呢。确实写个九行不行。没问题的行不行?行,可以啊,写1万都行,我告诉你。12345,诶就说没有了吧,啊这里面为什么写1万也行啊,我们写个1万试试。20。12345没有问题吧,为什么这写1万或写零都行的,因为它首先这是一个什么,这是数中的一个元素,是不是这个我们可以理解为是它是一个什么数组元素,下标越界数组元素是不是,但它首先满足两点条件,是不是一个元素是个元素,是不是一个数组中的元素啊,是这两点都满足,而且数组是一个有数据类型的,所以说它对应的时候也能对应到一个数据类型,能明白吧,他写的也和我们这样写,直接写个int也是一样的效果,知道吧,所以说我们可以如果你写int也行,或者写什么写这个是set off。
42:02
Co啊。零啊,写错了啊,这是。再OFF0也行啊,这S2这里面写1万是不是也诶。Cos。啊,这边没问题了吧,这是我们这个是求来数组的长度,我们写在我们讲义中啊是。求出数组。元素。个数。怎么出来呢?的公式,首先是这个长度,我们定一个这个呃,名叫长度啊长度。啊,长度个数都行,个数吧。个数啊,等于它in的类型的,其实它是什么类型的,它是一个呃。在子。杠T类型的是不是还记得吗?啊然然后是它又称为是一个什么呀?UN int类型无法in类型是不是啊,我们可以给它缩写为int就行啊,这个数等于什么?等于就是s of加上什么加上这个是数组名是不是再除以一个什么除以一个。
43:12
Set off。数组元素啊或者啊,或者是不是这个那啥呀,用这个来表示。或者是数是数组数据类型。嗯,这样情况就可以怎么样求出来这个元素个数,这是我们要讲的第二点。
我来说两句