已阅读5页,还剩190页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章利用数组处理批量数据,5.1为什么需要用数组5.2定义和引用一维数组5.3定义和引用二维数组5.4用数组作函数参数5.5字符数组*5.6C+处理字符串的方法字符串类与字符串变量,数组(array)是有序数据的集合。能够存储多个同类型的值;例如:一个数组可以存储60个int类型的值:表示产品5年来的月销售量;365个float值:表示一年中每天的开销;12个short值:表示每个月的天数;,5.1为什么需要用数组,数组是有限个同类型数据的集合。,每个值都存储在一个独立的数组元素中,计算机在内存中依次存储数组的各个元素。,数组的概念,5.2定义和引用一维数组5.2.1定义一维数组,数组定义应指出以下三点:存储在每个元素中的值的类型;数组名;数组中的元素数;例如:inta10;shortmonths12;,定义一维数组的一般格式为类型标识符数组名常量表达式;常量表达式指定元素数目;必须是常量如:10或const值,也可以是常量表达式,如:8*sizeof(int)即其中所有的值在编译时都是已知的,具体地说,不能是变量,变量的值是在程序运行时设置的。,5.2定义和引用一维数组,例如:shortmonths12;将创建一个名为months的数组,该数组有12个元素,每个元素都可以存储一个short类型的值;事实上,可以将数组中的每个元素看作是一个简单变量。,如:intn;cinn;intan;/错:数组长度不能是变量,又如:constintn=10;intan;/对:数组的长度可用常量,数组定义的例子,数组的很多用途都是基于这样的一个事实:可以单独访问数组元素;方法是使用下标对元素进行编号,C+的数组从0开始编号;使用带下标的方括号表示法来指定数组元素,如:a0是第一个元素;a9是最后一个元素;,5.2.2引用一维数组的元素,例如constintN=20;constintM=40;constintMaxStringSize=80;constintMaxListSize=1000;shortintA10;charBMaxStringSize;floatCM*N;intValuesMaxListSize;,5.2.2引用一维数组的元素,例:intary10,i=3,j=5;,ary0=10,10,aryi=2,2,aryj=aryi,ary2+j=31,31,2,aryaryi=ary0,10,下标表达式,例:inta5,i;,i=2;ai+1=i;ai+2=i*i;i+;ai=ai*2;,下标表达式,3,5,6,2,4,4,例如intA10;,有效下标值的重要性,编译器不会检查使用的下标是否有效,例如:如果将一个值赋给不存在的元素A50,编译器并不会指出错误。但是程序运行后,这种赋值可能引发问题,它可能破坏数据或代码,也可能导致程序异常终止,所以必须确保程序只使用有效的下标值。,intmain()inta5,i;for(i=0;i5;i+)ai=i;.,通常用循环语句操作数组元素:,a0=0a1=1a2=2a3=3a4=4,#includeusingnamespacestd;intmain()intn=123,a5,i;for(i=0;i10;i+)ai=i;for(i=0;i10;i+)coutai“”;cout“nn=”n;return0;,注意下标越界问题,数组的初始化规则只有在定义数组时才能使用初始化,不能将一个数组赋给另一个数组;intcards4=3,6,8,10;/正确intband4;band4=5,6,7,9;/错误band=cards;/错误,5.2.3一维数组的初始化,数组的初始化规则初始化数组时,提供的值可以少于数组的元素数目:intcards4=3,6;如果只对数组的一部分进行初始化,则编译器将把其他的元素设置为0;将数组中的所有元素都初始化为0非常简单,只要显式地将第一个元素初始化为0,然后将编译器将其它元素都初始化为0即可;inta100=0;,5.2.3一维数组的初始化,数组的初始化规则如果初始化数组时方括号为空,则C+编译器将计算元素个数:intcards=3,6,7,8;编译器将使cards数组包含4个元素。,5.2.3一维数组的初始化,如果程序要计算数组的大小,则可以这样做:inta=1,3,5,7;intnum_elements=sizeof(a)/sizeof(int);,5.2.3一维数组的初始化,num_elements=16/4=4,例:inta5=1,3,5,7,9;intb15=0;intb25=1,2,3,;intc=1,2,3,4,5,6,7;intd5=1,2,3,4,5,6,7;,/b23,b24自动赋0,/自动定义数组长度为7,/错误,初始化数据过多,/全部元素初始化为0,/各元素分别赋初始值,5.2.3一维数组的初始化,#includeintmain()inta5=1,3,5,7,9;for(inti=0;i5;i+)coutaiends;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbiends;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutciends;coutendl;,/例数组测试,#includeintmain()inta5=1,3,5,7,9;for(inti=0;i5;i+)coutaiends;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbiends;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutciends;coutendl;,/声明数组a并初始化,/例数组测试,#includeintmain()inta5=1,3,5,7,9;for(inti=0;i5;i+)coutaiends;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbiends;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutciends;coutendl;,/声明数组a并初始化,/输出数组a的全部元素值,/例数组测试,#includeintmain()inta5=1,3,5,7,9;for(inti=0;i5;i+)coutaiends;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbiends;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutciends;coutendl;,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,/例数组测试,#includeintmain()inta5=1,3,5,7,9;for(inti=0;i5;i+)coutaiends;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbiends;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutciends;coutendl;,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,/输出数组b的全部元素值,/例数组测试,#includeintmain()inta5=1,3,5,7,9;for(inti=0;i5;i+)coutaiends;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbiends;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutciends;coutendl;,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,/输出数组b的全部元素值,/声明数组c,初始化,默认长度7,/例数组测试,#includeintmain()inta5=1,3,5,7,9;for(inti=0;i5;i+)coutaiends;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbiends;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutciends;coutendl;,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,/输出数组b的全部元素值,/声明数组c,初始化,默认长度7,int类型数据字节数,/例数组测试,#includeintmain()inta5=1,3,5,7,9;for(inti=0;i5;i+)coutaiends;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbiends;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutciends;coutendl;,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,/输出数组b的全部元素值,/声明数组c,初始化,默认长度7,数组c的字节数sizeof(int7),/例数组测试,#includeintmain()inta5=1,3,5,7,9;for(inti=0;i5;i+)coutaiends;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbiends;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutciends;coutendl;,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,/输出数组b的全部元素值,/声明数组c,初始化,默认长度7,数组c的元素个数,/例数组测试,#includeintmain()inta5=1,3,5,7,9;for(inti=0;i5;i+)coutaiends;coutendl;staticintb5=1,2,3;for(i=0;i5;i+)coutbiends;coutendl;intc=1,2,3,4,5,6,7;for(i=0;isizeof(c)/sizeof(int);i+)coutciends;coutendl;,/声明数组a并初始化,/输出数组a的全部元素值,/声明静态数组b并初始化,/输出数组b的全部元素值,/声明数组c,初始化,默认长度7,/输出数组c的全部元素值,/例数组测试,/例数组测试,main()/用数组:求前20项inti;longf20=1,1;/初始化f0=1;f1=1;for(i=2;i20;i+)fi=fi-1+fi-2;for(i=0;i20;i+)if(i%5=0)coutendl;coutfi=3),/用简单变量longf,f1,f2;f1=1;f2=1;coutf1f2;for(i=2;i=20;i+)f=f1+f2;coutai;max=a0;t=0;/将第1个元素先作为最大值for(i=1;imax)/如果某元素大于maxmax=ai;/max将取该元素的值t=i;/用t记下该元素的下标i的值cout下标为t的元素是最大元素值:maxb1,例5.3起泡排序法,示例:对数组元素进行升序排列,49,65,b1b4,例5.3起泡排序法,示例:对数组元素进行升序排列,97,13,b4,b5,b4b5,例5.3起泡排序法,示例:对数组元素进行升序排列,b4,b5,b4b5,13,97,例5.3起泡排序法,示例:对数组元素进行升序排列,97,27,b5,b6,b5b6,例5.3起泡排序法,示例:对数组元素进行升序排列,27,97,b5,b6,b5b6,例5.3起泡排序法,示例:对数组元素进行升序排列,97,52,b6,b7,b6b7,例5.3起泡排序法,示例:对数组元素进行升序排列,52,97,b6,b7,b6b7,例5.3起泡排序法,示例:对数组元素进行升序排列,例5.3起泡排序法,示例:对数组元素进行升序排列,38,49,b0b1,例5.3起泡排序法,示例:对数组元素进行升序排列,49,65,b1b4,b3,b4,13,76,例5.3起泡排序法,示例:对数组元素进行升序排列,76,27,b4b5,b4,b5,例5.3起泡排序法,示例:对数组元素进行升序排列,27,76,b4b5,b4,b5,例5.3起泡排序法,示例:对数组元素进行升序排列,38,49,65,13,27,76,52,97,76,52,b5b6,b5,b6,例5.3起泡排序法,示例:对数组元素进行升序排列,38,49,65,13,27,76,52,97,52,76,b5b6,b5,b6,例5.3起泡排序法,示例:对数组元素进行升序排列,38,49,65,13,27,52,76,97,例5.3起泡排序法,示例:对数组元素进行升序排列,38,49,65,13,27,52,76,97,不需进行数据交换,例5.3起泡排序法,/bubblevoidbubble(inta,intsize)inti,temp,work;for(intpass=1;passai+1)/相邻元素比较temp=ai;ai=ai+1;ai+1=temp;work=0;if(work)break;,例5.3起泡排序法,intmain()inta10;键盘输入数组a元素for(j=0;jai+1)t=ai;ai=ai+1;ai+1=t;/交换输出排序后的数组return0;,例5.3起泡排序法,例5.3起泡排序法,#includeusingnamespacestd;intmain()inta10;inti,j,t;coutai;for(j=0;jai+1)t=ai;ai=ai+1;ai+1=t;/交换coutn排序后的数值:endl;for(i=0;i10;i+)coutai;return0;,选择排序法,算法分析:按升序排列:若一组整数放在数组a0,a1,an-1中,第一趟在a0an-1找出最小值,放在a0;第二趟在a1an-1找出最小值,放在a1;.依此类推,直到从an-2和an-1之中找最小值,算法描述:for(i=0;in;i+)*从ai到an-1中找最小元素at;把at与ai交换,*细化寻找最小元素算法:每一趟寻找中,设变量t,记录当前最小元素下标:t=i;for(j=i+1;j=n;j+)if(ajat)t=j;,选择排序法,算法描述:for(i=0;in;i+)/从ai到an-1中找最小元素at;t=i;for(j=i+1;j=n;j+)if(ajat)t=j;/把at与ai交换inttemp;if(t!=i)temp=at;at=ai;ai=temp;,选择排序法,5.3定义和引用二维数组,一维数组:shortmonths12;每个数组都可以看成是一行数据:months0,months1,months11二维数组可理解为表格,既有数据行又有数据列,例如:可以用二维数组来表示:6个不同地区每季度的销售额;4年期间5个城市的最高温度;,用maxtemps数组存储4年期间5个城市的最高温度可以将maxtemps数组看作由4行组成,其中每一行有5个温度值;定义如下:intmaxtemps45;maxtemps是一个包含4个元素的数组,其中每个元素都是一个由5个int整数组成的数组;,5.3.1定义二维数组,maxtemps是4个元素的数组每个元素都是5个int的数组,由数组组成的数组,maxtemps数组,maxtemps0,maxtemps1,maxtemps2,maxtemps3,maxtemps00,maxtemps10,maxtemps20,maxtemps30,表达式maxtemps0是maxtemps数组的第一个元素,maxtemps0本身就是一个由5个int组成的数组;maxtemps0数组的第一个元素是maxtemps00,该元素是一个int整数;因此需要两个下标来访问int元素,可以认为第一个下标表示行,第二个下标表示列。,maxtemps数组被看成表格,5.2.2引用二维数组的元素,使用下标访问数组元素,for(introw=0;row4;row+)/用一个for循环改变行for(intcol=0;col5;col+)/另一个被嵌套的for来改变列coutmaxtempsrowcolt;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutaij;for(i=0;i3;i+)for(j=0;j4;j+)coutsetw(5)aij;coutendl;return0;,6,8,1,3,5,7,9,10,11,12,intmaxtemps45;,使用下标访问数组元素,for(inti=0;i4;i+)for(intj=0;j5;j+)coutmaxtempsijt;/每个值后打印一个制表符coutendl;/打印完每行后换行,作为一种风格,如果可能的话,每行数据应各占一行,使阅读更加容易intmaxtemps45=94,98,87,103,101,98,99,91,107,105,93,91,90,101,10495,100,88,105,103;,初始化二维数组,例5.4将一个二维数组行和列元素互换,存到另一个二维数组中。例如a=123b=144562536,5.3.4二维数组程序举例,intmain()inta23=1,2,3,4,5,6;intb32,i,j;coutarraya:endl;for(i=0;i=1;i+)for(j=0;j=2;j+)coutaij;bji=aij;coutendl;coutarrayb:endl;for(i=0;i=2;i+)for(j=0;j=1;j+)coutbij;coutendl;return0;,有一个34的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。intmain()inti,j,row,colum,max;inta34=5,12,23,56,19,28,37,46,-12,-34,6,8,;,例5.5,max=a00;row=0;colum=0;for(i=0;imax)/如果某元素大于maxmax=aij;/max将取该元素的值row=i;/记下该元素的行号icolum=j;/记下该元素的列号jcoutmax=max,row=row,colum=columendl;return0;,数组元素作参数的性质与简单变量相同,5.4用数组名作函数参数,/例#include#includevoidfun(int,int,int);intmain()inti,a3=1,2,3;fun(a0,a1,a2);for(i=0;i3;i+)coutsetw(4)ai;coutendl;voidfun(inta,intb,intc)a+;b+;c+;coutsetw(4)asetw(4)bsetw(4)cendl;return;,1.用数组元素作为函数参数,调用函数fun,参数是数组元素,/例#include#includevoidfun(int,int,int);intmain()inti,a3=1,2,3;fun(a0,a1,a2);for(i=0;i3;i+)coutsetw(4)ai;coutendl;voidfun(inta,intb,intc)a+;b+;c+;coutsetw(4)asetw(4)bsetw(4)cendl;return;,1.用数组元素作为函数参数,/例#include#includevoidfun(int,int,int);intmain()inti,a3=1,2,3;fun(a0,a1,a2);for(i=0;i3;i+)coutsetw(4)ai;coutendl;voidfun(inta,intb,intc)a+;b+;c+;coutsetw(4)asetw(4)bsetw(4)cendl;return;,修改局部量,1.用数组元素作为函数参数,/例4#include#includevoidfun(int,int,int);intmain()inti,a3=1,2,3;fun(a0,a1,a2);for(i=0;i3;i+)coutsetw(4)ai;coutendl;voidfun(inta,intb,intc)a+;b+;c+;coutsetw(4)asetw(4)bsetw(4)cendl;return;,1.用数组元素作为函数参数,数组名作参数:传递地址,2.用数组名作函数参数,inta10;a数组a的首地址a0a9a的10个数组元素sizeof(a)数组a所占的字节数,数组名、数组元素、数组所占字节数,5.4用数组名作函数参数,问题:假设使用一个一维数组来记录家庭野餐中每个人吃了多少个甜饼(每个数组下标对应一个人,元素值对应于这个人所吃的甜饼数量)。现在想知道总数。使用循环将所有数组元素累加;设计一个“将数组元素累加”的函数,函数首行:intsum_arr(intarr,intn)方括号指出形参arr是一个数组,方括号为空表明可以将任何长度的数组传递给该函数;事实上,arr并不是一个数组,而是一个指针变量;但是,在编写函数的其余部分时,可以将arr看作是数组;,数组名参数的含义,constintArsize=8;/数组长度intsum_arr(int,int);/函数原型声明intmain()intcookiesArsize=1,2,4,8,16,32,64,128;/定义数组cookiesintsum=sum_arr(cookies,Arsize);/调用累加函数,结果赋予sumcout“Totalcookieseaten:”sumendl;/输出结果return0;,数组名作函数参数的工作原理,输出:Totalcookieseaten:255,/数组元素累加函数intsum_arr(intarr,intn)inttotal=0;for(inti=0;in;i+)total=total+arri;returntotal;,intmain()intsum=sum_arr(cookies,Arsize);intsum_arr(intarr,intn)inttotal=0;for(inti=0;in;i+)total=total+arri;returntotal;,将数组名作为参数意味着什么,实际上并没有将数组内容传递给函数,而是将数组的内存位置(地址)提交给函数;有了这些信息后,函数便可以使用原来的数组,在函数中对形参数组的值的改变就是对实参数组的值的改变。,#includeusingnamespacestd;voiddiv(int,int);/函数声明intmain()inta4=2,4,6,8,i;for(i=0;i4;i+)coutai;coutendl;div(a,4);for(i=0;i4;i+)coutai;coutendl;return0;voiddiv(intb,intn)inti;for(i=0;in;i+)bi=bi/2;return;,例.阅读以下程序,分析运行结果:,voidselect_sort(intarray,intn)inti,j,k,t;for(i=0;in-1;i+)/循环n-1趟k=i;/k记录第i趟最小值元素下标for(j=i+1;jn;j+)if(arrayjai;coutendl;select_sort(a,10);/函数调用,数组名作实参coutthesortedarray:endl;for(i=0;i10;i+)/输出10个已排好序的数coutai;coutx;s=find(a,10,x);/在数组a的前10个元素中查找x值if(s!=-1)cout“要找的元素”x“在a”s“中”endl;elsecout“要找的元素”x“不在数组a中”ci;,5.5.2字符数组的赋值与引用,例5.9二维字符数组,输出一个钻石图形。#includeusingnamespacestd;voidmain()chardiamond5=,*,*,*,*,*,*,*,*;inti,j;for(i=0;i5;i+)for(j=0;j5;j+)coutdiamondij;coutendl;,运行结果为*,5.5.3字符串和字符串结束标志,字符串:以空值字符(nullcharacter)结尾;空值字符被写作0,其ASCII码为0,用来标记字符串的结尾;例如:chara5=a,b,c,d,e;charb5=a,b,c,d,0;a,b都是字符数组,但只有b是字符串;,直接用字符串常量对字符数组初始化,不需要使用大量的单引号;charb5=a,b,c,d,0;直接用字符串常量;charb5=abcd;chara=hello;charc10=bye;charname310=zhang,wang,lin;用双引号括起的字符串隐式地包括结尾的空值字符,因此不用显式地包括它;另外,各种C+输入工具通过键盘输入,将字符串读入char数组时,将自动加上结尾的空值字符。,应确保数组足够大,能够存储字符串中的所有字符包括空值字符;可以让数组比字符串长;处理字符串的函数根据空值字符的位置,而不是数组长度来进行处理;,用字符串常量初始化charstr210=Student;charstr3=Student;charstr4=Student;,字符串自动添加0,例.用字符数组存放字符串,字符数组不同的初始化方式:逐个字符对数组元素赋初始值:charstr110=S,t,u,d,e,n,t,0;,字符串常量不能与字符常量互换,字符串常量使用双引号;字符常量使用单引号;charc1=s;/正确charc1=s;/错误,s表示两个字符(s和0)组成的字符串charc15=s;/错误,字符串的输入输出:,用数组元素逐个输入输出单个字符用数组名一次输入输出整个字符串,5.5.4字符数组的输入输出,(1)逐个字符输入输出:以数组元素作为输入输出单元;例如:charc10=hello;输出第二个字符:coutc1;用循环语句逐个输出字符:for(i=0;ci!=0;i+)coutc;,整个字符串输入输出,/例字符数组的访问#includevoidmain()charca5=a,b,c,d,e;for(inti=0;i5;i+)coutcai;/逐个数组元素输出coutendl;coutcaendl;/整体输出字符数组,字符串输入输出举例,/例字符数组的访问#includevoidmain()charca5=a,b,c,d,e;for(inti=0;i5;i+)coutcai;/逐个数组元素输出coutendl;coutcaendl;/整体输出字符数组,字符串输入输出举例,数组初始化没有结束符,/例字符数组的访问#includevoidmain()charca5=a,b,c,d,e;for(inti=0;i5;i+)coutcai;/逐个数组元素输出coutendl;coutcaendl;/整体输出字符数组,字符串输入输出举例,可以正确显示字符串,/例字符数组的访问#includevoidmain()charca5=a,b,c,d,e;for(inti=0;i5;i+)coutcai;/逐个数组元素输出coutendl;coutcaendl;/整体输出字符数组,字符串输入输出举例,找不到结束符字符串后显示无意义符号,/例字符数组的访问#includevoidmain(),charcb5=a,b,c;for(inti=0;i5;i+)coutcbi;coutendl;coutcbendl;,字符串输入输出举例,/例字符数组的访问#includevoidmain()charca5=a,b,c,d,e;for(inti=0;i5;i+)coutcai;/逐个数组元素输出coutendl;coutcaendl;/整体输出字符数组,charcb5=a,b,c;for(inti=0;i5;i+)coutcbi;coutendl;coutcbendl;,数组自动对其余元素初始化为0,字符串输入输出举例,/例字符数组的访问#includevoidmain()charca5=a,b,c,d,e;for(inti=0;i5;i+)coutcai;/逐个数组元素输出coutendl;coutcaendl;/整体输出字符数组,charcb5=a,b,c;for(inti=0;i5;i+)coutcbi;coutendl;coutcbendl;,都能够正确输出字符串,字符串输入输出举例,/例字符数组的访问#includevoidmain(),charcc=i,j,k,l,m,0;for(inti=0;isizeof(cc)/sizeof(char);i+)coutcci;coutendl;coutccendl;,字符串输入输出举例,/例字符数组的访问#includevoidmain()charca5=a,b,c,d,e;for(inti=0;i5;i+)coutcai;/逐个数组元素输出coutendl;coutcaendl;/整体输出字符数组,charcc=i,j,k,l,m,0;for(inti=0;isizeof(cc)/sizeof(char);i+)coutcci;coutendl;coutccendl;,添加结束符,字符串输入输出举例,/例字符数组的访问#includevoidmain()charca5=a,b,c,d,e;for(inti=0;i5;i+)coutcai;/逐个数组元素输出coutendl;coutcaendl;/整体输出字符数组,charcc=i,j,k,l,m,0;for(inti=0;isizeof(cc)/sizeof(char);i+)coutcci;coutendl;coutccendl;,计算字节数,字符串输入输出举例,/例字符数组的访问#includevoidmain(),charcd=Iamastudent.;for(inti=0;cdi!=0;i+)coutcdi;coutendl;coutcdendl;,字符串输入输出举例,/例字符数组的访问#includevoidmain()charca5=a,b,c,d,e;for(inti=0;i5;i+)coutcai;/逐个数组元素输出coutendl;coutcaendl;/整体输出字符数组,charcd=Iamastudent.;for(inti=0;cdi!=0;i+)coutcdi;coutendl;coutcdendl;,自动添加结束符,字符串输入输出举例,/例字符数组的访问#includevoidmain()charca5=a,b,c,d,e;for(inti=0;i5;i+)coutcai;/逐个数组元素输出coutendl;coutcaendl;/整体输出字符数组,charcd=Iamastudent.;for(inti=0;cdi!=0;i+)coutcdi;coutendl;coutcdce;coutceendl;,字符串输入输出举例,/例字符数组的访问#includevoidmain()charca5=a,b,c,d,e;for(inti=0;i5;i+)coutcai;/逐个数组元素输出coutendl;coutcace;coutceendl;,接受输入空格或换行结束,字符串输入输出举例,/例字符数组的访问#includevoidmain()charca5=a,b,c,d,e;for(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 古棉原料购销合同范本
- 口腔门诊协议合同范本
- 刷脸支付商户合同范本
- 合伙经营分财产协议书
- 职业培训行业工艺流程优化
- 合同附件房型补充协议
- 企业承包生产合同范本
- 动漫委托设计合同范本
- 制作安装框架合同范本
- 股权投资市场分析与技术规范
- DB51-T 3299-2025 数据资产登记规范
- 淤地坝知识培训课件
- 保密知识培训课件
- 2025昆明幼儿师范高等专科学校引进高层次人才(6人)考试模拟试题及答案解析
- 徐志摩的诗课件
- 五年级上册体育全册教案(2025-2026学年)(表格式)
- GB/T 46225-2025柔性多孔聚合物材料层压用聚氨酯泡沫规范
- 2025年日照盐粮集团有限公司公开招聘工作人员备考考试题库附答案解析
- 2025学年第一学期江浙皖高中(县中)发展共同体高三语文10月联考试题文言文详解:《宋史·陈兢传》、王夫之《宋论》
- 2025年农村会计考试试题及答案
- 2025浙江杭州市发展和改革委员会所属事业单位招聘高层次、紧缺人才4人笔试模拟试题及答案解析
评论
0/150
提交评论