六章数组.ppt

上传人:本田雅阁 文档编号:3185729 上传时间:2019-07-22 格式:PPT 页数:20 大小:386.54KB
返回 下载 相关 举报
六章数组.ppt_第1页
第1页 / 共20页
六章数组.ppt_第2页
第2页 / 共20页
六章数组.ppt_第3页
第3页 / 共20页
六章数组.ppt_第4页
第4页 / 共20页
六章数组.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《六章数组.ppt》由会员分享,可在线阅读,更多相关《六章数组.ppt(20页珍藏版)》请在三一文库上搜索。

1、第六章 数组,数组是多个同一类型数据的有序集和。一维数组和字符数组是本章的一个重点。每类数组要着重掌握其定义、初始化和引用等。,一维数组,二维数组,字符数组,程序示例,一维数组,一维数组的定义和引用 示例 定义方式: 类型标识符 数组名常量表达式; 例如:float score5; int a5; 注意: (1)常量表达式必须是正的整型常量表达式。 (2)相同类型的数组、变量可以在一个类型说明符下一起说明。 如: int i,j,a5; (3)C语言不允许定义动态数组。 数组元素的引用方式 数组名下标表达式 例如:score1,a0,a4,一维数组,一维数组的定义和引用 示例 定义方式: 类型

2、标识符 数组名常量表达式; 例如:float score5; int a5; 注意: (1)常量表达式必须是正的整型常量表达式。 (2)相同类型的数组、变量可以在一个类型说明符下一起说明。 如: int i,j,a5; (3)C语言不允许定义动态数组。 数组元素的引用方式 数组名下标表达式 例如:score1,a0,a4,一维数组的定义和引用示例,例1、输入5个学生某门课程的成绩,要求按与输入次序相反的顺序输出。 main() int i; int score5; printf(“Enter five score: “); 运行结果: for(i=0; i=0; i-) reverse ord

3、er are: printf(“%dn“, scorei); 65 86 92 74 70 ,一维数组,一维数组的定义和引用 示例 定义方式: 类型标识符 数组名常量表达式; 例如:float score5; int a5; 注意: (1)常量表达式必须是正的整型常量表达式。 (2)相同类型的数组、变量可以在一个类型说明符下一起说明。 如: int i,j,a5; (3)C语言不允许定义动态数组。 数组元素的引用方式 数组名下标表达式 例如:score1,a0,a4,说明,一维数组,一维数组的定义和引用 示例 定义方式: 类型标识符 数组名常量表达式; 例如:float score5; int

4、 a5; 注意: (1)常量表达式必须是正的整型常量表达式。 (2)相同类型的数组、变量可以在一个类型说明符下一起说明。 如: int i,j,a5; (3)C语言不允许定义动态数组。 数组元素的引用方式 数组名下标表达式 例如:score1,a0,a4,可以是整型常量或整型表达式,下标表达式的取值范围为0,1,n-1.,说明,一维数组(续),一位数组的初始化 示例 1.在定义数组时对数组元素赋以初值,如: int s5=78, 87, 77, 91, 60; 2.只给一部分元素赋值。如: int s5=78, 87, 77; 3.若对全部数组元素赋初值时,可以不指定数组长度。 如:int s

5、5=1, 2, 3, 4, 5; 可以写成: int s =1, 2, 3, 4, 5;,一维数组元素初始化示例,例2、从键盘输入15个整数,并检查整数10是否包含在这些数据中,若是的话,它是第几个被输入的。 main() int i,flag,data15; flag=0; printf(“Input numbers: n“); for(i=0;i15;i+) scanf(“%d“,&datai); for(i=0;i15;i+) if(datai=10) printf(“10 is inputed in the position,%dn“, i+1); flag=1; /*标记10在输入数

6、据中*/ break; if(flag=0)printf(“10 is not in numbers“); Input numbers:12 13 23 89 77 90 56 1 6 11 5 9 10 17 65 10 is inputed in the position 13.,二 维 数 组,二维数组的定义和引用 定义形式: 类型标识符 数组名常量表达式常量表达式; 例如,int a32; 引用形式: 数组名下标表达式下标表达式 例如,int a32; 数组元素的排列方式,二 维 数 组,数组a共有6个元素,分别为a00,a01, a10,a11, a20,a21来表示。,说明,二维数

7、组的定义和引用 定义形式: 类型标识符 数组名常量表达式常量表达式; 例如,int a32; 引用形式: 数组名下标表达式下标表达式 例如,int a32; 数组元素的排列方式,二维数组(续),二维数组的初始化 示例 1.分行对二维数组赋初值。例如: int a32=1,2,3,4,5,6; 2.只为数组的部分元素赋初值。例如: int a32=1,2,3,4; 3.也可以将所有数据写在一个花括号内,按数组的排列顺序对各元素赋初值。如: int a32=1,2,3,4; 4.若对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但对第二维的长度不能省。如: int a 2=1,2,3,4

