visual studio学习第4章 数组和字符串

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.连接字符串 . 2.访问字符串中的字符பைடு நூலகம். 3.访问子字符串 . 4.比较字符串 . 5.搜索字符串 . 6.修改字符串 .
如果字符串需要包含wchar_t类型的字符,而不 是char类型的字符,则可以使用<string>头文件中定 义的wstring类型。wstring类型的对象与string类型的 对象相同。例如,下面的语句定义了一人Unicode字 符串的对象: std::wstring wphrase; Unicode字符串值需要在双引号前添加一个前缀L, 将宽字符集与单字符集表示的字符串区分开来。因 此,为wstring类型的对象赋值时应采用下面的语句: wphrase=L"世上无难事,只怕有心人。"; 要输出Unicode字符串时,必须使用wcout流,并 且在输出中文时,需要设置系统的使用的字符集为 locale ("chs")。
CLR字符串是由System命名空间中定义的String 类表示。String类存储的字符串中各个字符是由 System::Char类表示。 可以使用类似下面的语句创建表示字符串的 String对象: System::String^ phrase=L"where there is a will there is a way"; 这里使用字符串值是基于Unicode字符集,因为 它的前缀是L。如果省略前缀L,则该字符串值将变 为单字节字符集,但是这在CLR字符串中并不重要, 因为在编译CLR程序时编译器会自动完成字符集的 转换。
前面介绍的数组都只需要一个索引值来选择元素, 这种数组称为一维数组。也可以声明需要两个或更多索 引值才能访问元素的数组,这种数组一般称为多维数组。 需要两个索引值来引用元素的数组称为二维数组,需要 三个索引值的数组称为三维数组,依此类推。
在程序中,为了存储这类数据,就需要定义二维数 组。二维数组定义的一般形式为: 类型说明符 数组名[常量表达式1][常量表达式2] 例如: int a[3][4]; 这条语句定义了一个二维数组a,第一个索引值是 a 行号,第二个索引值是行内的编号。对于C++中的二维 数组,可以看作是由一维数组的嵌套而构成的。设一 维数组的每个元素都又是一个数组,就组成了二维数 组。当然,前提是各元素类型必须相同。根据这样的 分析,一个二维数组也可以分解为多个一维数组。
排序
倒置矩阵
在实际的应用时,经常会需要对数据进行 排序。排序的方法有很多种,常见的包括: 冒泡排序法和选择排序法。 1.冒泡排序法 . 2.选择排序法 .
矩阵常用二维数组来表示。倒置矩阵也就是将一个 二维数组的行和列元素互换,存储在另一个二维数据 中。 在进行矩阵倒置时,只需要注意各元素的行和列的 索引值变化:原矩阵中的第1个元素的坐标位置没有发 生变化;原矩阵第2个元素的行号和列号为(0,1), 2 0 1 倒置后变为(1,0);原矩阵第3个元素的行号和列号 为(0,2),倒置后变为(2,0),…..。
在定义数组时如果没有为数组指定初始值,则数组的各个存储单元中会包 含一此无用的乱码。在定义数据时可以对其进行初始化,使其包含程序中马 上能使用的值。对数组进行初始化时,应该在大括号中提供各个数组元素的 初始值。 初始化数组时,不能指定比数组元素个数还多的初始化值,但可以指定比 数组元素个数少的初始化值。没有提供初始值的数组元素将被初化为0,这与 未提供初始化列表的情况不同。
char类型的数组可以用于存储非空 (C语言标准)的字符串。在C++中,还 定义了string类型,该类型比C语言标准 的字符串更易于使用。
char类型的数组有两个含义:它可以 是一个字符数组,每个元素存储一个字 符;它也可以表示一个字符串。在后一 种情况中,字符串中的每个字符存储在 一个数组元素中,字符串的结尾用一个 特定的字符'\0'表示结束。
为了初始化多维数组,需要扩展原来初始化一维数组 的方法。由于二维数组是两个一维数组,这样对二维数 组的实始化就变成对两个一维数组进行实始化。根据这 种方法,用下面的语句可以定义并实始化二维数组: int a[3][4]={ {80,75,92,69}, //第一行 {61,65,71,75}, //第二行 {59,63,70,68} //第三行 }; 因为第一行都是一个一维数组,所以每行的初始化值 都包含在一对大括号中。这3个初始化列表本身也包含在 一对大括号中,因为二维数组是一维数组的一维数组。 可以将这个规则扩展到任意维数的数组,每增加一维, 就需要添加一对大括号包含初始值。
事实上,string类型是一个类定义。由于 目前为止还没介绍过类,所以这里可以理解 为类是一种新的数据类型,类数据类型与基 本数据类型并没有区别。在使有基本数据类 型时,需要使用该基本类型的变量。同样, 在使用类类型时,也必须使用类的变量,只 是类的变量一般称为对象。string类型在 <string>头文件中定义,所以在使用string对 象时总是要包含这个头文件。string类型的 名称也是在std命名空间中定义。
CLR数组 CLR字符串
1.一维CLR数组 .一维 数组 CLR数组必须使用关键字array指定数组的类型, 还必须在array关键字后面的尖括号中指定数组元素 的类型。 2.多维CLR数组 .多维 数组 CLR多维数组的最大维数为32。在声明多维CLR 数组时,需要在尖括号内指定元素的类型后,再指 定数组的维数。数组的维数默认为1,因此在声明一 维数组时不需要指定维数。
数组是由多个内存空间组成,每个内存空间 都可以存储相同类型的一个数据项,所有的数据 项都通过相同的变量名来引用。在C++中定义数 组一般形式为: 类型名 数组名 [常量表达式]; 其中,类型名可以是任一种基本数据类型。 数组名是用户定义的数组标识符。方括号中的常 量表达式表示数据元素的个数,也称为数组的长 度。
到目前为止,我们已经了解C++中所有重要的基本 数据类型,以及如何在程序中执行计算和判断。本章 将讨论两个比较复杂的数据类型:数组和字符串。 数组及其使用方法 各种类型的数据 多维数据的使用 C++字符串与C语符串 C++/CLI的数组与字符串
在前面介绍了如何声明和初始化基本类型 的变量。每个变量都可以存储特定类型的一 个数据项——在整型变量中可以存放整数, 在字符变量中可以字符等。而数组可以存储 相同类型的多个数据项,如整型数组可以存 储多个整数。实际上,数组可以存储任何类 型的数据。
为了引用数组中各个数据项,需 要使用一个整数标识各个数据项,该 整数通常称为数组的索引。数组的索 引表示数组元素到数组开始位置的偏 移量。第1个数组元素的偏移量是0, 因此该元素对应的索引值就是0,第2 个数组元素的偏移量是1,它对应的 索引值就是1,依次类推。 要引用数组中某元素时,可以在 数组名后面的方括号中放置该元素对 应的索引值。如要将数组a中的第4个 元素设置为12,可以使用下面的语句: a[3]=12; 数组的内存排列如右图所示。
相关文档
最新文档