版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6.1 为什么要用数组 6.2 定义和引用一维数组 6.3 二维数组的定义和引用 6.4 字符数组 6.5 提高部分,第6章 利用数组处理批量数据,P139,6.1 为什么要用数组,P139,前几章使用的变量都属于基本类型,例如整型、字符型、浮点型数据,这些都是简单的数据类型。 对于有些数据,只用简单的数据类型是不够的,难以反映出数据的特点,也难以有效地进行处理。,6.1 为什么要用数组,P139,30名学生成绩,需要用30个变量 100名学生成绩,需要用多少个变量? 用s1,s2,s3,s30表示成绩,能体现内在联系 C语言用方括号中的数字表示下标,如用s15表示,数组名,6.1 为什么要用
2、数组,P139,数组是一组有序数据的集合。数组中各数据的排列是有一定规律的,下标代表数据在数组中的序号 用一个数组名和下标唯一确定数组中的元素 数组中的每一个元素都属于同一个数据类型,6.2 定义和引用一维数组,6.2.1 定义一维数组 6.2.2 引用一维数组的元素 6.2.3 一维数组的初始化 6.2.4 一维数组程序举例,P139,6.2.1 定义一维数组,一维数组是最简单的数组 数组元素只有1个下标一维数组 数组元素2个下标二维数组,P140,6.2.1 定义一维数组,定义数组的方法与定义变量的方法类似 所不同的是一次定义一批有关联的变量 在定义数组时需要指定这批变量的类型、数组名称,
3、数组中包含变量的个数。,P140,6.2.1 定义一维数组,如 int a10;,数组名,P140,6.2.1 定义一维数组,如 int a10;,数组长度,P140,6.2.1 定义一维数组,定义一维数组的方式为: 类型符 数组名常量表达式; 数组名的命名规则和变量名相同 常量表达式给出元素的个数 下标从0开始,如 int a10; a0,a1,a2,a9,P140,6.2.1 定义一维数组,定义一维数组的方式为: 类型符 数组名常量表达式; 数组名的命名规则和变量名相同 常量表达式给出元素的个数 下标从0开始,如 int a10; a0,a1,a2,a9,P140,6.2.2 引用一维数组
4、的元素,必须先定义数组,才能引用数组中的元素 只能逐个引用数组元素而不能一次引用整个数组中的全部元素,P140,6.2.2 引用一维数组的元素,P140,引用数组元素的表示形式为: 数组名下标 a0=a5+a2+1-a2*3 合法 int n=5,a10; an=20;,合法,6.2.2 引用一维数组的元素,P140,例6.1 引用数组元素。利用循环给数组元素a0a9赋值为09,然后按逆序输出各元素的值。 解题思路: 先用循环给数组元素a0 a9赋值09,这样,每个数组元素都有固定的值了,然后按a9到a0的顺序输出各元素的值。,6.2.2 引用一维数组的元素,P140,#include voi
5、d main() int i,a10; for(i=0;i=0; i-) printf(%d ,ai); printf(n); ,使a0a9的值为09,a0a1a2a3a4a5a6a7a8a9,6.2.2 引用一维数组的元素,P140,#include void main() int i,a10; for(i=0;i=0; i-) printf(%d ,ai); printf(n); ,先输出a9,最后输出a0,6.2.3 一维数组的初始化,对数组元素的赋值既可以通过赋值语句来实现,也可以在定义数组时同时给予初值,这就称为数组的初始化,P141,(1) 定义数组时对全部数组元素赋初值 int
6、a10=0,1,2,3,4,5,6,7,8,9; (2) 可以只给一部分元素赋值 int a10=0,1,2,3,4; 相当于 int a10=0,1,2,3,4,0,0,0,0,0; (3) int a5=1,2,3,4,5; 可写为 int a =1,2,3,4,5;,6.3 二维数组的定义和引用,P145,6.3.1 定义二维数组 6.3.2 引用二维数组的元素 6.3.3 二维数组的初始化 6.3.4 二维数组程序举例,6.3.1 定义二维数组,float a34,b510;定义 a为34(3行4列)的数组 b为510(5行10列)的数组 二维数组定义的一般形式为 类型符 数组名常量表
7、达式常量表达式;,P145,6.3.1 定义二维数组,P145,逻辑存储,内存中的存储顺序,6.3.2 引用二维数组的元素,P146,二维数组元素的表示形式为: 数组名下标下标 b12=a23/2 合法 int a34; a34=3; 不合法,6.3.3 二维数组的初始化,P147,int a34=1,2,3,4,5,6,7,8, 9,10,11,12; int a34=1,2,3,4,5,6,7,8,9,10,11,12; int a34=1,5,9;等价于 int a34=1,0,0,0,5,0,0,0, 9,0,0,0; int a34=1,5,6;相当于 int a34=1,5,6,0
8、;,6.3.3 二维数组的初始化,P147,int a34=1,2,3,4,5,6,7,8,9,10,11,12; 等价于: int a 4=1,2,3,4,5,6,7,8,9,10,11,12; int a4=0,0,3, ,0,10;合法,6.4 字符数组,6.4.1 定义字符数组及对其初始化 6.4.2 引用字符数组 6.4.3 字符串和字符串结束标志 6.4.4 字符数组的输入输出 6.4.5 字符串处理函数 6.4.6 字符数组应用举例,P151,6.4.1 定义字符数组及对其初始化,P151,用来存放字符数据的数组是字符数组 字符数组中的一个元素存放一个字符 定义字符数组的方法与定
9、义数值型数组的方法类似,6.4.1 定义字符数组及对其初始化,P151,char c10; c0=I; c1= ; c2=a; c3=m; c4= ; c5=h; c6=a; c7=p; c8=p; c9=y;,c0c1c2c3c4c5c6c7c8c9,6.4.1 定义字符数组及对其初始化,P151,char c10=I, ,a,m, ,h,a,p,p,y; char c10=c, ,p,r,o,g,r,a,m;,c0c1c2c3c4c5c6c7c8c9,c0c1c2c3c4c5c6c7c8c9,6.4.1 定义字符数组及对其初始化,P151,char diamond55= , ,*, ,*,
10、 ,*, *, , , ,*, ,*, ,*, , ,* ;,6.4.3 字符串和字符串结束标志,P153,在C语言中,是将字符串作为字符数组来处理的 关心的是字符串的有效长度而不是字符数组的长度 为了测定字符串的实际长度,C语言规定了字符串结束标志0,6.4.3 字符串和字符串结束标志,P153,0代表ASCII码为0的字符 从ASCII码表可以查到,ASCII码为0的字符不是一个可以显示的字符,而是一个“空操作符”,即它什么也不做 用它作为字符串结束标志不会产生附加的操作或增加有效字符,只起一个供辨别的标志,6.4.3 字符串和字符串结束标志,P153,char c=”I am happy
11、”; 可写成 char c=”I am happy”; 相当于 char c11=”I am happy”;,6.4.3 字符串和字符串结束标志,P153,char c10=”China”; 可写成 char c10=”China”; 从c5开始,元素值均为0,6.4.4 字符数组的输入输出,字符数组的输入输出可以有两种方法: 逐个字符输入输出(%c) 整个字符串一次输入输出(%s),P155,char c =”China”; printf(”%s”,c);,6.4.4 字符数组的输入输出,在使用字符串输入输出时要注意有关规定,否则容易出错。 输出字符不包括结束符0 printf(”%s”,c);,P155,字符数组名,char c10=”China”; printf(”%s”,c);,China,P155,char c10=”boy0girl0”; printf(”%s”,c);,boy,6.4.4 字符数组的输入输出,在使用字符串输入输出时要注意有关规定,否则容易出错。 输出字符不包括结束符0 printf(”%s”,c);,P155,char c6; scanf(”%s”,c);,China 合法,abcdef不合法,6.4.4 字符数组的输入输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业元宇宙卫星通信技术融合应用
- 电工及其电子基础 6
- 提升中长期护理服务质量
- 泌尿科患者的日常生活护理
- 眩晕护理中的多学科合作
- 义务消防队活动记录
- 椎管内麻醉术后并发症的处理流程
- 2026年医疗急救服务合同
- 2026年与干洗合同(1篇)
- 2026年民间私借合同(1篇)
- 2025年泰州中考数学试卷及答案
- 梳理针刺非织造布制作工异常处理考核试卷及答案
- 2024年中考物理实验操作评分标准
- 道德讲堂六个一课件
- 消毒隔离制度试题文档(附答案)
- 2025-2026学年外研版(三起)(2024)小学英语三年级上册教学计划及进度表
- 处方审核培训课件
- 9.1 青藏高原 课件 人教版初中地理八年级下册
- 绿化部门油品管理制度
- 2025至2030年中国卡纸包装盒行业投资前景及策略咨询研究报告
- 【公开课】巴西+课件-2024-2025学年七年级地理下学期人教版
评论
0/150
提交评论