- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
-*- 转换为大写字符串 #include iostream using namespace std; int main() { char word[50]; coutEnter a lowercase word: ; cin.getline(word, 49, ); for(int i=0; word[i]!=\0; ++i) { word[i]-=32; } coutThe uppercase word is: word\n; return 0; } 字符以ASCII码保存在字符数组中,将小写字符减去32得到 对应大写字符的ASCII值。 复制字符串 将字符串复制到另一个字符数组中,可以使用C语言风格的字符串处理库函数。 strcpy:将整个字符串复制到指定缓冲区中,如果源字符串比缓冲区大,会发生越过缓冲区边界写入数据。 strncpy:增加1个参数,可以限制最多复制的字符数,防止写入数据时越过数组边界。 -*- 复制字符串示例 #include iostream using namespace std; int main() { char string1[]=I love C++!; char string2[80]; //缓冲区 strcpy(string2, string1); //从string1复制到string2 coutstring2endl; return 0; } strncpy(string2, string1, 79); 还有很多其它的库函数,如strcat用于连接字符串,strcmp 用于比较字符串大小。 C++标准库中通过string类实现字符串,尽量使用。 -*- 本章内容安排 数组定义与使用 多维数组 字符数组与字符串 -*- 1、数组是什么 数组是一组类型相同的相关数据,它们占用连续的存储单元,数组中的每个数据称为一个元素。 定义数组的三个要素 数组的名称; 数组中每个元素的数据类型 数组中数据的个数 long peaks[25]; 定义1个名字叫peaks的数组,数据类型为long,数组中共 包含25个数据。 定义数组时,指定数组元素个数的数据必须为常量。 -*- 2、访问数组中的数据 数组中的数据通过数组名和下标的组合来访问 long peaks[25]; peaks[0] = 2909; peaks[24] = 300; 将数组中的第一个元素赋值为2909。 将数组中的最后一个元素赋值为300。 要点:数组元素的下标从0开始!peaks数组的元素下标 范围为0~24。 -*- 计算平均分 #include iostream using namespace std; int main() { double ave=0; double score[5]; coutEnter 5 score:\n; int i; for(i=0;i5; i++) { coutScore i:; cinscore[i]; } …… -*- 计算平均分 int main() { …… for(i=0; i5; i++) { ave+=score[i]; } ave/=5; coutAverage: ave\n; return 0; } 思考:假如要处理10个数的平均分,要修改几处代码? -*- 计算平均分(符号常量版本) #include iostream using namespace std; const int ArraySize = 5; int main() { double ave=0; double score[ ArraySize ]; cout“Enter “ArraySize“ score:\n; int i; for(i=0;i ArraySize; i++) { coutScore i:; cinscore[i]; } …… -*- 计算平均分(符号常量版本) int main() { …… for(i=0; i ArraySize ; i++) { ave+=score[i]; } ave/=ArraySize; coutAverage: ave\n; return 0; } 思考:此时要处理10个数的平均分,要修改几处代码? 良好编程习惯:将数组大小定义为符号常量。 -*- 篱笆桩错误 访问数组元素时,最大下标应该为数组元素个数减1,越过此边界,会导致程序的异常行为。 int score[10]; score[10] = 94; -*- 数组定义的错误 定义数组时,大小必须为常量 int num; cinnum
文档评论(0)