- 1
- 0
- 约1.76万字
- 约 62页
- 2018-02-26 发布于江苏
- 举报
【计算机】C语言程序设计_第七章数组
高级程序设计语言 吴 凡 TEL:E-mail: cdwf@ 第七章 数组 概述 回顾:基本数据类型(整型、浮点型、字符型) 存储特点:每个变量单独存放。 构造类型: 构造类型 构造类型:是由基本类型构造而成(例如:数组、结构体、共同体、枚举型) 构造类型每一个分量可以是:基本类型,也可以是构造类型 存储特点:构造类型变量的每个分量占用相邻的存储空间 重点:如何访问构造类型变量的分量 数组 有序数据的集合:例如:矩阵,成绩表 若干分量组成 分量具有相同类型 按顺序形式组织 数组:按序列排列的具有相同数据类型的若干变量的集合 数组名——表示一个数组(例:int num[10];) 数组名结合下标——表示数组中元素 例:数组num中的第3号元素(变量):num[2] 一维数组 定义:类型名 数组名 [常量表达式]; 例:int num[10] 例:char str[5] 一维数组的定义 注意 数组名是用户定义的数组标识符,与变量的命名规则相同 数组名后只能根方括号[ ] 方括号中的常量表达式表示数据元素的个数,称为数组的长度。 常量表达式只能是可以是常量和符号常量,不能是变量。 例如:int index; scanf(“%d”,index); int num[index]; 一维数组的存储 用连续的内存单元来存放数组中的各元素 数组所需的内存空间:由数组元素的类型和数组的长度(数组元素个数)共同决定 总字节数 = sizeof(基本类型)*数组长度 例:int num[10],总字节数 = sizeof(int)*10=20Bytes 一维数组元素的引用 数组先定义,再使用 在C语言中只能逐个地使用下标变量,而不能一次引用整个数组。 例:输出10个元素的数组:for(i=0; i10; i++) printf(%d,a[i]); 而不能用: printf(%d,a); 数组元素引用的一般形式为:数组名[下标] 例:a[6],a[i],a[i+1] 一维数组元素的引用 下标: 表示元素在数组中的顺序号 下标取值从0~数组长度-1 例:int a[10]; 下标取值:0~9,即该数组的元素为a[0], a[1], a[2], ... a[9] 下标取值可以是整型常量和整型表达式 例:a[n] = a[n-1]+a[0]; 一维数组元素的引用 例:读程序 注意:数组下标与循环变量的关系 一维数组的初始化 在定义数组时,给数组元素赋初值 例:int a[4] = {1, 3, 5, 7}; ?a[0]=1; a[1]=3; a[2]=5; a[1]=7; 给部分元素赋初值 例:int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。 给全部元素赋值时,可以不写数组长度 例:int a[ ]={1,2,3,4,5};?int a[5]={1,2,3,4,5}; 注意:当数组长度与提供的初始值的个数不想同时,数组长度不能省略 一维数组的初始化 例:读程序 一维数组程序举例 例(P116例6.7和P124例7.2)Fibonacci数列:F1 = 1, F2 = 1, Fn = Fn-1+Fn-2 (n=3),求前20项数据,要求每行输出4个数据。 一维数组程序举例 例:统计全班某门考试的平均分数和最高分数(设全班30人) 一维数组程序举例 例(P124例7.3)冒泡法排序 冒泡法排序 要排序的数可以放在数组中(设有N个数) 用二重循环控制排序过程: 外循环i控制冒泡的趟数(N-1) 内循环j控制每趟冒泡需要比较的次数(N-i) 二维数组 理解二维数组: 数组的元素又是一个数组,所以可以将二维数组理解为“数组的数组” 照次理解,还可以构造出三维数组,四维数组,等多维数组 二维数组的定义 二维数组定义: 类型说明符 数组名[常量表达式1][常量表达式2] 常量表达式1:表示第一维下标的长度 常量表达式2: 表示第二维下标的长度 例: int a[3][4]; 理解1:定义了一个3行4列的数组,数组名为a,该数组的下标变量共有3×4个,即: a[0][0],a[0][1],a[0][2],a[0][3] a[1][0],a[1][1],a[1][2],a[1][3] a[2][0],a[2][1],a[2][2],a[2][3] 理解2:定义了一个一维数组a,有三个元素:a[0]、a[1]、a[2],而每一个元素又是一个包含4个整型元素的一维数组 二维数组的存储 二维数组在概念上可以理解成
您可能关注的文档
- 【doc】团体健康险直付理赔服务模式初探.doc
- 【PPT】-中国人寿保险公司健康险话术专题(48页)-保险话术.ppt
- 【安邦】车险人伤理赔实务手册.doc
- 【全国百强校首发】黑龙江省哈尔滨市第三中学2016届高三上学期第二次检测数学(文)试题.docx
- 【大学信息技术导论】10 信息化与信息技术.ppt
- 【全国百强校首发】黑龙江省哈尔滨市第三中学2016届高三上学期第二次检测数学(理)试题.docx
- 【广发金工】成交量缩减,波动率C_P创新低-ETF期权每周跟踪(20150720-20150724).docx
- 【广发金工】标的下跌 波动率回升,Put价值凸显-ETF期权每周跟踪(20150727-20150731).docx
- 【广发金工】标的巨震引爆单日成交量-ETF期权每周跟踪(20150601-20150605).docx
- 【最新资料】水轮机调节复习资料.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)