C语言程序设计 教学课件 ppt 作者 刘国成 张丹彤第七章 数组

上传人:w****i 文档编号:94657199 上传时间:2019-08-10 格式:PPT 页数:21 大小:724KB
返回 下载 相关 举报
C语言程序设计 教学课件 ppt 作者 刘国成 张丹彤第七章 数组_第1页
第1页 / 共21页
C语言程序设计 教学课件 ppt 作者 刘国成 张丹彤第七章 数组_第2页
第2页 / 共21页
C语言程序设计 教学课件 ppt 作者 刘国成 张丹彤第七章 数组_第3页
第3页 / 共21页
C语言程序设计 教学课件 ppt 作者 刘国成 张丹彤第七章 数组_第4页
第4页 / 共21页
C语言程序设计 教学课件 ppt 作者 刘国成 张丹彤第七章 数组_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《C语言程序设计 教学课件 ppt 作者 刘国成 张丹彤第七章 数组》由会员分享,可在线阅读,更多相关《C语言程序设计 教学课件 ppt 作者 刘国成 张丹彤第七章 数组(21页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计教程,7.1 一维数组,7.1.1 一维数组的定义 在C语言中使用数组必须先进行定义。 一维数组的定义形式为: 类型标识符 数组名常量表达式; 其中: 类型标识符是任一种基本数据类型或构造数据类型。 数组名是用户定义的数组标识符。 方括号中的常量表达式表示数据元素的个数,也称为数组的长度。,第7章 数组,7.1.2 一维数组元素的引用 数组元素是组成数组的基本单元。数组元素也是一种变量, 其标识方法为数组名后跟一个下标,下标表示元素在数组中的顺序号。数组元素引用的一般形式是: 数组名下标 下标可以用整型常量、整型变量或者整型表达式表示。下标从0开始顺序编号,小于等于“元素个数减1

2、”。,第7章 数组,7.1.3 一维数组的初始化 给数组赋值的方法除了用赋值语句对数组元素逐个赋值外,还可采用初始化赋值和动态赋值的方法。数组初始化赋值是指在数组定义时给数组元素赋予初值。 其一般形式如下: 类型标识符 数组名常量表达式 值,值值; 其中在 中的各数据值即为各元素的初值,各值之间用逗号间隔。,第7章 数组,7.2 二维数组,7.2.1 二维数组的定义 二维数组的定义形式为: 类型说明符 数组名常量表达式1常量表达式2 其中常量表达式1表示第一维下标的长度(即二维数组的行数),常量表达式2 表示第二维下标的长度(即每行的列数)。二维数组中元素的存放顺序是按行存放的,即先按顺序存放

3、第一行的数组元素,再存放第二行的数组元素,依次类推。,第7章 数组,7.2.2 二维数组元素的引用 二维数组中元素的引用形式为: 数组名下标1下标2 同一维数组一样,二维数组的下标可以是整型常量、整型变量或者整型表达式。为了便于理解二维数组下标的含义,我们可以将二维数组看作一个行列式或矩阵,则“下标1”用来确定元素的行号(从0开始,小于等于“元素个数1”减1),“下标2”用来确定元素的列号(从0开始,小于等于“元素个数2”减1)。 若有定义float b34;int i0,j1; 则b23、b02、bij、bi1j1等都是合法的数组引用形式,只是下标表达式的值必须是非负整数,且不能超过数组定义

4、中的界限。,第7章 数组,7.2.3 二维数组的初始化 二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。 (1)按行分段赋值: int a34 1,2,3,4,5,6,7,8,9,10,11,12; 则a中各元素的值为 ;,第7章 数组,7.2.3 二维数组的初始化 二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。 (2)按行连续赋值: int a34 1,2,3,4,5,6,7,8,9,10,11,12; 则a中各元素的值为,第7章 数组,7.3 字符串与字符数组,7.3.1 字符串 前面已经学到,字

5、符型常量是用单引号括起来的一个字符,如A,字符型变量只能存放字符常量,如: char c; cA; C语言中引入由或多个字符组成的常量称为字符串常量。字符串常量用双引号作定界符,系统自动加字符串结束符,字符串结束标志符的代码是8位全0,称为空字符,程序用0来标记。字符串在内存中以字符数组形式存放。,第7章 数组,7.3.2 字符数组 数组中每一个元素都是字符型称为字符数组。一个字符数组可用来存放一个字符串。 1字符数组的定义 形式与前面介绍的数值数组相同。 2字符数组的初始化 与其他类型数组类似,可以用赋值语句给字符数组元素赋值。 char c5; c0h; c1a; c2p; c3p; c4

6、y; 定义c为字符数组,包含5个元素。,第7章 数组,3字符数组的引用 例7.9:一个字符数组引用的例子。 #include void main() int i,j; char a5B,A,S,I,C,d,B,A,S,E; for(i0;i1;i) for(j0;j4;j) printf(“%c“,aij); printf(“n“); ,第7章 数组,4字符数组的输入输出 字符数组的输入输出和其他数组一样可以单个元素逐个输入输出。如: char c5; int i; for(i0;i5;i) cigetchar(); for(i0;i5;i) printf(“%c“,ci); 如果字符数组用来

7、存放字符串,还可以将整个字符串一次输入或输出。,第7章 数组,7.3.3 用于字符处理的函数 在C的函数库中提供了一些用来处理字符串的函数,除了上面介绍的输入输出gets、puts外常用的还有以下几种: 1strcat(字符数组1,字符数组2) 连接两个字符数组中的字符串,把字符串2接到字符串1的后面,连接时将字符串1后面的0取消,只在新串最后保留一个0。结果放在字符数组1中,要求字符数组1要有足够的空间放新串。函数返回值是字符数组1的首地址。 char str120 “I am “; char str2 “happy!“ printf(“%s“,strcat(str1,str2); 输出:

8、I am happy!,第7章 数组,7.3.3 用于字符处理的函数 2strcpy(字符数组1,字符串2) 它是“字符串复制函数”。作用是将字符串2拷贝到字符数组1中去。字符数组1必须定义的足够大,以便容纳被拷贝的字符串。“字符数组1”必须写成数组名形式,“字符串2”可以是字符数组名,也可以是一个字符串常量。例如: static char str110,str2“China“; strcpy(str1,str2); 若有定义 char str110,str210; 则赋值str1“China“; str2str1; 都不合法; 应该用如下形式: strcpy(str1, “China“);

9、strcpy(str2,str1);,第7章 数组,7.3.3 用于字符处理的函数 3strcmp(字符串1,字符串2) 此函数是字符串比较专用函数。字符串比较的规则是:对两个字符串自左至右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到0为止。如全部字符相同,则认为相等;若出现不相同的字符,则以第一个不相同的字符的比较结果为准。函数返回值为第一个不相同的字符的ASCII值之差。因此 (1)如果字符串1等于字符串2,函数值为0; (2)如果字符串1大于字符串2,函数值为一正整数; (3)如果字符串1小于字符串2,函数值为一负整数。,第7章 数组,4strlen(字符数组) 是测定字符串长度的函数。函数的值为字符串中实际长度,不包括0在内,如: static char str10“China“; printf(“%d“,strlen(str); 输出结果不是10,也不是6,而是5。 也可以直接测字符串常量的长度,如strlen(“China“)结果为5。,第7章 数组,5strlwr(字符串) 将字符串中大写字母转换成小写字母。 6strupr(字符串) 将字符串中的小写字母转换成大写字母。 注意如果在程序中用到以上介绍了的几种字符串处理函数,需在程序首部加预处理命令 # include ,第7章 数组,THANK YOU !,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号