第8章数组
第 8 章 数 组
本章知识点8.1一维数组的定义、引用与初始化数组名+一维下标”-表示数据8.2一维数组的应用8.3二维数组“数组名+二维下标”---表示数据8.4数组与函数
本章知识点 8.1 一维数组的定义、引用与初始化 “数组名+一维下标”-表示数据 8.2 一维数组的应用 8.3 二维数组 “数组名+二维下标”-表示数据 8.4 数组与函数
引例8.1:输入某个班级课成绩,要求:统计平均分之《程序设计基础》福上人数并输出。分析:(1)考虑最简单情况---只求平均分并不统计平均分之下的人数。输出在平均分以上的人数。(2)要求:?inti;把每个人的成绩保存下来,通过已②double s=0,sc,av;保存的成绩与平均分av作比较,统计出③for(i=1;i<=80;i++)平均分之上的人数。④scanf("%lf",&sc);I/sc一第i个成绩5S=S+SC;//次累加求和问题:怎么保存每个成绩??7?av=s/80;doublesc1,sc2,sc3...??8printf("%lfn",av)
引例8.1:输入某个班级《程序设计基础》课成绩,要求:统计平均分之 上人数并输出。 分析:(1)考虑最简单情况-只求平均分并 不统计平均分之下的人数。 ① int i; ② double s=0,sc,av; ③ for ( i=1;i<=80;i++) ④ { scanf(“%lf”,&sc); //sc—第i个成绩 ⑤ s=s+sc; //次累加求和 ⑥ } ⑦ av=s/80; ⑧ printf(“%lf\n” ,av); (2)要求:输出在平均分以上的人数。 -把每个人的成绩保存下来,通过已 保存的成绩与平均分av作比较,统计出 平均分之上的人数。 问题:怎么保存每个成绩? double sc1,sc2,sc3. ??
8.1一维数组一P1438. 1. 1一维数组的定义定义格式:中数组名整型常量表达式数据类型荐【:数组运算符合法的数组元素的数扰分号结尾不能用()米型例如://定义了有10个数据元素的int型数组a1int a[10];doublef[20l;1/定义了有20个数据元素的double型数组f2chars1[10]s2[20]//定义了有10个和20个数据元素的3char型数组s1和s2
8.1.1 一维数组的定义 ➢ 定义格式: 数据类型符 数组名[整型常量表达式]; 数组元素的数据 类型 合法的标识符 用分号结尾 例如: ① int a[10]; //定义了有10个数据元素的int型数组a ② double f[20]; //定义了有20个数据元素的double型数组f ③ char s1[10], s2[20]; //定义了有10个和20个数据元素的 char型数组s1和s2 8.1 一维数组—P143 [ ]: 数组运算符 元素个数 不能用( )
>数组定义说明:(1) 另定义数组的常量表达式中可以包括常量和符号常量,不能包含变量(即使是已赋值的变量也不行),也不能是变量表达式。即:数组大小(长度)必须是整型常量表达式。(2)C语言规定:数组下标最小值是0,数组下标最大值是数组大小减1数组元素的下标从0开始例如:int a[10];I/ a数组有10个元素---a[0]、a[1]...a[9](3)C语言不允许对数组的大小作动态定义,即数组的大小不能依赖于程序运行过程中变量的值,错误定义2:错误定义1:正确定义:int n = 10;#defineN 10:int n;②int a[n]; //错@ int a[N];②scanf("%d",&n):③int a[n];//错③int b[10.3];//错②doubleb[N+10l:④intc|n+10l;//错
(1)定义数组的常量表达式中可以包括常量和符号常量,不能包含变量 (即使是已赋值的变量也不行),也不能是变量表达式。即:数组大小 (长度)必须是整型常量表达式。 (2)C语言规定:数组下标最小值是0,数组下标最大值是数组大小减1。 数组元素的下标从0开始。 例如:int a[10]; // a数组有10个元素-a[0]、a[1].a[9] (3)C语言不允许对数组的大小作动态定义,即数组的大小不能依赖于程 序运行过程中变量的值。 ➢ 数组定义说明: 错误定义1: ①int n; ②scanf(“%d”,&n); ③int a[n];//错 错误定义2: ①int n = 10; ②int a[n]; //错 ③int b[10.3];//错 ④int c[n+10];// 错 正确定义: #define N 10; ① int a[N]; ② double b[N+10];