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

《C语言程序设计》课程电子教案(PPT课件讲稿)第七章 数组

文档信息
资源类别:文库
文档格式:PPT
文档页数:73
文件大小:756KB
团购合买:点击进入团购
内容简介
7.1 投票情况统计 7.2 找出矩阵中最大值所在的位置 7.3 判断回文 本章总结: ◼ 一维数组:  定义、初始化、引用  使用一维数组:选择排序 ◼ 二维数组  定义、初始化、引用  使用二维数组:矩阵 ◼ 字符串  字符数组与字符串  字符串的存储  字符串的操作 ◼ 使用数组进行程序设计 •正确理解数组的基本概念及在内 存中的存放方式; •掌握使用一维数组编写程序; •掌握使用二维数组编写程序; •正确理解字符串的概念,掌握使 用字符串编写程序; •能合理运用数组进行程序设计, 熟练掌握几个常用的算法;
刷新页面文档预览

Chap7数组 7.1投票情况统计 7.2找出矩阵中最大值所在的位置 7.3判断回文

Chap 7 数 组 7.1 投票情况统计 7.2 找出矩阵中最大值所在的位置 7.3 判断回文

本章要点 什么是数组?为什么要使用数组?如何定义数组? 如何引用数组元素? 二维数组的元素在内存中按什么方式存放? 什么是字符串?字符串结束符的作用是什么? 如何实现字符串的存储和操作,包括字符串的输 入和输出? 怎样理解C语言将字符串作为一个特殊的一维字符 数组?

本章要点 ◼ 什么是数组? 为什么要使用数组? 如何定义数组? ◼ 如何引用数组元素? ◼ 二维数组的元素在内存中按什么方式存放? ◼ 什么是字符串? 字符串结束符的作用是什么? ◼ 如何实现字符串的存储和操作,包括字符串的输 入和输出? ◼ 怎样理解C语言将字符串作为一个特殊的一维字符 数组?

7.1投票情况统计 例71:调查电视节目欢迎程度。某电视台要进行 次对该台8个栏目(设相应栏目编号为18)的受 欢迎情况,共调査了1000位观众,现要求编写程 序,输入每一位观众的投票,每位观众只能选择 个最喜欢的栏目投票,统计输出各栏目的得票 情况。 7.1.1程序解析 7.12一维数组的定义和引用 7.13一维数组的初始化 7.14使用一维数组编程

例7-1:调查电视节目欢迎程度。某电视台要进行一 次对该台8个栏目(设相应栏目编号为1~8)的受 欢迎情况,共调查了1000位观众,现要求编写程 序,输入每一位观众的投票,每位观众只能选择 一个最喜欢的栏目投票,统计输出各栏目的得票 情况。 7.1.1 程序解析 7.1.2 一维数组的定义和引用 7.1.3 一维数组的初始化 7.1.4 使用一维数组编程 7.1 投票情况统计

if include<stdio. h: int main( void 7.1.1程序解析一排序 int count [9; 设立数 L/m=, int i, response, input your response: 3 for(=1;i<=8;i+t) nput your response: 6 count I= 0 /* Ei input your response: 9 for(i=1; i<= 1000; i ++)t this is a bad response: 9 printf( input your respo input your response: 8 scanf( %d", &response if(response< 1 respo printf( this is a bad re result. else 12 count[response]++;20 34 printf( result: In") for(=1;i<=8;i+t) printf("%4d%din", i, count[] eturn 0:

7.1.1 程序解析-排序 # include int main( void ) { int count[9]; /* 设立数组,栏目编号对应数组下标 */ int i,response; for(i = 1;i 8) /* 检查投票是否有效*/ printf("this is a bad response: %d\n",response); else count[response]++; /* 对应栏目得票加1 */ } printf("result:\n"); /* 输出各栏目得票情况 */ for(i = 1;i <= 8;i++) printf("%4d%4d\n",i,count[i]); return 0; } input your response: 3 input your response: 6 input your response: 9 this is a bad response: 9 input your response: 8 … result: 1 2 2 0 3 4 …

