c语言删除其中相同字符的流程图,C语言第5章:相同类型数据集合.ppt

C语言第5章:相同类型数据集合

5.1数组与数组元素的概念 由若干类型相同的数据按一定顺序存储所形成的有序集合,称为数组(Array)。通常,用某个名字标识这个集合,这个名字称为数组名。构成数组的每个数据项称为数组的元素(Element),同一数组中的元素必须具有相同的数据类型。 数组定义的一般形式为: 类型标识符 数组名[常量表达式1][常量表达式2]……; (1) 数组的下标必须使用整型常量或整型常量表达式。C语言中不允许用变量作为下标,对数组进行动态定义。例如, #define N 10 int nScore [N]; int n=3; int nScore [n]; /*不正确的定义方式*/ (2) C语言规定数组的下标都是从0开始的。 (3) 数组的存储结构:数组一经定义,系统则根据数组的数据类型为每一个元素安排相同长度的、连续的存储单元,而且,C语言的数组在内存中是按行存放的,即存完第一行后存第二行,然后存第三行,······,以此类推。 (4) 用sizeof来计算类型长度。 5.2数组与数组元素的概念 (1) 数组名命名规则和变量名相同,遵循标识符命名规则。 (2) 数组名后是用方括弧括起来的常量表达式,不能用圆括弧。下面用法不对:如int a(10);是不对的。 (3) 常量表达式表示元素的个数,即数组长度。 (4) 常量表达式中可以包括普通常量和符号常量,不能包含变量。也就是说,C不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。 5.3 相同类型数据的二维及多维存储 5.3.1 二维数组的定义 二维数组定义的一般形式是: 5.3 相同类型数据的二维及多维存储 5.3.2 二维数组的初始化 二维数组初始化可以在类型说明时给数组元素赋初值。可按 行分段赋值,也可按行连续赋值。 5.3.3二维数组元素的引用 二维数组引用的一般形式是: 5.3.4 多维数组的初始化和引用 (1)多维数组的定义及初始化 5.4 字符类型数据集合的存储 用来存放字符的数组称为字符数组。字符数组允许在类型说明时作初始化赋值。如, char c[10]= {'c', ' ','p','r','o','g','r','a','m'}; 赋值后c[0]~c[8]分别被赋值,c[9]未赋值,由系统自动赋予0值。 当对全体元素赋初值时,也可以省去长度说明。如, char c[]={'c', ' ','p','r','o','g','r','a','m'}; 这时C数组的长度自动定为9。 5.5 字符串处理函数 C语言提供了丰富的字符串处理函数, 大致可分为字符串的输入、输出、合并、修改、比较、转换、复制、搜索几类。 使用这些函数可大大减轻编程的负担。 用于输入输出的字符串函数,在使用前应包含头文件"stdio.h",使用其它字符串函数应包含头文件"string.h"。 5.6 字符串指针变量与字符数组 (1) 字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以‘\0’作为串的结束。字符数组是由于若干个数组元素组成的,它可用来存放整个字符串。 (2) 对字符串指针方式: char *ps="C Language"; 可以写为: char *ps; ps="C Language"; (3) 对数组方式:只能对字符数组的各元素逐个赋值。 char st[]={"C Language"}; 不能写为: char st[20];st={"C Language"}; 对指针变量直接赋值是可以的。因为C系统对指针变量赋值时要给以确定的地址。 5.7 综合应用实例 语言程序设计与应用样章 第4章模块化设计与应用 C * 第5章 同类型数据集合 主要内容 数组与数组元素、一维数组、二维数组、多维数组、字符数组 字符串处理函数 指向字符串的指针变量  说 明 注意: 在C语言中,数组具有以下几个特点: (1) 数组元素的个数必须在定义时确定,在程序中不可改变; (2) 在同一数组中的数组元素的类型是相同的; (3) 数组元素的作用相当于简单变量; (4) 同一数组中的数组元素在内存中占据的地址空间是连续的。 5.2.1一维数组是如何定义的 一维数组定义的一般形式为: 类型说明符 数组名[常量表达式];  说 明 例5-1 查看数组nArray[10]的内存占用情况。 问题分析 通过不同的输出方式,能够看到数组名(nArray)和&数组元素(&nArray[0])等表示的含义。数组名nArray表示数组的首地址,同数组nArray[0]的地址相同。不同的数组类型在内存中占

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值