C++数组和字符串

C++数组和字符串

ID:43300347

大小:1.35 MB

页数:59页

时间:2019-10-08

C++数组和字符串_第1页
C++数组和字符串_第2页
C++数组和字符串_第3页
C++数组和字符串_第4页
C++数组和字符串_第5页
资源描述:

《C++数组和字符串》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数组和字符串第4章复习:数组的结构例如:inta[5];系统在内存中为数组安排一片连续的存储单元依次存放各个元素。一维数组按下标由小到大顺序存放:a[0]a[1]a[2]a[3]a[4]↓↓↓↓↓4个字节数组名表示数组的首地址a…二维数组内存中实际按行存放,即先存放第0行的元素,接着存放第1行的元素……例如:intb[3][3];二维数组b有3行3列,共9个元素:1行:b[0][0]b[0][1]b[0][2]2行:b[1][0]b[1][1]b[1][2]3行:b[2][0]b[2][1]b[2][2]b[0][0]b[0][1]b[0][2]b

2、[1][0]…b[2][2]↓↓↓↓↓b数组存放依然是从首地址起,连续存放。数组的赋值与变量初始化类似,在定义数组时也可以初始化。一维数组初始化,例如:inta[5]={1,2,3,4,5};floatx[6]={5.0,6.3,15.4};二维数组初始化,例如:intb[2][3]={{1,3,5},{2,4,6}};或:intb[2][3]={1,3,5,2,4,6};初值表字符数组初始化,可以用字符常数,也可以字符串。例如:chars1[10]={'V','C','+','+',''};或:chars1[10]={"VC++"};或:ch

3、ars1[10]="VC++";二维字符数组初始化,例如:char[3][20]={"Beijing","Tianjin","Shanghai"};数组的赋值只能给具体的数组元素赋值(方法如同变量),而不能给整个数组赋值。例如:inta[5];a[0]=1;a[1]=6;…而不能在赋值语句中出现:a={1,2,3,4,5};如果所赋的值有一定规律,则可利用循环赋值。如:for(i=0;i<5;i++)a[i]=i;注意:数组的赋值与初始化不是一回事。例如,下面对数组的初始化是正确的:charst[4]="ABC";下面对数组的赋值是错误的:st="

4、ABC";//因为数组名是数组的首地址,不是变量,不能对数组整体赋值。正确的方法是给每个元素分别赋值:st[0]='A';st[1]='B';st[2]='C';st[3]='';数组的输入和输出数组的输入输出与赋值一样,也是对数组元素逐个进行输入和输出。一维数组用单重循环实现对各元素逐个输入和输出。二维数组用双重循环实现对各元素逐个输入和输出。4.4常用字符串处理函数C语言没有字符串变量,通常使用字符型数组和字符串处理函数来处理字符串。本节介绍常用的字符串处理函数。字符型数组的输入和输出可以使用%c和%s控制的scanf()和printf()

5、语句来实现。%c是控制具体字符,%s是整个字符串的输入和输出。由于C语言中没有专门用于存放字符串的变量,依赖于用字符型数组表示字符串。先定义1个字符型数组,然后输入1个字符串存放在数组中。于是,就得到1个与数组同名的字符串。如:charstr[20];//定义字符型数组scanf("%s",str);//输入1个字符串,存放字符数组中注意:对于%s,要求要以字符串的首地址作为输入和输出项,而字符串的首地址就是字符数组名,所以对“字符串整体”进行操作时,不加&,而直接用数组名。接上页:charstr[20];//定义字符型数组scanf("%s",s

6、tr);//输入1个字符串,存放数组中当键入abc时,则将这3个字符的ASCII码依次存放在以str为首地址的存储单元中,并自动添加1个空字符作结束标志,生成的字符串在字符数组str中的存储状态为:'a''b''c'''str(表示首地址)课堂练习2.定义一个字符型数组charstr[100];该数组共有____个元素该数组能存放字符串的最大长度为____99100字符串与字符型数组的区别:字符串以空字符作为结束标志,由于有结束标志,所以字符串可以不占满存放它的整个数组。前面定义的数组str有20个元素,而字符串str只有有3个元素。为了用字符

7、数组表示字符串,数组的长度定义时要注意足够大,以便能存放字符串及其结束标志。如果定义了一个数组charch[5];则该数组只能表示长度不超过4的字符串。但是,%s用在scanf()输入字符时存在一个弊端:输入的字符串不能含有空格。因为该函数遇到空格,就认为输入结束,不再往下进行输入了。为了解决这个问题,C语言专门有一对针对字符串的输入输出函数。1.字符串输入和输出函数gets(字符数组名)//输入字符串puts(字符数组名)//输出字符串利用gets()函数输入的字符串可以包含空格。[例4.18]编写程序,从键盘输入一个字符串,将该字符串中的字符a

8、全部替换成字符b。算法很简单,从第一个字符开始向后检查,遇到字符a,就替换成字符b(用赋值语句即可)。#include

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。