当前课程知识点:高级语言程序设计 >  数组 >  5.2 一维数组的定义和初始化 >  一维数组的定义和初始化

返回《高级语言程序设计》慕课在线视频课程列表

一维数组的定义和初始化在线视频

一维数组的定义和初始化

下一节:一维数组的使用

返回《高级语言程序设计》慕课在线视频列表

一维数组的定义和初始化课程教案、知识点、字幕

大家好

本节课我们来学习一维数组的定义和初始化

在本节课我们要学习三个内容

第一个是一维数组的定义

第二个一维数组元素的引用

第三个一维数组的初始化

我们先来看看一维数组定义的语法

一维数组定义的一般形式是这样的

类型名

空格 这里的空格可以多个

标识符

然后跟中括号

中括号里面是整型常量表达式

如int a[100];

这里int是数组中元素的类型

也就是每个数组元素都是int类型

每一个数组元素相当于一个int型的变量

a是数组名

100是数组中元素的个数

也称为数组的长度

也就是说刚才的数组a定义了100个元素

分别为a[0] a[1] a[2] a[3]

一直到a[99]

它们在内存中的存储示意如下

看到这个图

注意到它不像我们前面所学的

基本类型的一些变量

如果有多个的话它们在内存中是随机存储的

在这数组中这100个元素是连续存放的

一维数组已经定义了

那么我们怎么样用这个一维数组呢

通常我们是通过对数组元素的引用来实现的

一维数组元素的引用

是数组名[整型表达式]

注意中括号里面的整型表达式的值

我们称为下标

也就是说下标可以是任何整型表达式的值

C语言的下标取值是有限制的

那么它的下标从0开始的

最大可用下标

通常是定义时数组长度减去1

比如int a[10];

如果是这样定义的话

那么定义后最小的下标是0

最大可用下标是9

10个数组元素

就是a[0] a[1] a[2] a[3] a[4]

a[5] a[6] a[7] a[8] a[9]

我们注意观察一下

我们会发现刚才的这些元素的名称

除了中括号里面的值不同外

其它是一样的

这为我们遍历整个数组

也就是把数组中每一个元素都访问

批处理数组元素打下了基础

我们来看看

怎么批处理数组

如果我们要使用数组的所有元素

或者说绝大多数元素

我们可以通过遍历下标来访问

如有定义 int a[10];

下标值由小到大

遍历访问数组元素的实现方法是这样的

for(i=0;i<10;i++)

然后我们去访问a[i]

可以给ai赋值

也可以给ai进行运算等等

下标值由大到小

那要怎样遍历数组元素

它是这样的

for(i=9;i>0;i--)

访问a[i];

一维数组的初始化

在定义数组时给数组元素赋值

我们称为初始化

可以给每个元素赋值

我们把这个称为全部初始化

也可以只给一维数组中的部分元素赋值

我们称为部分初始化

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

那么这是全部初始化

我们把1送给了第一个元素a[0]

2送给第二个元素a[1]

3送给a[2]

4赋值给a[3]

以此类推

5赋值给a[4]

6赋值给a[5]

7赋值给a[6]

8赋值给a[7]

9赋值给a[8]

10赋值给a[9]

这是我们的全部初始化

一维数组的全部初始化

再看一个例子

int f[20]={1,1};

这个就是部分初始化

那么数组f定义了20个元素

这里只给了两个值

那么第一个值是给了第一个元素f[0]

第二个值给了数组中第二个元素f[1]

这里面区分第一个和第二个

是看花括号里面的逗号

第一个逗号前的就是第一个

第二个逗号前的值就是第二个

这里要特别注意的是

一维数组全部初始化时

数组的长度是可以缺省的

因为在花括号里面我们列举了

所有元素取的值

那么值的个数和元素的个数是一样的

因此我们数组定义长度就可以省略

因为值的个数就是元素的个数

比如刚才这个例子

int a[10];

中括号里面的10我们就可以不要

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

显然部分初始化时

数组长度就不能省略

那么本节课内容我们就讲完了

那么在结束这节课之前

我们总结一下本节课我们学的内容

一是一维数组的定义

它的定义是这样的