8、,5,6;,二维数组的初始化示例,例3、从键盘为一个NN的整型数组输入数据,并将每一行的最小值显示出来。,运行结果: Input numbers: 12 3 4 67 22 9 8 23 61 19 20 8 3 78 5 7 12 15 19 89 1 6 8 2 11 22 81 36 2 4 53 32 17 19 11 5 Min is:3 8 3 1 2 5,字符数组(一),字符数组的定义和初始化 定义方式如下: char 数组名常量表达式; 例如:char c6; 说明: 由于字符型与整型是互相通用的,故字符数组的处理基本上与整型数组相同,只不过每个元素的值都是小于255的整型而已

9、。 字符数组的初始化 例如:char c6=s,t,r,i,n,g;,字符数组(二),字符串 示例 字符串常量是用双引号括起来的字符序列。字符串是作为一维字符数组来处理的。 一个字符串是由有效字符,加上字符0组成的。系统对字符串常量也自动加一个0作为结束符。 字符串与字符的区别:“0”为一字符串,在内存中占两个字节,而0为字符,只占一个字节,其ASCII码值为48。 字符数组的输入和输出 (1)“%c”格式:逐个输入输出。 示例中的str 数组,若执行printf(“%c“,str5):输出结果为g (2)“%s”格式:整个字符串一次输入输出。 示例中的str 数组,若执行printf(“%s

10、“,c):输出结果为string,字符串示例,例4、检测某一给定字符串中的字符数,不包括结束符0。,main() static char str =“string“; int i=0; while (stri!=0) i+; printf(“The length of string is:%dn“,i); ,运行结果: The length of string is:6,字符数组(三),常用字符串处理函数 示例 (1)gets字符串输入函数 调用形式:gets(字符数组) 功能:从终端输入一个字符串数组,并且得到一个函数值,该函数值的返回值是字符数组的起始地址。 (2)puts字符串输出函数

11、调用形式:puts(字符数组) 功能:将一字符串(以0为结束符)输出到终端。输出时将字符串结束标志转换成n,即输出完毕后换行。 (3)strcmp字符串比较函数 调用形式:strcmp(字符串1,字符串2) 功能:将两个字符串从左至右逐个进行比较 (按ASCII码值大小比较),直到出现不同的 字符或遇到n为止。比较的结果又函数值 带回。,字符串处理函数示例,例5、有三个字符串,要求找出其中最大者。,main() char string20; char str320; int i; for(i=0;i0)strcpy(string,str0); else strcpy(string,str1);

12、 if(strcmp(str2,string)0)strcpy(string,str2); printf(“n the largest string is :%sn“,string); ,运行结果: CHINA HOME A CHINESE the largest string is:HOME,字符数组(四),常用字符串处理函数 (4)strcpy字符串拷贝函数 调用形式:strcpy(字符数组1,字符串2)或 strcpy(字符数组1,字符数组2) 功能:将字符串拷贝到字符数组1中去。 例如:strcpy(str1,str2); (5)strcat字符串连接函数 调用形式:strcat(字符

13、数组1,字符数组2) 功能:将字符数组2中字符串接到字符数组1中 字符串的后面,结果放在字符数组1中, 函数的返回值是字符数组1的地址。,字符数组(五),(6)strlen字符串长度测试函数 调用形式:strlen(字符串) 功能:测试字符串的长度,函数的返回值为字符串的实际长度(不包括0)。 (7)strlwr字符串转换函数 调用形式: strlwt(字符串) 功能:将字符串中大写字母转换成小写字母。 (8)strupt字符串转换函数 调用形式:strupt(字符串) 功能:将字符串中小写字母转换成大写字母。,程序示例,例一 用选择排列法对数组中N个整数排序,按由大到小顺序输出。 例二 将数组a的内容逆置重放。要求不得另外开辟数组,只能借助于一 个临时存储单元。 例三 将字符串s转换成相应的双精度浮点数。 例四 输入3行4列矩阵,找出行上最大,列上最小的那个元素。如没有这 样的元素,则打印出相应信息。 例五 输入一个由若干单词组成的文本行,每个单词之间用若干个空格隔 开,统计此文本行中单词的个数。 例六 将一个数插入到升序的数列中,是插入后的数列仍然有序。 例七 用冒泡排序法对数组中的N个整数排序,按从小到大的次序输出。 例八 冒泡排序法的改进算法。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1