中国高校课件下载中心 》 教学资源 》 大学文库

清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第四讲 数组的概念及应用

文档信息
资源类别:文库
文档格式:PPS
文档页数:36
文件大小:1.89MB
团购合买:点击进入团购
内容简介
• 数组的概念 • 一维数组 • 二维及多维数组 • 字符数组 • 综合举例
刷新页面文档预览

C语言程序设计 清华大学 郑莉安颖莲 第四讲数组的概念及应用 参考书:《C程序设计》第六章 Page 1

C语言程序设计 清华大学 郑莉 安颖莲 Page 1 第四讲 数组的概念及应用 参考书:《C程序设计》第六章

C语言程序设计 清华大学郑莉安颖莲 本讲主要内容 ·数组的概念 ·一维数组 ·二维及多维数组 字符数组 综合举例 Page 2

C语言程序设计 清华大学 郑莉 安颖莲 Page 2 本讲主要内容 • 数组的概念 • 一维数组 • 二维及多维数组 • 字符数组 • 综合举例

C语言程序设计 清华大学郑莉安颖莲 数组的概念 概念引入 用基本数据类型可以解决所有问题吗? 例如:对某班学生的成绩按由高到底的次序进行排序。 3名? 30名? Page 3

C语言程序设计 清华大学 郑莉 安颖莲 Page 3 数组的概念——概念引入 用基本数据类型可以解决所有问题吗? 例如:对某班学生的成绩按由高到底的次序进行排序。 3 名? 30 名?

C语言程序设计 清华大学郑莉安颖莲 数组的概念 数组是具有一定顺序关系的若干相同 类型变量的集合体,组成数组的变量称为 该数组的元素。 数组属于构造类型。 Page 4

C语言程序设计 清华大学 郑莉 安颖莲 Page 4 数组的概念 数组是具有一定顺序关系的若干相同 类型变量的集合体,组成数组的变量称为 该数组的元素。 数组属于构造类型

C语言程序设计 清华大学郑莉安颖莲 维数组 定义与引用 一 维数组的定义 类型说明符 数组名[常量表达式1: 数组名的构成方法与一般变量名相同。 可以是常量和符号常量,不能用变量。 例如:inta[l0] 表示a为整型数组,有10个元素:a[0].a[9] 引用 -必须先定义,后使用。 只能逐个引用数组元素,而不能一次引用整个数组。 例如:a[0]=a[5]+a[7]-a[2*3] Page 5

C语言程序设计 清华大学 郑莉 安颖莲 Page 5 一维数组 ——定义与引用 • 一维数组的定义 类型说明符 数组名[ 常量表达式 ]; 例如: int a[10] 表示 a 为整型数组,有10个元素:a[0].a[9] 可以是常量 和 符号常量,不能用变量。 • 引用 - 必须先定义,后使用。 - 只能逐个引用数组元素,而不能一次引用整个数组。 例如:a[0]=a[5]+a[7]-a[2*3] 数组名的构成方法与一般变量名相同

C语言程序设计 清华大学郑莉安颖莲 维数组 存储顺序 数组元素在内存中顺次存放,它们的 地址是连续的。 例如:具有10个元素的数组a,在内存中的存放 次序如下: a a[0] a[1] a[2]a[3]a[4] a[5] a[]al7] a8]a9] 数组名字是数组首元素的内存地址。 数组名是一个常量,不能被赋值。 Page 6

C语言程序设计 清华大学 郑莉 安颖莲 Page 6 一维数组 ——存储顺序 数组元素在内存中顺次存放,它们的 地址是连续的。 例如:具有10个元素的数组 a,在内存中的存放 次序如下: 数组名字是数组首元素的内存地址。 数组名是一个常量,不能被赋值。 a a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]

C语言程序设计 清华大学郑莉安颖莲 一维数组 初始化 可以在编译阶段使数组得到初值: -在定义数组时对数组元素赋以初值。 例如:static int a[10]={0,1,2,3,4,5,6,7,8,9}; 可以只给一部分元素赋初值。 例如:static int a[10]={0,1,2,3,4: static int b[10]={,1,3,5}; -不能给数组整体赋初值。 在对全部数组元素赋初值时,可以不指定数组长度。 例如:static int a[]={1,2,3,4,5}; 程序举例 Page 7

C语言程序设计 清华大学 郑莉 安颖莲 Page 7 一维数组 ——初始化 可以在编译阶段使数组得到初值: - 在定义数组时对数组元素赋以初值。 例如:static int a[10]={0,1,2,3,4,5,6,7,8,9}; - 可以只给一部分元素赋初值。 例如:static int a[10]={0,1,2,3,4}; static int b[10]={,1,3,5}; - 不能给数组整体赋初值。 - 在对全部数组元素赋初值时,可以不指定数组长度。 例如:static int a[]={1,2,3,4,5}; 程序举例

C语言程序设计 清华大学郑莉安颖莲 二维数组 定义及引用 。 二维数组的定义 类型说明符数组名[常量表达式][常量表达式] 例如:f1oata[3][4]; a0] aoo a01 a02 a03 可以理解为: a1] ·存储顺序 a1o a11 a12 a13 a[2] a20a21a22a23 按行存放,上例中数组a的存储顺序为: a00a01a02ao3a10a11a12a13a20a21a22a23 引用 例如:b[1][2]=a[2][3]/2; 下标不要越界 Page 9

C语言程序设计 清华大学 郑莉 安颖莲 Page 9 • 存储顺序 按行存放,上例中数组a的存储顺序为: 二维数组——定义及引用 • 二维数组的定义 类型说明符 数组名[常量表达式][常量表达式] 例如:float a[3][4]; a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 a[0]——a00 a01 a02 a03 a[1]——a10 a11 a12 a13 a[2]——a20 a21 a22 a23 可以理解为: a • 引用 例如:b[1][2]=a[2][3]/2; 下标不要越界

C语言程序设计 清华大学郑莉安颖莲 二维数组 初始化 ·分行给二维数组赋初值 例如:staticint a34]={1,2,3,4},{5,6,7,8},{9,10,11,12} ·将所有数据写在一个{}内,按顺序赋值 例如:static int a31[4]={1,2,3,4,5,6,7,8,9,10,11,12 可以对部分元素赋初值 例如:staticint a3]I4]={1},{0,6,0,0,11}; 程序举例 Page 10

C语言程序设计 清华大学 郑莉 安颖莲 Page 10 二维数组——初始化 • 分行给二维数组赋初值 例如:static int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; • 将所有数据写在一个{}内,按顺序赋值 例如:static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; • 可以对部分元素赋初值 例如:static int a[3][4]={{1},{0,6},{0,0,11}}; 程序举例

C语言程序设计 清华大学郑莉安颖莲 字符数组 ·定义和引用 程序举例1 程序举例2 。 字符串 -字符串常量,例如:"china” 一没有字符串变量,用字符数组来存放字符串 字符串以’\0°为结束标志 字符数组的初始化 例:static char str8]={112,114,111,103,114,97,109,0}; static char str[8]={'p','r','o','g','r','a','m',"\0%); static char str[8]="program"; static char str[]="program"; Page 12

C语言程序设计 清华大学 郑莉 安颖莲 Page 12 字符数组 • 定义和引用 例:static char str[8]={112,114,111,103,114,97,109,0}; static char str[8]={'p','r','o','g','r','a','m','\0'}; static char str[8]="program"; static char str[]="program"; • 字符串 - 字符串常量,例如:"china" - 没有字符串变量,用字符数组来存放字符串 - 字符串以'\0'为结束标志 • 字符数组的初始化 程序举例1 程序举例2

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档