文档详情

ch04数组和字符串.ppt

发布:2017-05-04约8.42千字共45页下载文档
文本预览下载声明
国家级精品课程网站 (本书配套教学网站) 关于C++的建议 同学们的建议 先解释它的原理,要怎么样才得到这样的结果,然后再用C++语言编写出来, 讲课时更加详细 增加课堂的趣味性 开通QQ空间、微博,便于交流 对同学们的要求: 抽空看书、自己多一些实践,注意问题记录 多说、多想、多问,提高自主学习的能力 不要采取完全放弃的态度 我想到的… 个人承诺: 可以打断我的讲课来提问 我讲过的知识可以随便问。 没讲过的我也会尽我所能的去回答 明确目的,便于取舍。 基本类型、语法 程序思维能力 没有压力就没有动力 以寝室为单位分小组 每次课由小组成员演示一个程序 本周五实验课内容 ①P43:第5题 ②P63:实例编程 ③P84:例4-6(排序) 注意: 把代码输入VC2005自己先试一下, 问题记录 检查(三选二):输入/输出、回答问题 实验报告 第4章 数组与字符串 4.1 数组 1.一维数组 2.二维数组 3.多维数组 4.2 字符型数组和字符串处理库函数 1.字符型数组的定义和初始化 2.字符串的输入与输出 3.字符串处理库函数 4.1数组 数据类型 (1)基本类型:整型、字符型、实型 (2)构造类型: 由基本类型数据按一定规则组成的,包括数组、结构体、共用体 数组 (1)具有相同数据类型的变量集合,这些变量名称相同,下标不同,称为数组元素 (2)有一个下标——一维数组 (3)有两个下标——二维数组 4.1.1 一维数组 1、一维数组的定义格式 类型说明符 数组名[常量表达式] 2、说明 (1) 数组名命名规则和变量名相同。 (2) 数组名后用方括弧括起来的常量表达式表示下标长度 (3) C语言的下标从0开始,必须是整型变量或常量。 (4) 数组在内存中存储时,按下标递增的顺序连续存储各元素 例如:   int array[10]; 表示数组名为a,有10个元素 3、一维数组的初始化 (1) 定义数组时顺序对各元素赋以初值 例如:int a[10]={0,1,2,3,4,5,6,7,8,9}; (2) 全部元素赋初值时,可以不指定数组长度 例如: int a[5[={1,2,3,4,5}; 可以写成 int a[ ]={1,2,3,4,5}; (3) 可以只给一部分元素赋值。 例如: int a[10]={0,1,2,3,4}; 前面5个元素赋初值,后5个元素值为0。 一维数组初始化 例:int A[5]; 在内存存储如图 数组的首地址是数组名A 数组的首地址也是第一个元素的地址A[0] C++语言中,数组的整体不能参加数据处理,参加处理的只能是数组中的元素变量。所以要对数组进行初始化。 例如:int data[5]={,4,,8,};赋值如图 例4-1 题目:给一维数组x输入10个整数,找出x数组中的最大数和最小数。 算法分析: 1、假设数组中第1个元素最大, 令xmax=a[0] 2、将a[i](0= i n)与max进行比较, 若a[i] xmax ,i=i+1,再执行2 否则,令xmax=a[i],i=i+1,再执行2 3、循环结束,求出最大元素并输出max。 // Example 4-1: #include iostream int main() { int array[7]; coutPlease input an array with seven elements: endl; for(int i=0; i7; i++) cinarray[i]; int big = array[0]; for(int j=0; j7; j=j+1) if(array[j]big) big = array[j]; coutmax=bigendl; return 0; } 二维数组 定义格式: 类型 数组名[常量表达式1][常量表达式2]; 例如,三个学生四门课程成绩数据如下: 85 87 93 88 86 90 95 89 78 91 82 95 利用二维数组存放这些数据更能表现数据之间相互联系的特征。每一行数据表示该学生的各门课程的成绩,而每一列数据表示该门课程各学生的成绩。该数组定义为: int matrix[3][4]; 二维数组存储结构 逻辑结构: 二维数组恰似一张表格(或矩阵)。数组元素中的第一个下标值表示该元素在表格中的行号,第二个下标为列号。 M[3][3]具有如下逻辑结构: M[0][0] M[0][1] M[0][2] M[1][0] M[1][1] M[1][2] M[2][0] M[2][1] M[2][2
显示全部
相似文档