C++语言程序设计 第六拿数组指针与字串 米
第六章 数组 指针与字符串 C++语言程序设计
C++语言程序设计 本拿主要内容 ·数组 ·指针 ·动态存储分配 ●指针与数组 ●指针与函数 ●vector的基本用法 ●字符串 ●深度探索 *米 日
C++语言程序设计 2 本章主要内容 数组 指针 动态存储分配 指针与数组 指针与函数 vector的基本用法 字符串 深度探索
C++语言程序设计 数组的概念 数 数组是具有一定顺序关系的若干相 同类型变量的集合体,组成数组的变量 组 称为该数组的元素。 数组属于构造类型。 米
C++语言程序设计 3 数组的概念 数组是具有一定顺序关系的若干相 同类型变量的集合体,组成数组的变量 称为该数组的元素。 数组属于构造类型。 数 组
C++语言程序设计 维数组的声明与引用 数 ●一 维数组的声明 类型说明符 数组名常量表达式: 组 数组名的构成方法与一般变量名相同。 例如:inta[10]; 表示a为整型数组,有10个元素:a[0]..a[9] 使用 数组名[下标表达式] 必须先声明,后使用。 只能逐个使用数组元素,而不能一次使用整个数组 例如:a[0]=a[5]+a[7]-a[2*3]
C++语言程序设计 4 一维数组的声明与引用 一维数组的声明 类型说明符 数组名[ 常量表达式 ]; 例如:int a[10]; 表示 a 为整型数组,有10个元素:a[0]...a[9] 使用 数组名[下标表达式] 必须先声明,后使用。 只能逐个使用数组元素,而不能一次使用整个数组 例如:a[0]=a[5]+a[7]-a[2*3] 数组名的构成方法与一般变量名相同。 数 组
C++语言程序设计 例6.1一维数组的声明与引用 数 #include using namespace std; int main() inta[10],b[10]: 组 for(int i =0;i 10;i++){ a[i]=i*2-1; b[10-i-1]=a[i]; for(int i=0;i<10;i++){ cout<"a[”<i<"]=”(<a[i]< cout《"bi”《I《"j=”b[i]<endl; return 0;
C++语言程序设计 5 例6. 1一维数组的声明与引用 #include using namespace std; int main() { int a[10], b[10]; for(int i = 0; i < 10; i++) { a[i] = i * 2 - 1; b[10 - i - 1] = a[i]; } for(int i = 0; i < 10; i++) { cout << "a[" << i << "] = " << a[i] << " "; cout << "b[" << I << "] = " << b[i] << endl; } return 0; } 数 组
C++语言程序设计 一维数组的存储顺序 数 数组元素在内存中顺次存放,它们的地址是连续的。 例如:具有10个元素的数组a,在内存中的存 放次序如下: 组 a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]h[9 数组名字是数组首元素的内存地址。 数组名是一个常量,不能被赋值
C++语言程序设计 6 一维数组的存储顺序 数组元素在内存中顺次存放,它们的地址是连续的。 例如:具有10个元素的数组 a,在内存中的存 放次序如下: 数组名字是数组首元素的内存地址。 数组名是一个常量,不能被赋值。 a a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8]a[9] 数 组
C++语言程序设计 一维数组的初始化 可以在定义数组的同时赋给初值: 数 在声明数组时对数组元素赋以初值。 例如:inta[10]={0,1,2,3,4,5,6,7,8,9}: 组 -可以只给一部分元素赋初值。 例如:inta[10]={0,1,2,3,4}: 在对全部数组元素赋初值时,可以不指定数 组长度。 例如:inta门={1,2,3,4,5}
C++语言程序设计 7 一维数组的初始化 可以在定义数组的同时赋给初值: –在声明数组时对数组元素赋以初值。 例如:int a[10]={0,1,2,3,4,5,6,7,8,9}; –可以只给一部分元素赋初值。 例如:int a[10]={0,1,2,3,4}; –在对全部数组元素赋初值时,可以不指定数 组长度。 例如:int a[]={1,2,3,4,5} 数 组
C++语言程序设计 例:用数组来处理求Fibonacci数列问题 #include using namespace std; int main(){ intf[20]={1,1};/初始化第0、1个数 for(inti=2;i<20;i+)//求第2~19个数 f[i]=f[i-2]+f[i-1]; for(i=0;i<20;i+){//输出,每行5个数 if (i 5 ==0)cout <endl; cout.width(12);/设置输出宽度为12 cout <f[i]; return 0;
C++语言程序设计 8 #include using namespace std; int main() { int f[20] = {1,1};//初始化第0、1个数 for (int i = 2; i < 20; i++) //求第2~19个数 f[i] = f[i - 2] + f[i - 1]; for (i=0;i<20;i++) { //输出,每行5个数 if (i % 5 == 0) cout << endl; cout.width(12); //设置输出宽度为12 cout << f[i]; } return 0; } 例:用数组来处理求Fibonacci数列问题
C++语言程序设计 例:用数组来处理求Fibonacci数列问题 运行结果: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
C++语言程序设计 9 例:用数组来处理求Fibonacci数列问题 运行结果: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
C++语言程序设计 维数组应用举例 数 循环从键盘读入若干组选择题答案, 计算并输出每组答案的正确率,直到输 组 入ctrl+z为止。 每组连续输入5个答案,每个答案 可以是'a'.'d
C++语言程序设计 10 一维数组应用举例 循环从键盘读入若干组选择题答案, 计算并输出每组答案的正确率,直到输 入ctrl+z为止。 每组连续输入5个答案,每个答案 可以是'a'..'d'。 数 组