C++语言程序设计课程辅导二(28)

上传人:鲁** 文档编号:564604976 上传时间:2023-06-27 格式:DOC 页数:6 大小:56KB
返回 下载 相关 举报
C++语言程序设计课程辅导二(28)_第1页
第1页 / 共6页
C++语言程序设计课程辅导二(28)_第2页
第2页 / 共6页
C++语言程序设计课程辅导二(28)_第3页
第3页 / 共6页
C++语言程序设计课程辅导二(28)_第4页
第4页 / 共6页
C++语言程序设计课程辅导二(28)_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《C++语言程序设计课程辅导二(28)》由会员分享,可在线阅读,更多相关《C++语言程序设计课程辅导二(28)(6页珍藏版)》请在金锄头文库上搜索。

1、C+语言程序设计课程辅导二(2.8)-数组和字符串 四、字符串 4.1 字符串概念 1. 字符串的定义 在C+语言中,一个字符串就是用一对双引号括起来的一串字符,其双引号是该字符串的起、止标志符,它不属于字符串本身的字符。如: (1) “string” (2) “Visual C+” (3) “a+b=” (4) “姓名,年龄” (5) “Input a integer to x:”都是C+字符串。 一个字符串的长度等于双引号内所有字符的长度之和,其中每个ASCII码字符的长度为1,每个区位码字符(如汉字)的长度为2。如上面每个字符串的长度依次为6,10,4,9和21。 特殊地,当一个字符串不

2、含有任何字符时,则称为空串,其长度为0,当只含有一个字符时,其长度为1,如”是一个空串,”A”是一个长度为1的字符串。注意:A和”A”是不同的,前者表示一个字符A,后者表示一个字符串A,虽然它们的值都是A,但稍后便知它们具有不同的存储格式。 在一个字符串中不仅可以使用一般字符,而且可以使用转义字符。如字符串”couta; (2) couta;是允许的,即允许在提取或插入操作符后面使用一个字符数组名实现向数组输入字符串或输出数组中保存的字符串的目的。 计算机执行上述第一条语句时,要求用户从键盘上输入一个不含空格的字符串,用空格或回车键作为字符串输入的结束符,系统就把该字符串存入到字符数组a中,当

3、然在存入的整个字符串的后面将自动存入一个结束符0。 注意:输入的字符串的长度要小于数组a的长度,这样才能够把输入的字符串有效地存储起来,否则是程序设计的一个逻辑错误,可能导致程序运行出错。另外,输入的字符串不需要另加双引号定界符,只要输入字符串本身即可,假如输入了双引号则被视为一般字符。 执行上述第二条语句时向屏幕输出在数组a中保存的字符串,它将从数组a中下标为0的元素开始,依次输出每个元素的值,直到碰到字符串结束符0为止。若数组a中的内容为: 0 1 2 3 4 5 6 7 8 9 10wRIte0read0 则输出a时只会输出第一个空字符前面的字符串”write”,而它后面的任何内容都不会

4、被输出。 利用插入操作符不仅能够输出字符数组中保存的字符串,而且能够直接输出一个字符串常量,即用双引号括起来的字符串。如: cout”x+y=”x+ya4则表示从键盘上向a4输入一个字符串,coutai则表示向屏幕输出ai中保存的字符串。 上述第二条语句定义了一个二维字符数组b,它的行数没有显式地给出,隐含为初值表中所列字符串的个数,因所列字符串为5个,所以该数组b的行数为5,又因列下标的上界定义为8,所以每一行所存字符串的长度要小于等于7。该语句被执行后,b0表示字符串”well”,b1表示字符串”good”,.。第三条语句定义了一个二维字符数组c,它最多能够存储6个字符串,每个字符串的长度

5、要不超过9,该数组前三个字符串元素c0,c1和c2分别被初始化为”int”,”double”和”char”,后三个字符串元素均被初始化为空串。 第四条语句定义了一个能够存储10个字符串的二维字符数组d,每个字符串的长度不得超过19。该语句对所有字符串元素初始化为一个空串。 下面的程序段能够从键盘上依次输入10个字符串到二维字符数组w中保存起来,输入的每个字符串的长度不得超过29。 const int N=10; char wN30; for(int i=0;iwi; 下面的一条for语句将按相反的次序依次输出在数组w中保存的所有字符串,在输出每个字符串之后都输出一个换行符。 for(i=N-1

6、;i=0;i-) coutwiendl; 4.2 字符串函数C+系统专门为处理字符串提供了一些预定义函数供编程者使用,这些函数的原型被保存在string.h头文件中,当用户在程序文件开始使用#include命令把该头文件引入之后,就可以在后面定义的每个函数中调用这些预定义的字符串函数,对字符串作相应的处理。C+系统提供的处理字符串的预定义函数有许多,从C+库函数资料中可以得到全部说明,下面简要介绍其中几个主要的字符串函数。 1. 求字符串长度 函数原型: int strlen(const char s); 此函数只有一个参数,它是一个元素类型为字符的数组参数,它前面使用的保留字const表示该

7、参数的内容在函数体中是不允许改变的,当然使用它不影响读取参数的值。该函数对应的实参可以为任何形式的字符串,如可以是一个字符串常量,可以是一个一维字符数组名,也可以是二维字符数组中只带行下标的单下标变量。待学习完下一章指针之后,读者将会对指针参数有更深刻的理解。 调用该函数时,将返回实参字符串的长度。 例如,假定一个字符数组a10的内容为”,b10的内容为”a”,c20的内容为”StringLength”,则strlen(a),strlen(b)和strlen(c)的值分别为0,1和12。 若要计算字符串常量”constant”的长度,则使用strlen(”constsnt”)即可得到,返回值为8。 2. 字符串拷贝 函数原型: char* strcpy(char* dest, const char* src); 此函数有两个参数,它们都是字符指针参数。因为每个字符指针是指向相应字符串的首地址,而字符数组名就是所存字符串的首地址,所以字符数组名也就是一个字符指针。字符指针参数说明同字符数组参数说明是等价的,也就是说,该函数中的两个参数说明分别同char dest和const char src是等价的。无论采用哪一种说明,dest或src都能够接受调用时由实参传送来的一个字符指针,即一个字符串存储空间的首地址。 该函数的功能是把第二个参数src所指字符串拷贝(即

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号