C语言程序设计 第7章数组
1 第7章 数 组
第7章数组 2 本章重点介绍: 7.1一维数组 7.2二维数组 7.3字符数组与字符 串 2021-2-24
2021-2-24 2
提出间题 3 个人N门课的成绩怎样存储和处理? 个班N门课的成绩怎样存储和处理? 这些数据的特点:具有相同的数据类型。 为了方便地使用这些数据,C语言提供了 种构造数据类型:数组 例如:存储学生成绩用实型数组 score[5] 其中: score是数组名。该数组可以存放5个成绩, 分别用下标变量表示: score [o, score[1l,.score[4] 下标变量也称为数组元素。 2021-2-24
2021-2-24 3 l 一个人N门课的成绩怎样存储和处理? l 一个班N门课的成绩怎样存储和处理?
71—维数组 4 7.11一维数组的定义 数据类型数组名[常量表达式]; 例如:inta0; float scores “数据类型”:是数组元素的数据类型 “数组名” 遵循C语言标识符规则。 “常量表达式”:表示数组中有多少个元素,即数 组的长度。它可以是整型常量、整型常量表达式 或符号常量。 2021-2-24
2021-2-24 4 数据类型 数组名[常量表达式];
711一维数组的定义(续 以下数组定义是正确的: #define n 1o float scorelN, score2 Ni int num 10+NE char c 26; 以下数组定义是不正确的: int array(1o) int n; float score/n; double b'a"∴.'d"; char strl l; 2021-2-24
2021-2-24 5
数组在内存的存放 数组下标从0开始 score数组 维数组的数组元素低地址 91.5 score 在内存里按顺序存放 ●数组名代表数组的首 34.5 score 地址,即 score的值 67.5 score 与 score[0]的地址 72.0 score 31 值相同。 高地址 84.0 score[] 2021-2-24
2021-2-24 6 score[0] score[1] score[2] score[3] score[4] 91.5 34.5 67.5 72.0 84.0 低地址 高地址 score数组
712数组元素的引用 格式: 数组名下标表达式 例如:输入学生成绩 for(|=0;<5i++) scanf(%f,&scoreD 例如:fbn]=fibn-1fb|n2l 下标表达式的值必须是整型表达式。 2021-2-24
2021-2-24 7
712数组元素的引用(续) 8 说明: ①下标从0开始(下界为0),数组的最大下标 (上界)是数组长度减1。 例如: int a 10; scanf(".%"kao);×/下标越界 C编译系统不做越界检査,如果引用的数组元素 超出数组范围会破坏其他变量的值。 2021-2-24
2021-2-24 8 ① 下标从0开始(下界为0),数组的最大下标 (上界)是数组长度减1。 例如: int a[10]; scanf ("%d" ,&a[10]); /* 下标越界 */ C编译系统不做越界检查,如果引用的数组元素 超出数组范围会破坏其他变量的值
712数组元素的引用(续) 如引用 score2 ②是下标运算符,(1)计算20002*4=2008 引用数组元素时, (2)取出2008的内容 根据数组的首地址 和下标数,计算出 2000 H 91.5 score[0 该元素的实际地址,2004345soe 取出该地址的内容 2008 67.5 Score 进行操作。 200c H 72.0 score[ 3I 218c 84.0 score 2021-2-24
2021-2-24 9 [ ]是 引用数组元素时, 根据数组的 和 数,计算出 该元素的实际地址, 取出该地址的 进行操作。 如引用 score[2]: (1)计算 2000+2*4=2008 (2)取出2008的内容 2000H 2004H 2008H 200CH 218CH score[0] score[1] score[2] score[3] score[4] 91.5 34.5 67.5 72.0 84.0
713一维数组的初始化 10 初始化:在定义数组时给数组元素赋初值 1.在定义数组时,对全部数组元素赋初值 例如:inta5={0,1,2,3,4}; 此时可以省略数组长度,例如:inta={0,1,2,3,4}; 2.在定义数组时,对部分数组元素赋初值 例如:inta5}={1,2,3};系统为其余元素赋0。 3.当初值的个数多于数组元素的个数时,编译出错 例如:inta5=01,2,3,4,5; 2021-2-24
2021-2-24 10 初始化:在定义数组时给数组元素赋初值。 1.在定义数组时,对全部数组元素赋初值 例如:int a[5]={0,1,2,3,4}; 此时可以省略数组长度,例如:int a[ ]={0,1,2,3,4}; 2.在定义数组时,对部分数组元素赋初值 例如:int a[5]={1,2,3};系统为其余元素赋 0 。 3.当初值的个数多于数组元素的个数时,编译出错 例如: int a[5]={0,1,2,3,4,5};