- 1
- 0
- 约8.14千字
- 约 54页
- 2018-03-04 发布于浙江
- 举报
[计算机软件及应用]第5章构造数据类型
构造数据类型 第4章 5.1 数组 数组是由若干相同数据类型的数据组成的有序集合。 数组中每一个数据又称为数组元素,它们之间具有固定的先后顺序。 用一个统一的数组名和下标来惟一地确定数组中的元素。 数组中所包含的数组元素的个数称为数组的长度。 数组是有类型属性的,每个数组中的所有元素都必须是同一数据类型的,可以是除void类型之外的任何一种数据类型。 一个数组在内存中占据一组连续的存储单元。 具有一个下标的数组称为一维数组; 具有两个或两个以上下标的数组称为二维或多维数组。 不管是几维的数组,在使用之前首先要定义,然后在程序中才可以使用。 定义一个数组,应该包括以下几个方面: (1)确定数组的名称; (2)确定数组的数据类型,即数组中所有元素的类型; (3)确定数组的结构。 5.1.1 一维数组 1.一维数组的定义 类型说明标识符 数组名[常量表达式]; 如: int b[5]; 2.一维数组的引用 数组名[下标] 【例5-1】定义一个一维数组,把各元素值赋为其下标值,并反向输出各元素值。 3.一维数组的初始化 (1)在定义数组时对所有的数组元素赋以初值,如: int a[5]={0,1,2,3,4}; (2)在定义数组时只给一部分元素赋值,如: int a[5]={0,1,2}; (3)如果想使一个数组中全部元素值为1,可以写成: int a[5]={1,1,1,1,1}; 但不能写成:int a[5]={1*5}; (4)在对数组的全部元素赋初值时,可以不指定数组的长度。如: int a[5]={0,1,2,3,4}; 可以写成:int a[ ]={0,1,2,3,4}; 4.一维数组程序举例 【例5-2】编写程序,输入10个数,从小到大排序,并输出排好序的10个数 。 冒泡排序 5.1.2 二维数组 1.二维数组的定义 类型说明符号 数组名[常量表达式1][常量表达式2] ; 如: int a[3][4] ; 2.二维数组的使用 二维数组元素的表示方式为: 数组名[下标][下标] 注意下标不要超过各维的大小。 3.二维数组的初始化 (1)分行给二维数组赋初值 。 如: int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}} (2)可以将所有数据写在一个大括号内 。 如:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12} (3)可以只对数组中部分元素初始化 。 如: int a[3][4]={{1},{3},{5}} (4)如果对二维数组的全部元素初始化,则定义数组时第一维长度可以省略,但第二维长度不能省 。 如: int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12} , int a[ ][ 4]={{0,0,7},{},{0,18}} 4. 二维数组程序举例 【例5-3】将一个二维数组行和列元素互换,存到另一个二维数组中。例如: 5.1.3 字符数组 1.字符数组的定义 用来存放字符型数据的数组; 数组中的一个元素只能存放一个字符。 如:char c[5],m[3][4] 2.字符数组的初始化 如:char c[5]={‘a’,‘b’,‘c’,‘d’,‘e’} char c[ ]={a,b,c,d,e} 3.字符串结束标志 在C++中,字符串是以‘\0’代表结束标志(字符串是以“”括起来的一串字符)。例如: char c[5]={a,b,c,d,\0}; “abcd”是包含4个字符的字符串,但在内存中占5个字节,最后一个字节存放字符串结束标志‘\0’。 4.字符串的输出 (1)用cout输出。 cout字符串或字符数组名; 如: char s[20]={This is a string.}; couts; 也可直接输出字符串,如: coutThis is a string.; (2)用cout流对象的put方法 。 cout.put(字符或字符变量); 利用这种方法,每次只能输出一个字符;要输出整个字符串,应采用循环的方法。如: #includeiostream using namespace std; int main() { char s[20]={This is a string.}; int i=0; while (s[i]!=\0) //用循环输出整个字符串 { cout.put(s[i]); i++; } r
您可能关注的文档
- [计算机软件及应用]电子商务应用模型.doc
- [计算机软件及应用]硬件方案.doc
- [计算机软件及应用]病毒性肝炎-代永安.ppt
- [计算机软件及应用]硬盘播出系统交流演示PPT.ppt
- [计算机软件及应用]福建移动G3版CRM.ppt
- [计算机软件及应用]硬件测试技术.ppt
- [计算机软件及应用]移动图标1104配色方案2.ppt
- [计算机软件及应用]移动通信6.pdf
- [计算机软件及应用]积分变换与复变函数问题的计算机求解.ppt
- [计算机软件及应用]程序文件1.doc
- 2025-2030中国三氯乙烯行业需求量预测与竞争新格局分析研究报告.docx
- 2026年玩具定制业务的发展前景及可行性研究报告.docx
- 2026年玩具品牌化建设与市场推广可行性研究报告.docx
- 2026年玩具设计与儿童心理发展融合可行性研究报告.docx
- 2026年玩具企业的电商平台运营策略及可行性研究报告.docx
- 2026年玩具制造企业的技术升级可行性研究报告.docx
- 2026年网红经济的兴起与社交媒体营销.docx
- 2026年网红经济对商贸零售行业的冲击与机遇可行性研究报告.docx
- 2025至2030中国LED嵌入式照明行业深度研究及发展前景投资评估分析.docx
- 2026年网络安全市场的重要性与发展趋势.docx
原创力文档

文档评论(0)