类型名 标识符[整型常量表达式];

第二个就是一维数组的元素的引用

那么可以单个引用

也可以利用循环语句来一次把数组中

所有的元素或者大多数元素都访问到

第三个就是一维数组的初始化

注意全部初始化和部分初始化的区别

好了本节课就讲到这里

谢谢大家

高级语言程序设计课程列表:

程序设计和C语言

-1.1 计算机程序和计算机语言

--计算机程序和计算机语言

--致敬先辈:伟大的C语言之父——丹尼斯·里奇 程序员

-1.2 C程序的构成

--C程序的构成

--当前主流程序设计语言各自都有什么优势?

-1.3 C语言编辑、编译、运行(VC++2010学习版)

--C语言编辑、编译、运行(VC++2010学习版)

-练习题

顺序结构程序设计

-2.1 变量的定义和使用

--变量的定义和使用

-2.2 数据类型

--数据类型简介

--整型数据

--实型数据

-2.3 格式输出和格式输入

--格式输出printf函数

--格式输入scanf函数

--单个字符的输入输出

-2.4 运算符和表达式

--运算符和表达式

-2.5 结构化程序设计入门

--结构化程序设计入门

-练习题

选择结构程序设计

-3.1 为什么要用选择结构解决问题

--为什么要用选择结构解决问题

-3.2 如何正确表示选择结构中的条件

--如何正确表示选择结构中的条件

-3.3 用if语句及if语句嵌套实现选择结构

--用if语句及if语句嵌套实现选择结构

-3.4 用switch语句实现选择结构

--用switch语句实现选择结构

-练习

循环结构程序设计

-4.1 循环的引入

-- 为什么要用循环结构解决问题

-4.1 循环的引入--作业

-4.2 用while语句实现循环

--用while语句实现循环

-4.3 用do-while语句实现循环

-- 用do-while语句实现循环

-4.4 用for语句实现循环

-- 用for语句实现循环

-4.4 用for语句实现循环--作业

-4.5 何时需要用循环的嵌套

--何时需要用循环的嵌套

-4.6 如何提前终止循环和提前结束本次循环

--如何提前终止循环和提前结束本次循环

-习题--作业

数组

-5.1 数组类型的引入

--数组类型的引入

-5.2 一维数组的定义和初始化

--一维数组的定义和初始化

-5.3 一维数组的使用

--一维数组的使用

-5.4 二维数组的定义和初始化

--二维数组的定义和初始化

-5.5 二维数组的使用

--二维数组的使用

-习题--作业

指针

-6.1 什么是指针

--什么是指针

-6.2 指针类型及相关概念

--指针类型及相关概念

-6.3 指针变量的定义、赋值与使用

--指针变量的定义、赋值与使用

-6.4 指针的运算

--指针的运算

-6.5 指针与一维数组

--指针与一维数组

-6.6 指针的指针

--指针的指针

-6.7 指针与二维数组

--指针与二维数组

-习题--作业

函数

-7.1 为什么要自定义函数

--为什么要自定义函数

-7.2 函数的定义

--函数的定义

-7.3 函数的调用

--函数的调用

-7.4 函数参数的传递

--函数参数的传递

-7.5 函数的嵌套调用和递归调用

--函数的嵌套调用和递归调用

-7.6 变量的作用域和存储类型

--变量的作用域和存储类型

-习题--作业

字符串

-8.1 字符串的存储及输入输出

--字符串的存储及输入输出

-8.2 系统字符串处理函数

--系统字符串处理函数

-8.3 自定义字符串处理函数

--自定义字符串处理函数

-习题--作业

结构体和共用体

-9.1 结构体类型的定义

--结构体类型的定义

-9.2 结构体变量及指针变量的定义及使用

--结构体类型变量和指针变量的定义和使用

-9.3 结构体变量和指针变量作函数的参数

--用结构体变量和指向结构体的指针作函数参数

-9.4 结构体数组的定义和使用

--结构体数组的定义和使用

-9.5 共用体类型和枚举类型

--共用体和枚举类型

-习题--作业

动态内存分配

-动态内存分配--习题

文件

-习题--作业

一维数组的定义和初始化笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。