文档详情

面向对象程序设计( C++ ) 高职软件专业 王明福 课件 第4章 复合数据类型.ppt

发布:2017-08-17约7.78千字共41页下载文档
文本预览下载声明
尚辅网 尚辅网 4.1 一维数组 4.1.1 一维数组的定义 一维数组的定义格式为: 4.1 一维数组 4.1.2 一维数组元素的引用 一维数组的引用形式如下 : 4.1.3 一维数组的初始化 一维数组初始化的一般格式如下: 对数组元素初始化,有以下几种形式: (1) 对数组的全部元素初始化,如: int a1[6]={0,1,2,3,4,5}; 将数组元素的初值依次放在一对花括弧内,并用逗号分开,从左到右将花括号中的每个数与数组的每个元素相匹配,则编译后,a[0] = 0、a[1]=1、a[2]=2、a[3]=3、a[4]=4、a[5]=5。 (2) 对数组的部分元素初始化,如: int a2[6]= {0,1,2,3}; 这样只对前4个元素显式赋值,后2个元素值自动设为0。 (3) 对数组全部元素赋初值时,可不指定数组长度。如: int a3[ ]= {0,1,2,3,4}; 等价于 int a3[5]= {0,1,2,3,4}; 4.2 二维数组 4.2.1 二维数组的定义 二维数组的定义格式为: 4.2 二维数组 4.2.2 二维数组的引用 二维数组的引用格式为: 4.2.3 二维数组的初始化 二维数组的初始化,可以用以下两种方法来实现: 1.按行赋初值 int a[3][4]={{11,12,13,14}, {21,22,23,24}, {31,32,33,34}}; 2.按二维数组在在内存中的排列顺序给各元素赋初值 (1) 将所有数据写在一个花括号内,按数据排列的顺序对各元素赋初值。 例如, int a[3][4]= {11,12,13,14,21,22,23,24,31,32,33,34};等价于 int a[3][4]= {{11,12,13,14},{21,22,23,24},{31,32,33,34}}; (2) 同一维数组一样可以对部分元素显式赋初值,未显式赋初值的元素将自动设为0 例如, int a[3][4]={{11},{21},{31}}; 它的作用是只对各行第1列的元素赋初值,其余元素值自动为0。 (3) 若对全部元素显式赋初值,则数组第一维的元素个数在说明时可以不指定,但第二维的元素个数仍然不能缺省。 例如,下面几种方法是等价的: int b[ ][4]={{1,2,3,4}, {86,14,96,55}}; int b[2][4]={1,2,3,4, 86,14,96,55}; int b[ ][4]={1,2,3,4, 86,14,96,55}; 4.3 字符数组与字符串 4.3.1 字符数组 1. 字符数组的定义 2. 字符数组的初始化 与一般数组一样,字符数组也可以初始化,如: char ch[8] = {‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’}; (1)如果花括弧内的字符个数大于数组长度,则按语法错误处理。 (2)如果花括弧内的字符个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即‘\0’)。如 char ch[8] = {‘a’,‘b’,‘c’,‘d’,‘e’,‘f’}; 等价于 char ch[8] = {‘a’,‘b’,‘c’,‘d’,‘e’,‘f’, ‘\0’, ‘\0’}; (3)字符数组的长度也可用初值来确定,如: char str[ ] = {‘a’,‘b’,‘c’}; 等价于 char str[3] = { ‘a’,‘b’,‘c’}; 4.3.2 字符串 1.字符串及其结束符‘\0’ 字符串是用双引号括起来的若干有效字符序列。字符串可以包括字母、数字、专用字符、转义字符等。 在每个字符数组的有效字符后面(或字符串末尾)加上一个特殊字符‘\0’(其ASCII码值为0),在处理字符数组的过程中,一旦遇到结束符‘\0’,就表示已达到字符串末尾。 2. 字符串的存储 字符串是用字符数组来存储的。字符串的说明形式与字符数组一样,不过,由于字符串有一个串结束符,所以,存放有N个字符的字符串,字符数组的元素个数至少应说明为N+1。 3. 字符串的初始化 字符串的初始化有以下几种形式: (1) 与字符数组的初始化形式相同,不同的是多了一个串结束符,如: char str[]={’a’,’b’,’c’,’d ’,’e’,’f’,’g’,’h’,’\0’}; (2) 可以部分初始化,其中未赋值的部分将自动赋值为‘\0’ ,下面两语句等价。 char pstr[8]={’a’,’b’,’c’
显示全部
相似文档