惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
博客园_首页
博客园 - 三生石上(FineUI控件)
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
量子位
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
美团技术团队
小众软件
小众软件
Jina AI
Jina AI
S
SegmentFault 最新的问题
博客园 - Franky
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

博客园 - Mose

CS学习 NOI2002_ Galaxy银河英雄传说86 [Elite 2008 Dec USACO]Jigsaw Puzzles SGU 223 little kings BSOJ2772 状压DP BZOJ 3132(上帝造题的七分钟-树状数组求和+2D逆求和数组) 埃及分数 [usaco]2013-jan Liars and Truth Tellers 真假奶牛 【区间DP】codevs3657 括号序列题解 ubuntu安装php-curl拓展 MIT挑战(如何在12个月内自学完成MIT计算机科学的33门课程|内附MIT公开课程资源和学习顺序 大白话Docker入门(一) Hexo博客搭建全解 代码查重工具sim virtual judge 本地部署方案 POJ题目分类推荐 (很好很有层次感) 解决Ubuntu下Sublime Text 3无法输入中文 [codecademy]fonts in css [codecademy]css Ubuntu录制gif动态图
[pascal入门]数组
Mose · 2017-03-10 · via 博客园 - Mose

一、本节目标

本节我们将要讲述数组。本节目标:

  • 一维数组
  • 二维数组
  • 字符数组

二、一维数组

我们通过一个案例来简单的理解数组。班主任要计算班级里面50个同学数学成绩的平均成绩,道理上讲这是一个比较简单的问题,只需要把每个人的成绩加起来除以50就可以了。但是如何表示50个人的成绩呢?按照我们之前的学习定义50个变量,s1,s2,s3...s50,但是你有没有发现这样存在的问题?第一,这是50个学生,假如是5000个呢?这样定义很繁琐。第二,这样的定义没有反应出他们之间内在的联系,他们都是一个班级的,都是统计的数学成绩,这样的问题如何解决呢? 首先我们可以用同一个名字表示他们(如S),而在名字的右下角加一个数字来表示这是第几名学生的成绩,例如,可以用S1,S2,S3代表学生1、学生2、学生3......学生50等50个学生的成绩。这个右下角的数字常称为下标。一批具有相同名字和相同性质的数据就组成一个数组(array),就是数组名。我们首先从一维数组来理解和学习。

定义一维数组

定义一维数组一般有两种方式:

方式1:

数组名:array[下标1..下标2] of 元素数据类型;

例如定义以下数组:

var student:array[1..10] of integer;
 

方式2:

第一步:先定义一个新的数据类型:

type 数据类型名=array[下标1..下标2] of 元素数据类型;

如:

type arr=array[1..10] of integer;

第二步:定义一个该数据类型的变量:

如:


注意:

(1)数组名的命名规则和变量名相同,遵循标识符命名规则。

(2)在定义数组时,需要指定数组中元素的个数,方括号中的下标1表示数组中元素是从0开始的最后是以下标2结束的。例如,student[1..10],表示a数组有10个元素。注意,下标是从0开始的,这10个元素分别是student[0]...student[9]。一定要注意这里面不会有student[10].

(3)常量表达式中可以包括常量和符号变量,如“int a[4*2]”是合法的。但是不能包括变量,如下面的就是不合法的:

int n;
scanf("%d",&n);
int b[n];

经过上面的定义,在内存中划出一片存储空间(空间大小:4*10=40字节),存放一个含有10个整形元素的数组。

Alt text

一维数组的初始化

为了让程序简洁,我们常常在定义数组的同时,给各数组元素赋值,这就是数组的初始化。 (1)在定义数组时对全部数组元素赋予初值。例如: