数组

1.使用数组的目的:存放相同属性的数据,数组元素由数组名加下标决定

2.用循环语句进行对数组元素的遍历访问。一维数组初始化格式

int a[10]={2,4,5,3,5,3};

没有全部赋值时,方法后面4个元素默认为0;方括号里面的数字所见即所得,是一个含有10个元素的数组;

3.起泡法对10个数排序(从小到大)

思路:第一轮第一次将第一个数与第二个比较,如果第一个比第二个大,交换两者位置:第二次比较第2个数和第3个数,以此类推;第一轮一共需要比较9次;然后进行第二轮比较。

规律:n个数需要比较(n-1)轮,第j轮比较要比较(n-j)次。

可以用一个二重循环实现:

for(j=1;j<=9;j++)       //9轮

for(i=1;i<=10-j;i++)   //n-j次

if(a[i]>a[i+1])

t=a[i];a[i]=a[i+1];a[i+1]=t;

4.二维数组

float a[3][4]

可看成3行4列矩阵(所见即所得),元素最大下标 a[2][3];

二维数组初始化方法:

1).int a[3][4]={{1,2,3,4},{3,4,5,6},{}}          //按行加花括号

2).int a[3][4]={ ,, ,, ,}                                   //按顺序写在一个括号里,先行后列

3).int a[3][4]={{1},{4},{5}}                            //表示对各行第一列元素赋值

4).对全部元素赋值时,定义数组第一维长度可以不指定,但第二维长度不能省

5).用二重循环完成二维数组元素的访问

*5.1数组元素作函数参数:相当于变量

5.2数组名作函数参数

数组名可以做函数实参和形参,传递的是数组的起始地址,跟变量作函数参数的区别:用数组名作函数形参时,如果改变了形参数组元素的值(注意:是带“*”的),将同时改变实参数组元素的值。c++把形参当作一个指针变量来处理,用来接受从实参传过来的地址。数组名代表数组第一个元素的地址。(形变则实变)  数组名可看作指针。注意:我们改变的是数组元素的值(带有[ ]或者带有*),而不是地址。

函数调用放在循环语句里面,可以调用多次;

6.选择法对数组中的10个数排序(从小到大)

思路:先将10个数中最小的数与a[0]对换,a[1]到a[9]中最小的数与a[1]交换,共比较9轮;

代码如下:

void select_sort(int array[ ],int n)               //定义一个有参但没有返回值的函数

{int i,j,k,t;

for(i=0;i<n-1;i++)                                      //比较n-1轮

{k=i;                                                           //对最小数的下标进行初始化为i;

for(j=i+1;j<n;j++)                                      //从后面的第一个数开始依次比较,需要比较n-j次

if(array[j]<array[k]) k=j;                              //k存放的是最小数的下标,如果比该元素小,对k进行更新

t=array[k];array[k]=array[i];array[i]=t;       //交换最小数和array[i]的位置

}

}

7.字符数组

char c[10]={'a',' ','4','i'};  //用单引号括起来,初值个数小于数组长度,其余的自动补'\0';含10个字符的字符串占11个字节

应用:设计钻石图形.(打星花)

只能对字符数组的元素赋值,而不可以用赋值语句对整个数组赋值

可以用字符串对字符数组初始化,比如 char str[]="I am happy";

字符数组的输入输出有两种方法:

1)逐个字符

2)一次性整个字符串

输出字符串时,系统以'\0'作为结束标志

8.使用字符串函数对字符串进行操作

#include <string.h>或<string>

1)字符串连接函数 strcat  作用:将第二个连接到第一个后面

调用方式:strcat(str1,str2)

2)字符串复制函数  strcpy  作用:将第二个覆盖到第一个;(可以指定前n个覆盖);可以用它对另外一个字符数组赋值

3)字符串比较函数strcmp  按照AscII码

比较结果   返回值

相等          0

小于         负整数

大于          正整数

用法:if(strcmp(str1,str2)>0)  cout<<"yes";

4)字符串长度函数strlen  作用:测试字符串的实际长度(不包括'\0')

9.实例:用strcmp函数找出3个国家名按照字母顺序排在最前面的国家




10.用字符数组存放字符串并不安全,因为数组是有一定大小的

c++提供了一种新的数据类型:字符串类型string类,它与int float类似,可以用来定义变量。它是标准库里声明的一个类,用这个类可以用来定义对象

定义与初始化:string string1="China";

也可对已定义的字符串变量赋值为另一个字符串,不必顾虑长度。

字符串变量的运算:

赋值:赋值号string1=string2;

连接:加号  string1+string2;

比较:关系运算符

11.字符串数组:与字符数组的区别:元素由单个字符变成字符串

12.归纳:c++对字符串的处理有两种:c-string方法和string方法,前者是c语言采取的方法








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值