当前课程知识点:C语言程序设计 >  第7章 数组 >  7.2 一维数组的赋值 >  一维数组的赋值

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

一维数组的赋值在线视频

下一节:二维数组的定义和引用

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

一维数组的赋值课程教案、知识点、字幕

同学们

大家好

今天我们来学习C语言中

一维数组的初始化和赋值

下面我们介绍

一维数组的初始化

正如变量在使用之前需要初始化一样

在定义一个数组时

我们也应该对数组的元素进行

相应的初始化工作

由于数组是一种构造数据类型

它的数据有很多个

我们应该把它的初值放在一对花括弧之内

以表达它是一组数据

而不是一个数据

在实际使用的过程当中

我们经常会遇到这样的问题

有些数组元素的值是已经确定的了

而有一些还没有确定

以便以后进行相应的计算

这时候就会出现这样的情况

我们只需要对数组的一部分元素进行初始化

而其它的元素等待日后进行相应的赋值

那么这个时候

没有初始化的元素的值

又取什么值呢

在我们的c语言系统当中

如果在定义数组时

只初始化了部分元素

而其余的没被提供初值的那些元素

都取默认的值0

如果在数组进行初始化的过程当中

你给出了数组的每一个元素的初值

这个时候

我们可以省掉方括弧当中的元素个数

系统会自动地根据你提供的初值的个数

来决定数组的长度

如果数组长度和初值的个数不相一致

那么这个时候

就不能这样做了

书上的这个例子

是一个简单的数组应用的例子

在主函数当中

定义了一个具有10个元素的一维数组

由于数组不能整体操作

所以说

需要通过一个循环

来依次地对数组的每一个元素进行赋值

注意下标的有效范围是0到9

而当数组的初始化完成时

又如何来输出数组的各个元素值呢

同样的

我们不能把整个数组一下整体输出

也需要通过一个循环

一个一个元素地输出

但是这个程序在输出数组元素时

不是按照正常顺序输出的

而是从后向前逆序地输出数组的各个元素

10个元素虽然输出的顺序是逆序的

但数组的各个元素值没有发生任何变化

如果希望把数组的元素值重新排列

逆序存放

则要另外写一段程序来实现

这在以后的章节当中会有介绍

下面我们来看下一个程序的例子

用数组来处理求解菲波纳切数列

有关这个问题

我们曾经在上一章中

利用循环程序设计解决过这类问题

我们应该来思考一下

在上一章当中

我们解决这个问题时

遇到了什么问题

遇到了什么麻烦

在上一章中

我们是通过循环来计算

菲波纳切数列的相应值的

而每一次我们只能算出当前的两个值

并把它们输出出来

而并不能保存该数列的更早的值

这样一来

我们就可能无法实现

记住每一个菲波纳切数列的值

而只能记住最后算出来的两个值

而我们现在学习了数组以后

可以重写这个程序

既能算出菲波纳切数列的每一个值

并且能把它们记下来以备后用

在程序当中

我们首先定义一个整型的数组f

具有20个数据元素

由于菲波纳切数列的第1项和第2项

是已知的都是1

因而我们在初始化时

只给出前两个元素的初值

而对于后面的其它元素值

我们通过一个循环来分别计算

程序当中的for循环的第一表达式i等于2

表示我们要从第3个元素开始计算

for循环中第二表达式

条件判断

i小于20

表示我们要计算的最后一项的下标是19

for循环的第三表达式

增量表达式

i每次自增加一

整个循环程序设计中

最重要的一部分是f[i]=f[i-2]+f[i-1];

这个赋值语句的功能是表达某一项的菲波纳切数列值

是前两项菲波纳切数列值的和

后面的for循环语句

用来输出菲波纳切数列的每一个值

其中的if语句

主要是用来控制输出的格式

使得我们输出的数据每行5个

这样一来输出格式更加整齐好看

printf语句当中f中括号i

用来表达输出其中的某一个菲波纳切数列值

那么在以后我们要想处理一个矩阵的数据

又该如何处理呢

这个问题

将引出我们的下一节:二维数组的概念

同学们

今天的内容就讲到这里

我们下节课 再见

C语言程序设计课程列表:

第1章 C语言程序设计预备知识

-计算思维与计算机

--计算思维与计算机

--计算思维与计算机

--计算思维和计算机

第2章 C语言程序设计基础

-2.1 程序设计语言的发展及其特点和应用

--程序设计语言的发展及其特点和应用

--程序设计语言的特点及发展

- 2.2 C语言程序的基本结构及编制C语言程序的基本步骤

