第6章数组指针和字符串.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章数组指针和字符串,字符串指针数组,指向字符串数组的指针,c字符串指针数组,c语言字符串数组指针,用指针数组处理字符串,字符串指针数组赋值,字符串指针数组初始化,字符串二维数组指针,字符串数组与指针

6.6.1 用字符数组存储和处理字符串 字符串常量(例:program) 各字符连续、顺序存放,每个字符占一个字节,以‘\0’结尾,相当于一个隐含创建的字符常量数组 “program”出现在表达式中,表示这一char数组的首地址 首地址可以赋给char常量指针: const char *STRING1 = program; 字符串变量 可以显式创建字符数组来表示字符串变量,例如,以下三条语句具有等价的作用: char str[8] = { p, r, o, g, r, a, m, \0 }; char str[8] = program; char str[] = program; * p r o g r a m \0 字符数组练习 编写一函数,用于删除字符串中的给定字符。函数原型为: int delete(char s[],char c); 如:若s字符串为”abcaabcabcda”,要删除的字符为’a’,则删除后的字符串为”bcbcbcd”。 用字符数组表示字符串的缺点 用字符数组表示字符串的缺点 执行连接、拷贝、比较等操作,都需要显式调用库函数,很麻烦 当字符串长度很不确定时,需要用new动态创建字符数组,最后要用delete释放,很繁琐 字符串实际长度大于为它分配的空间时,会产生数组下标越界的错误 解决方法 使用字符串类string表示字符串 string实际上是对字符数组操作的封装 * 6.6.2 string类 常用构造函数 string(); //缺省构造函数,建立一个长度为0的串 string(const char *s); //用指针s所指向的字符串常量初始化string类的对象 string(const string rhs); //拷贝构造函数 例: string s1; //建立一个空字符串 string s2 = “abc”; //用常量建立一个初值为”abc”的字符串 string s3 = s2; //执行拷贝构造函数,用s2的值作为s3的初值 * string的用法 常用操作符 s + t 将串s和t连接成一个新串 s = t 用t更新s s == t 判断s与t是否相等 s != t 判断s与t是否不等 s t 判断s是否小于t(按字典顺序比较) s = t 判断s是否小于或等于t (按字典顺序比较) s t 判断s是否大于t (按字典顺序比较) s = t 判断s是否大于或等于t (按字典顺序比较) s[i] 访问串中下标为i的字符 例: string s1 = “abc”, s2 = “def”; string s3 = s1 + s2; //结果是”abcdef” bool s4 = (s1 s2); //结果是true char s5 = s2[1]; //结果是’e’ * * 例6.23 string类应用举例 #include string #include iostream using namespace std; //根据value的值输出true或false,title为提示文字 inline void test(const char *title, bool value) { cout title returns (value ? true : false) endl; } int main() { string s1 = DEF; cout s1 is s1 endl; string s2; cout Please enter s2: ; cin s2; cout length of s2: s2.length() endl; //比较运算符的测试 test(s1 = \ABC\, s1 = ABC); test(\DEF\ = s1, DEF = s1); //连接运算符的测试 s2 += s1; cout s2 = s2 + s1: s2 endl; cout length of s2: s2.length() endl; return 0; } * 用getline输入整行字符串 输入整行字符串 用cin的操作符输入字符串,会以空格作为分隔符,空格后的内容会在下一回输入时被读取 用string头文件中的getline可以输入整行字符串,例如: getline(cin, s2); 以其它字符作为分隔符输入字符串 输入字符串时,可以使用其它分隔符作为字符串结束的标志(例如逗号、分号) 把分隔符作为getline的第3个参数即可,例如: getline(cin, s2, ,); * 例6.24 用getline输入字符串 * include iostream #i

文档评论(0)

xingkongwd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档