c语言教学第11讲ppt课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

最新版整理ppt
6
第6章 数组
一维数组在内存中的存放方式:
数组定义以后,编译系统(计算机)将在内 存中开辟一块连续的存储单元用于存放数组元素 (数组元素按数组下标从小到大连续存放)。数 组名表示存储单元的首地址,存储单元的大小由 数组的类型和数组的大小决定。
例如 int a[5];
int a[ 0 ] a[ 1 ] a[ 2 ] a[ 3 ] a[ 4 ]
2字节 2字节 2字节 2字节 2字节
最新版整理ppt
7
第6章 数组
a代表首地址(数组起始地址),每个元素字节数相同,因此,
根据数组元素序号可以求得数组各元素在内存的地址,并可对
数组元素进行随机存取。
数组元素地址= 数组名+下标
即:数组元素地址=数组首地址+元素下标*sizeof(数组类型)
设a的首地址为1000,数组a存 a
2
第6章 数组
一、一维数组
1、一维数组的定义
定义的格式:
类型说明符 数组名[整常量表达式] ;
例如: int a[10];
它表示数组名为a,此数组有10个整型元素。
说明:
(1)类型说明符:表明该数组所属类型,即 数组元素的类型。
(2)数组名:即数组的名称,其命名方法同变量
名遵循标识符定名规则。
最新版整理ppt
最新版整理ppt
5
第6章 数组
例:试判断下列数组定义是否合法:
int student[35]; char name[20]; float score[35]; #define student 35 float n_student[student]; int score_student[student*3]; int person(10); int n=10, a[n];
特点:
数组元素的个数必须是确定的 数组元素的类型必须一致
最新版整理ppt
4
第6章 数组
下面是合法的数组定义: ① char str[20]; /* 定义一个有20个元素的字符型数组str */ ② float score[8];/* 定义一个有8个元素的浮点型数组score */ ③ #define N 5
a[0] 1000
储示意图如右图所示
a+1 a[1]
a[3]的地址=a+3
a+2 a[2] a+3 a[3] 1006
即:a[3]的地址=1000+3×2=1006 a+4 a[4]
内存
最新版整理ppt
8
第6章 数组
2、一维数组元素的引用
引用方式: 数组名[下标] 说明:
下界 ≤ 下标 ≤ 上界; 下界=0;上界=整常量表达式-1。
下标为整型表达式;
若有定义: int a[5]; 则数组a的元素分别为:
a[0]、a[1]、a[2]、a[3]、 a[4];但a[5]不是。
最新版整理ppt
9
第6章 数组
一个数组元素实质是一个变量,代表内存中的一个 存储单元。引用后的数组变量也称下标变量。
如: a[0]=5;a[3]=a[1]+4;a[’D’-’B’]=3;scanf(“%d”,&a[4]);
{int i,a[10];
2.不能整体输入/出数组
printf("input 10 numbers:\n");
如:printf(“%d”,a);
for(i=0;i<10;i++)
学会如何对数组进行输入输出
scanf("%d",&a[i]); printf("\n");
Hale Waihona Puke 程序的运行情况:for(i=0;i<=9;i++) printf("%d ",a[i]);
第6章 数组
第11讲 数组的定义和使用
教学目的与要求:
掌握一维数组的定义和引用 掌握二维数组的定义和引用 教学内容提要: 1. 一维数组的定义和引用
2. 二维数组的定义和引用 教学重点:一维数组的定义和引用 教学难点:二维数组的定义和引用 教学进度:P139~P151 教学过程:
最新版整理ppt
1
第6章 数组
long data[N]; /* 定义一个有5个元素的长整型数组data */ short z[4*N]; /* 定义了一个有20个元素的短整型数组z */ 其中③的数组长度使用的是符号常量
下面的定义是非法的: int n=10; char c[n]; /*数组长度不能使用变量 */ char str[ ]; /*数组长度不确定 */
一维数组元素引用的规定:
•数组必须先定义后使用。
•数组元素只能逐个被引用,不能一次引用整 个数组。
•对数组中所有元素逐个引用时,通常可使用 循环结构。
最新版整理ppt
10
第6章 数组
例1:输入10个整数,分别按顺序和逆序输出。
#include <stdio.h> void main()
注意:
1. 循环控制变量的初值、终值 及控制条件。
3
第6章 数组
(3)[ ]:下标运算符,可通过该运算符的个数反映出数组 的维数。不能用圆括弧,下面用法不对:int a(10);
(4) 常量表达式:表示元素的个数,即数组长度。常量表达式 中可以包括常量和符号常量,不能包含变量。也就是说,c不 允许对数组的大小作动态定义,即数组的大小不依赖于程序运 行过程中变量的值。例如,下面这样定义数组是不行的:
数组初始化:指定义数组时对数组元素赋以初值。
格式: 类型符 数组名[表达式]={初值表}; 说明:
•给全部元素赋初值。 int a[5]={0,1,2,3,4}; •给部分元素赋初值。 int b[5]={1,2,3}; •给全部元素赋初值时可不指定数组的长度。
int a[ ]={1,2,3};
但若被定义的数组长度与提供初值的个数不相同,则数 组长度不能省略。例如,想定义数组长度为10,就不能省略 数组长度的定义,而必须写成
printf("\n");
input 10 numbers: 1 2 3 4 5 6 7 8 9 10↙
for(i=9;i>=0;i--)
1 2 3 4 5 6 7 8 9 10
printf("%d ",a[i]); }
10 9 8 7 6 5 4 3 2 1
最新版整理ppt
11
第6章 数组
3、一维数组的初始化
数学中:a1,a2,a3,···,ai,···,an
C程序中:a[0],a[1],a[2],···,a[i-1],···a[n-1]
数组是数目固定,类型相同的若干变量的有 序集合。
数组中的每一个数称为数组元素,数组中的 每一个元素都属于同一个数据类型。
在内存中数组占有一段连续的存储空间。
最新版整理ppt
相关文档
最新文档