c语言第4章
时间:2025-04-04
时间:2025-04-04
c语言
1
第4章
数 组刘培华烟台大学 计算机学院
c语言
作业与实验实验 p1401.
2
实验7: 实验7:
作业1.
习题:p136 习题:p136 一、 二、 三、 四、 2、网上提交: p139 网上提交: 五 ( 1、 3、 5、 7)2010-12-22
c语言
第4章 数组
3
本章重点介绍 :4.1 一维数组 4.2 二维数组 4.3 字符数组与字符串2010-12-22
c语言
第4章 数组
4
如何解决下面的问题? 如何解决下面的问题?
成绩高于平均分的人数? 成绩高于平均分的人数?应该注意的问题: 应该注意的问题:1. 2. 3.
定义多少个变量? 定义多少个变量? 计算一门课的平均成绩并统计 采用哪种程序结构? 采用哪种程序结构?
如何接收并保存多个成绩? 如何接收并保存多个成绩? 如何计算平均分? 如何计算平均分? 如何统计人数? 如何统计人数?2010-12-22
c语言
5
程序超过300行 程序超过300行, 300 main() 重复严重, 重复严重,但 { 无法用循环结 float score1,score2,......score140,average,number; 构。printf(“Please input the score of student:”); scanf(“%f”,&score1); printf(“Please input the score of student:”); scanf(“%f”,&score2); ...... printf(“Please input the score of student:”); scanf(“%f”,&score140); ...... }2010-12-22
c语言
数组是由相同的数据类型按照一定顺序排列的 一组变量的集合。 一组变量的集合。 是一种构造数据类型。 是一种构造数据类型。 其中的数据可以是基本类型 int,flaot,char, (int,flaot,char,…)、指针类型和结构类 型等。 型等。 其中的数组元素通过下标来引用。 其中的数组元素通过下标来引用。 适用于处理大量同类型数据。 适用于处理大量同类型数据。 占用内存中连续的存储单元。 占用内存中连续的存储单元。
6
2010-12-22
c语言
4.1 一维数组4.1.1 一维数组的定义 数组名[常量表达式 常量表达式]; 数据类型 数组名 常量表达式例如: 例如: int a[10]; float score[5]; score[5]; “数据类型”: 是数组元素的数据类型。 数据类型” 是数组元素的数据类型。 “数组名”: 数组名”: 遵循C语言标识符规则 标识符规则。 遵循C语言标识符规则。 常量表达式” 表示数组中有多少个元素, “常量表达式”:表示数组中有多少个元素,即数 组的长度。它可以是整型常量、 组的长度。它可以是整型常量、整型常量表达式 或符号常量。 或符号常量。
7
2010-12-22
c语言
4.1.1 一维数组的定义(续) 一维数组的定义(以下数组定义是正确的: 以下数组定义是正确的: #define N 10 …… float score1[N], score2[N]; int num[10+N]; char c[26]; 以下数组定义是不正确的: 以下数组定义是不正确的: int array(10); int n; float score[n]; double b['a'.. 'd']; char str[ ];
8
2010-12-22
c语言
数组在内存的存放数组下
标从0开始。 数组下标从0开始。 一维数组的数组元素 低地址 在内存里按顺序存放。 按顺序存放 在内存里按顺序存放。 数组名代表数组的首 地址, score的值 地址,即score的值 与score[0] 的地址 值相同。 值相同。 高地址score数组
9
91.5 34.5 67.5 72.084.0
score[0] score[1] score[2] score[3] score[4]
2010-12-22
c语言
4.1.2 数组元素的引用格式: 格式:
10
数组名[下标表达式] 数组名[下标表达式]例如: 例如:输入学生成绩 for(i=0;i<5 for(i=0;i<5;i++) scanf( %f" &score[i]); scanf("%f",&score[i]); 例如:fib[n]=fib[n-1]+fib[n-2]; 例如:fib[n]=fib[n-1]+fib[n下标表达式的值必须是整型表达式。 下标表达式的值必须是整型表达式。 的值必须是整型表达式
2010-12-22
c语言
4.1.2 数组元素的引用(续) 数组元素的引用(说明: 说明:下标从0开始 下界为0), 开始( ),数组的最大下标 ① 下标从 开始(下界为 ),数组的最大下标 上界)是数组长度减1。 (上界)是数组长度减 。 例如: 例如: int a[10]; scanf ("%d",&a[10]); /* 下标越界 */ C编译系统不做越界检查,如果引用的数组元素 编译系统不做越界检查, 编译系统不做越界检查 超出数组范围会破坏其他变量的值。 超出数组范围会破坏其他变量的值。
11
2010-12-22
c语言
4.1.2 数组元素的引用(续) 数组元素的引用(② [ ]是下标运算符, 是下标运算符, 引用数组元素时, 引用数组元素时 数组元素 根据数组的首地址 根据数组的首地址 下标数 和下标数,计算出 该元素的实际地址, 该元素的实际地址, 取出该地址的内容 取出该地址的内容 进行操作。 进行操作。 如引用 score[2]: (1)计算 2000+2*4=2008 计算 (2)取出 取出2008的内容 取出 的内容 2000H 2004H 2008H 200CH 218CH 91.5 34.5 67.5 72.084.0score[0] score[1] score[2] score[3] score[4]
12
2010-12-22
c语言
13
#define N 140 main() { float score[N],average; int n,i; Please input score:73.5 average=0; for(i=0;i<N;i++) Please input score:97 { printf("Please input score:"); average=85.25 scanf("%f",&score[i]); average=average+score[i]; n=1 } average=average/N; n=0; for(i=0;i<N;i++) if (score[i]>average) n++; printf("average=%5.2f\nn=%d\n",average,n); }2010-12-22
c语言
4.1.3 一维数组的初始化初始化:在定义数组时给数组元素赋初 …… 此处隐藏:3580字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:半命题作文的审题立意