1:定义:相同的名称和类型的变量的集合
数组通常比较大,为了节省内存,c++规定数组在程序中只能有一个原本,没有副本
数组中的变量叫数组元素
int a [10]
数组的类型 数组的名称 数组的下标
2:数组下标越界
3:数组的初始化
1:数组的部分初始化 int array[20]={0}
2:int array[] = {1,2,3,4,5}
4:斐波那契数列
5:数字的排序:
三个变量:
j:保存比较的回数
t:交换两个数组的临时变量
i:数组元素编号比较的次数
例如:6个元素比较的回数为5 ,比较的元素总数为6-比较的回数变量
第1回比较的次数为5次
第2回比较的次数为4次(因为排列到最后的元素不需要再比较了)
第3回比较的次数为3次
第4回比较的次数为2次
第5回比较的次数为1次
6:数组名:
1:在c++中声明数组时,系统自动生成一个指向该数组的指针,该指针指向数组第一个元素的地址
2:数组名与函数
普通变量与数组在函数中的传递的不同
void a(int x);
int main()
{
int x;
a(x);
return 0;
}
void a(int x)
{
//有一个x的副本
}
2:数组作为函数的参数
void a(int[]);
int main()
{
int x;
a(x);
return 0;
}
void a(int x[])
{
//没有的副本,只有一个数组x的内存地址
}
7:函数传递与接受数组的三种方式
1:int array[]简要数组声明,不需说明该数组有多少个元素
2:int array[30]标准数组声明
3:int *parray;指针声明
8:数组元素查找
1:用递增法查找数组元素
2:用二分法查找数组元素
int o = 0;
int h = n -1;
int i;
while (o <=h)
{
i = (o+h)/2
if (a[i] == findvar)//findvar要查找的值
{
return i;
}
}
9:一般来说数组存放在栈中,我们可以用new来在堆中申请内存,关键字new用来生成某种类型的对象,在堆中创建的对象都是匿名的
10:将对象存放在栈中 A a[100],将对象存放在堆中 A *a = new A[100]
11:枚举常量与数组如果一个变量只有几种可能的值,可以定义为枚举(enumeration)类型
enum weekday{noe,two,three,four,five,six,seven}day;
枚举变量day
枚举常量{noe,two,three,four,five,six,seven}
枚举变量的值只能为枚举常量(强制类型转换例外 day = (enum weekday)100)
12:字符数组(c语言风格的字符串)
char ch[4] = {'1','2','3','\0'};或者 char ch[4] = {'1','2','3'};编译器会自动加上字符数组结束标志
cout<<ch<<endl;
c语言风格的字符串以字符串结束标志结尾
13:字符串数组 char ch[] = {"hello world"};不叫字符数组了
14:字符数组的输入问题
cin.get(a,10)
15:字符串处理函数 是c语言的
1:ch1=strcat(ch1,ch2)ch1的长度必须要ch1+ch2大
2:ch1=strcpy(ch1,ch2)必须满足第一个参数必须要能容纳第二个参数,第一个参数必须为字符数组
3:strcmp(ch1,ch2)
4:strups(ch1)转换为大写
5:strlwr(ch1)转换为小写
6:strlen(ch1)获得字符数组的长度(长度不包括字符串结束标志)
16:重载数组下标operator[]只限于本类的对象使用不能重载为友元函数以及不能为static函数
class A
{
public:
A(l){length = l;size = new char[l];}
~A(){delete []size;}
int getLength() return length;}
char& operator[](int i)
{
if (i>=0 && i < length)
return size[i];
else
return size[length-1];
}
private:
int length;
char *size;
};
A a(7);
a[0] = 'a';
数组通常比较大,为了节省内存,c++规定数组在程序中只能有一个原本,没有副本
数组中的变量叫数组元素
int a [10]
数组的类型 数组的名称 数组的下标
2:数组下标越界
3:数组的初始化
1:数组的部分初始化 int array[20]={0}
2:int array[] = {1,2,3,4,5}
4:斐波那契数列
5:数字的排序:
三个变量:
j:保存比较的回数
t:交换两个数组的临时变量
i:数组元素编号比较的次数
例如:6个元素比较的回数为5 ,比较的元素总数为6-比较的回数变量
第1回比较的次数为5次
第2回比较的次数为4次(因为排列到最后的元素不需要再比较了)
第3回比较的次数为3次
第4回比较的次数为2次
第5回比较的次数为1次
6:数组名:
1:在c++中声明数组时,系统自动生成一个指向该数组的指针,该指针指向数组第一个元素的地址
2:数组名与函数
普通变量与数组在函数中的传递的不同
void a(int x);
int main()
{
int x;
a(x);
return 0;
}
void a(int x)
{
//有一个x的副本
}
2:数组作为函数的参数
void a(int[]);
int main()
{
int x;
a(x);
return 0;
}
void a(int x[])
{
//没有的副本,只有一个数组x的内存地址
}
7:函数传递与接受数组的三种方式
1:int array[]简要数组声明,不需说明该数组有多少个元素
2:int array[30]标准数组声明
3:int *parray;指针声明
8:数组元素查找
1:用递增法查找数组元素
2:用二分法查找数组元素
int o = 0;
int h = n -1;
int i;
while (o <=h)
{
i = (o+h)/2
if (a[i] == findvar)//findvar要查找的值
{
return i;
}
}
9:一般来说数组存放在栈中,我们可以用new来在堆中申请内存,关键字new用来生成某种类型的对象,在堆中创建的对象都是匿名的
10:将对象存放在栈中 A a[100],将对象存放在堆中 A *a = new A[100]
11:枚举常量与数组如果一个变量只有几种可能的值,可以定义为枚举(enumeration)类型
enum weekday{noe,two,three,four,five,six,seven}day;
枚举变量day
枚举常量{noe,two,three,four,five,six,seven}
枚举变量的值只能为枚举常量(强制类型转换例外 day = (enum weekday)100)
12:字符数组(c语言风格的字符串)
char ch[4] = {'1','2','3','\0'};或者 char ch[4] = {'1','2','3'};编译器会自动加上字符数组结束标志
cout<<ch<<endl;
c语言风格的字符串以字符串结束标志结尾
13:字符串数组 char ch[] = {"hello world"};不叫字符数组了
14:字符数组的输入问题
cin.get(a,10)
15:字符串处理函数 是c语言的
1:ch1=strcat(ch1,ch2)ch1的长度必须要ch1+ch2大
2:ch1=strcpy(ch1,ch2)必须满足第一个参数必须要能容纳第二个参数,第一个参数必须为字符数组
3:strcmp(ch1,ch2)
4:strups(ch1)转换为大写
5:strlwr(ch1)转换为小写
6:strlen(ch1)获得字符数组的长度(长度不包括字符串结束标志)
16:重载数组下标operator[]只限于本类的对象使用不能重载为友元函数以及不能为static函数
class A
{
public:
A(l){length = l;size = new char[l];}
~A(){delete []size;}
int getLength() return length;}
char& operator[](int i)
{
if (i>=0 && i < length)
return size[i];
else
return size[length-1];
}
private:
int length;
char *size;
};
A a(7);
a[0] = 'a';