1.实验目的 通过本次实验
(1)掌握一维数组的定义、初始化赋值、数组元素的引用方法; (2)掌握二维数组的定义、初始化赋值、数组元素的引用方法; (3)学会求数组元素中的最大值、最小值、平均值的方法; (4)学会数组元素排序的两种编程方法。
(5)初步掌握字符数组的定义、赋初值与字符串处理函数的使用方法; (6)初步掌握字符串复制、连接、测长等程序的编写方法;
2.实验要求
(1)编写实验程序;
(2)在VC++运行环境中,输入源程序; (3)编译运行源程序;
(4)输入实验数据,写出运行结果 3.实验内容
第一部分:教材第100页习题(1)5--6;(2)5—11(课堂上机完成,可记录为平时成绩) 第二部分:见下面三题 : (1)、(2)、(3)(课堂上机完成,可记录为平时成绩)
(1)某班第1组有10个学生,进行了C++考试,编写程序将考试成绩输入一维数组,并求出C++的平均成绩及优(90~100)、良(80~)、中(70~79)、及格(60~69)与不及格(0~59)学生的人数。
实验数据:90、85、80、75、70、65、60、55、50、45 (2)输入一个5行5列的二维数组,编程实现: 求出其中的最大值和最小值及其对应的行列位置; 求出对角线上各元素之和。 实验数据:
1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 (3)编写程序,实现str=str1+str2的操作,此处运算符“+”表示将两个字符串str1、str2连接成一个字符串str。用键盘将两个字符串输入字符数组str1与str2中,连接后的字符串存放在字符数组str中,并输出连接后的字符串str。
1)用C++提供的字符串处理函数完成上述要求。 2)不用C++提供的字符串处理函数完成上述要求。 实验数据:abcde Fghij
第五章内容复习
数组是由一定数目的同类元素顺序排列而成的结构类型数据。在计算机中,一个数组在内存占有一片连
续的存储区域,C++的数组名就是这块存储空间的地址。数组的每个元素用下标变量标识。数组要求先定义后使用。
一维数组的说明格式为:
类型 标识符[表达式]; 其中:
\"标识符\"是用户自定义的数组名,代表数组的地址。 \"[]\"是数组类型符; \"类型\"说明数组元素的类型; \"表达式\"为整型表达式,指定长度。 例如,有以下说明:
int a[10] ; //长度为10的整型数组
double b[5] ; //长度为5的浮点型数组 char s['a'] ; //长度为97的字符型数组
C++的数组下标从0开始。长度为n的数组,下标从0至n-1。
C++提供两种方式访问数组:下标方式和指针方式。
1.以下标方式访问数组 下标方式引用数组元素格式: 数组名[表达式]
其中:\"表达式\"表示数组元素的下标,要求为整型表达式。
2.以指针方式访问数组
数组名是数组的指针,即数组的首地址。 例如,说明数组 int a[5];
若内存分配如图1所示,则a的值是地址00B4(十六进制数)。a的偏移量以数组元素类型长度为单位,a+1的值是00B8,a+2的值是00BC等。
图.1 数组内存排列示意
【例】用不同方式访问数组。 #include for(i=0;i<5;i++) //①下标方式访问数组 cout << \"a[\" << i << \"]=\" << a[i] << '\'; cout << endl; for( p = a, i = 0; i<5; i++ ) //②指针变量下标方式访问数组 cout << \"a[\" << i << \"]=\" << p[i] << '\'; cout << endl; for( i = 0; i<5; i++ ) //③指针方式访问数组 cout << \"a[\" << i << \"]=\" << *( a+i ) << '\'; cout << endl; for( p = a; p二维数组的说明格式为: 类型 数组名 [表达式1][表达式2]; 其中:\"表达式1\" 指定数组第一维的长度; \"表达式2\" 指定数组第二维的长度,即每行的元素个数。 二维数组有2个下标表达式,对应于数学的矩阵,第一维是行,第二维是列。 例如,有以下说明: int a[3][4] ; //3行4列的整型数组 double b[10][10] ; //10行10列的浮点型数组 char s[40][40] ; //40行40列的字符型数组 高维数组可以按照两种方式初始化。 例如, int am[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } }; 或 int am[2][3] = { 1, 2, 3, 4, 5, 6 }; 与一维数组相同,二维数组也可以用下标方式和指针方式访问。 1. 以下标方式访问二维数组 二维数组元素带有两个下标表达式: 数组名 [表达式1][表达式2] 2. 以指针方式访问二维数组 以指针方式访问二维数组,可以从一维数组的结构推导出来。我们还是以int a[2][3]为例说明。从图.2中看到,a是由元素a[0]、a[1]、a[2]组成的一维数组,所以,a是a[0]、a[1]、a[2]的首地址(指针),即: a == &a[0] *a == a[0] a+1 == &a[1] *(a+1) == a[1] a+2 == &a[2] *(a+2) == a[2] 图 2. 二维数组的指针表示 对于二维数组,不带下标的数组名是一个逻辑上的二级指针,所指对象是行向量,偏 移量是一行元素的存储长度。带一个下标的数组名是一级指针,偏移量是一个元素的长度,它所指的对象的数组元素。 【例】测试数组地址 #include { int a[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; int i, *p; for( p = a[0], i = 1; pif( i%4 == 0 ) cout << endl; } cout << endl; for( i = 0; i < 3; i++ ) cout << a[i] << \" \"; cout << endl; } 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务