-- C语言程序的基本结构及编制C语言程序的基本步骤

--C语言程序的结构和编制步骤

第3章 基本数据类型、运算符与表达式

-3.1 C语言的数据类型

--C语言的数据类型

--C语言的数据类型

-3.2 常量

--常量

--常量

-3.3 什么是变量

--什么是变量

--什么是变量

-3.4 如何进行算术运算

--如何进行算术运算

--如何进行算术运算

-3.5 赋值运算符和逗号运算符

--赋值运算符和逗号运算符

--赋值运算符和逗号运算符

-3.6 数据类型转换

--数据类型转换

--数据类型转换

第4章 基本输入输出和顺序程序设计

-4.1 格式化输出printf

--格式化输出printf

--格式化输出

-4.2 格式化输入scanf及字符数据的非格式化输入输出

--格式化输入scanf及字符数据的非格式化输入输出

--格式化输入

第5章 选择结构程序设计

-5.1 关系运算符和关系表达式

--关系运算符和关系表达式

--关系运算符和关系表达式

-5.2 逻辑运算符和逻辑表达式

--逻辑运算符和逻辑表达式

--逻辑运算符和逻辑表达式

-5.3 条件运算符和条件表达式

--条件运算符和条件表达式

--条件运算符和条件表达式

-5.4 if语句

--if语句

--if语句

-5.5 switch语句

--switch语句

--switch语句

第6章 循环结构程序设计

-6.1 while语句

--while语句

--while语句

--do-while语句

-6.2 for语句

--for语句

--for语句

-6.3 循环的嵌套

--循环的嵌套

--循环的嵌套

-6.4 break语句和continue语句

--break语句和continue语句

--break和continue语句

第7章 数组

-7.1 一维数组的定义和引用

--一维数组的定义和引用

--一维数组的定义和引用

-7.2 一维数组的赋值

--一维数组的赋值

--一维数组的赋值

-7.3 二维数组的定义和引用

--二维数组的定义和引用

--二维数组的定义和引用

-7.4 二维数组的赋值

--二维数组的赋值

--二维数组的赋值

-7.5 字符串的本质

--字符串的本质

--字符串的本质

-7.6 字符串操作的常用函数

--字符串操作的常用函数

--字符串常用函数

-7.7 字符串数组

--字符串数组

--字符串数组

第8章 函数

-8.1 函数概述

--函数概述

--函数概述

-8.2 有参函数

--有参函数

--有参函数

-8.3 函数参数的传递方式

--函数参数的传递形式

--函数参数的传递方式

-8.4 变量的作用域和生存期

--变量的作用域和生存期

--变量的作用域和生存期

-8.5 变量的存储类型

--变量的存储类型

--变量的存储类型

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

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

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

-8.7 函数的作用域与封装

--函数的作用域与封装

--函数的作用域与封装

第9章 指针

-9.1 指针变量的概念(上)

--指针变量的概念(上)

--指针变量的概念(上)

-9.2 指针变量的概念(下)

--指针变量的概念(下)

--指针变量的概念(下)

-9.3 指向一维数组的指针变量

--指向一维数组的指针变量

--指向一维数组的指针变量

-9.4 指向二维数组的指针变量(上)

--指向二维数组的指针变量

--指向二维数组的指针变量(上)

-9.5 指向二维数组的指针变量(下)

--指向二维数组的指针变量(下)

--指向二维数组的指针变量(下)

-9.6 动态内存分配

--动态内存分配

--动态内存分配

第10章 预处理命令

-10.1 编译预处理

--编译预处理

第11章 复杂数据类型

-11.1 用户自己建立数据类型

--用户自己建立数据类型

--用户自己建立数据类型

-11.2 定义结构体类型变量

--定义结构体类型变量

--定义结构体类型变量

-11.3 结构体变量的引用与初始化

--结构体变量的引用与初始化

-11.4 结构体数组

--结构体数组

--结构体数组

-11.5 指向结构体类型数据的指针

--指向结构体类型数据的指针

--指向结构体类型数据的指针

第12章 文件

-12.1 文件的基本概念和文件指针

--文件的基本概念和文件指针

--文件的基本概念和文件指针

-12,2 文件的打开和关闭

--文件的打开和关闭

--文件的打开和关闭

-12.3 文本文件读写

--文本文件读写

--文本文件读写

-12.4 二进制文件读写

--二进制文件读写

--二进制文件读写

一维数组的赋值笔记与讨论

也许你还感兴趣的课程:

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