frd=1例7中为何不使用 pr count[o 数组 0 2345678 count 041210 count[o count[1] count[8 数组:相同类型数据的有序集合,在内存中 连续存放。 口由数组名和下标惟一地确定每个数组元素 口每个元素都属于同一类型 批相同类型的变量使用同一个数组变量名, 用下标来相互区分。 口优点:表述简洁,可读性高;便于使用循环结构

0 1 2 3 4 5 6 7 8 2 0 4 1 2 1 0 0 for(i = 1;i <= 8;i++) printf("%4d%4d\n",i,count[i]); count count[0] count[1] count[8] 例7-1中为何不使用 count[0]? 数组 ◼ 数组:相同类型数据的有序集合,在内存中 连续存放。  由数组名和下标惟一地确定每个数组元素  每个元素都属于同一类型 ◼ 一批相同类型的变量使用同一个数组变量名, 用下标来相互区分。 优点:表述简洁,可读性高;便于使用循环结构

7.12一维数组的定义和引用 1、定义 类型名数组名数组长度数组长度为常量 类型名:数组元素的类型 数组名:数组(变量)的名称,标识符 数组长度:常量表达式,给定数组的大小 int a[10] 定义一个含有10个整型元素的数组a char c[200 定义一个含有200个字符元素的数组c float f5]; 定义一个含有5个浮点型元素的数组f

7.1.2 一维数组的定义和引用 1、定义 类型名 数组名[数组长度] 类型名:数组元素的类型 数组名:数组(变量)的名称,标识符 数组长度:常量表达式,给定数组的大小 int a[10]; 定义一个含有10个整型元素的数组 a char c[200]; 定义一个含有200个字符元素的数组 c float f[5]; 定义一个含有5个浮点型元素的数组 f 数组长度为常量

2、数组的内存结构 内存地址下标值 nta[10]; 4028 4026 假设系统规定int类型占用2个 4024 字节,则对于数组a,其内存 4022 分配形式 4020 5 4018 只要知道了数组第一个元素的 4016 地址以及每个元素所需的字节40142 数,其余各个元素的存储地址4012 均可计算得到。 a4010 0 数组名是一个地址常量,存放 数组内存空间的首地址。不允许被修改

2、数组的内存结构 内存地址 下标 值 4028 9 4026 8 4024 7 4022 6 4020 5 4018 4 4016 3 4014 2 4012 1 a 4010 0 int a[10]; 假设系统规定int类型占用2个 字节,则对于数组a,其内存 分配形式 只要知道了数组第一个元素的 地址以及每个元素所需的字节 数,其余各个元素的存储地址 均可计算得到。 数组名是一个地址常量,存放 数组内存空间的首地址。不允许被修改

3、引用 ■先定义,后使用 ■只能引用单个的数组元素,不能一次引用整个数组 数组名[下标] 下标:整型表达式 下标不要越界 取值范围:[0,数组长度1] 不能使用a[10] int a[10]; 10个元素:ao]、a1 ■数组元素的使用方法与同类型的变量相同 scanf( %d",&a[] count[++, temp= aindex]; aindexakk]; ak=temp printf("%d",a0

3、引用 ◼ 先定义,后使用 ◼ 只能引用单个的数组元素,不能一次引用整个数组 数组名[下标] 下标:整型表达式 取值范围:[0,数组长度-1] int a[10]; 10个元素:a[0]、a[1]、…… a[9] ◼ 数组元素的使用方法与同类型的变量相同 scanf("%d", &a[i]); count[i]++; temp = a[index]; a[index]= a[k]; a[k] = temp; printf("%d ", a[i]); 下标不要越界 不能使用a[10]

区分数组的定义和数组元素的引用 定义数组 类型名数组名数组长度] 引用数组元素 数组长度为常量 数组名[下标] 下标不要越界 int a[10] a[0]=as9]=0 akk= temp

定义数组 类型名 数组名[数组长度] 引用数组元素 数组名[下标] int a[10]; a[0] = a[9] = 0; a[k] = temp; 区分数组的定义和数组元素的引用 下标不要越界 数组长度为常量

713一维数组的初始化 ■定义数组时,对数组元素赋初值 类型名数组名[数组长度]={初值表}; inta[10]={1,234,5,6,7,8,9,10} a0]=1,a[1=2y…a9=10 ■静态数组、动态数组的初始化 static int b5]={1,2,3,4,5}; 静态存储的数组如果没有初始化,所有元素自动赋0 static int b5] 动态存储的数组如果没有初始化,所有元素为随机值 auto int c[5];等价与intc[5]

7.1.3 一维数组的初始化 ◼ 定义数组时,对数组元素赋初值 类型名 数组名[数组长度] = {初值表}; int a[10] = {1,2,3,4,5,6,7,8,9,10}; a[0]=1, a[1]=2,...… a[9]=10 ◼ 静态数组、动态数组的初始化 static int b[5] = {1, 2, 3, 4, 5}; 静态存储的数组如果没有初始化,所有元素自动赋0 static int b[5]; 动态存储的数组如果没有初始化,所有元素为随机值 auto int c[5]; 等价与 int c[5];

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