




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8讲一维数组和二维数组,一、一维数组1、一维数组的定义2、一维数组元素的引用3、一维数组的初始化二、二维数组1、二维数组的定义和引用2、二维数组的初始化,数学中:a1,a2,a3,ai,an,C程序中:a0,a1,a2,ai-1,an-1,数组是数目固定,类型相同的若干变量的有序集合。数组中的每一个数称为数组元素,数组中的每一个元素都属于同一个数据类型。在内存中数组占有一段连续的存储空间。,一、一维数组,1、一维数组的定义,定义的格式:类型说明符数组名整常量表达式,;,说明:,类型说明符:表明该数组所属类型,即数组元素的类型。,数组名:即数组的名称,其命名方法同变量名。,:下标运算符,可通过该运算符的个数反映出数组的维数。,整常量表达式:为一整常量表达式,表明数组的大小。,特点:,数组元素的个数必须是确定的,数组元素的类型必须一致,一维数组在内存中的存放方式:,数组定义以后,编译系统(计算机)将在内存中开辟一块连续的存储单元用于存放数组元素,数组名表示存储单元的首地址,存储单元的大小由数组的类型和数组的大小决定。,例如inta5;,引用方式:数组名下标,2、一维数组元素的引用,说明:下界下标上界;下界0;上界整常量表达式1。,下标为整型表达式;,一个数组元素实质是一个变量,代表内存中的一个存储单元。引用后的数组变量也称下标变量。,例#defineN20inta5;floatf1N+6;,说明:a5:a0,a1,a2,a3,a4f1N+6:f10,f12,f125,注意:引用a5,f126编译不报错,但不能得到正确的运行结果。,一维数组元素引用的规定:,数组必须先定义后使用。,数组元素只能逐个被引用,不能一次引用整个数组。,对数组中所有元素逐个引用时,通常可使用循环结构。,例:,1)floatb12;b1=1.0;b3=7.6;b0=b1+b3;b2=b1-b3;,2)intj,a10;for(j=0;j10;j+)aj=j;,数组的初始化:指定义数组时对数组元素赋以初值。,3、一维数组的初始化,格式:类型符数组名表达式初值表;,说明:给全部元素赋初值。给部分元素赋初值。给全部元素赋初值时可不指定数组的长度。,给全部元素赋初值。例inta8=0,1,2,3,4,5,6,7;,给部分元素赋初值。例inta8=0,1,2,3,4;,给全部元素赋初值时可不指定数组的长度。例inta=0,1,2,3,4,5,6,7;,例6.1统计全班32名同学某门功课的平均成绩,找出最高分,输出。,main()inti,sum,max,a32;floataverage;for(i=0;imax)max=ai;average=(float)sum/32;printf(Average=%.2f,MAX=%dn,average,max);,例6.2将一个数组中的值按逆序重新存放,并输出它。这里数组长度为N。,分析:N-S图如下,程序:,defineN5main()charaN,temp;inti;printf(“Enterarraya:n”);for(i=0;iN;i+)scanf(“%c”,例6.3用起泡法排序。将任意十个数按由小到大的方式排序。,例:,第一轮,682931,682931,628931,628931,628931,628391,628391,628319,628319,628319,268319,268319,268319,263819,263819,263189,263189,第二轮,思路:将相邻两个数进行比较,使小数在前,大数在后。,分析说明:,1)相邻两数比较:ajaj+1,2)第一轮:6个数,j=15;循环5次,找出最大数,放在最后。,3)第二轮:5个数,j=14;循环4次,找出次大数,放在最大数前。,4)余此类推,经过5轮,将6个数排序输出。所以:外循环为i=04,内循环为:j=05-i;,即:for(i=0;i5;i+)for(j=0;j6i;j+)if(ajaj+1)ajaj+1,程序:,main()inta10,i,j,k;printf(请任意输入10个整数:n);for(i=0;iaj+1)k=aj;aj=aj+1;aj+1=k;printf(按由小到大的顺序输出10个整数是:n);for(i=0;i10;i+)printf(“%d,,ai);printf(”b。n”);,二、二维数组,1、二维数组的定义和引用,二维数组的定义格式:类型说明符数组名整常量表达式1整常量表达式2,存储方式:在计算机中二维数组的元素按行顺序存放。,注意:0下标1常量表达式1-1;0下标2常量表达式2-1。,二维数组的引用格式:数组名下标1下标2,例:intm23合法引用格式为:m00m01m02m10m11m12,说明:给全部元素赋初值。给部分元素赋初值。给二维数组的全部元素赋初值,可以不指定第一维的长度,但第二维的长度不能省略。,2、二维数组的初始化,二维数组初始化通常是按行进行的。,格式:类型符数组名表达式1表达式2=初值表;,二维数组初始化举例:,给全部元素赋初值。例inta34=0,1,2,3,4,5,6,7,8,9,10,11;或写成:inta34=0,1,2,3,4,5,6,7,8,9,10,11;,给部分元素赋初值。例inta34=0,1,4,5,6,8,9,10,11;或写成:intb34=0,1,2,3,4,5,6;,给二维数组的全部元素赋初值,可以不指定第一维的长度,但第二维的长度不能省略。例inta4=0,1,2,3,4,5,6,7,8,9,10,11;或写成:inta4=0,1,2,3,4,5,6,7,8,9,10,11;,例6.4矩阵的转置。,分析:将矩阵Am*n行列互换后,得一新矩阵为Bn*m。它们的元素对应关系为:ai,j=bj,i,程序:,main()inti,j,a34,b43;for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,例6.5打印阳辉三角。(要求打印N行),杨辉三角形是(a+b)的n次幂展开后各项的系数。例如:,分析:杨辉三角各行的系数有如下规律(1)各行第一个数都是1;(2)各行最后一个数为1;(3)从第3行起,除上面指出的第一个数和最后一个数外,其余各数是上一行同列和前一列两个数之和。,11,2,11,3,3,11,4,6,4,1,a32=a21+a22,a44=a33+a34,表示为通式即:,aij=ai-1j+ai-1j-1,N-S图为:,程序:,defineN10main()in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校年度安全工作参考总结报告5篇
- 广东省揭阳市揭东区2021-2022学年高一下学期期末历史含答案
- 四川省叙永第一中学校2023-2024学年高二上学期1月期末地理试题 无答案
- 2023届四川省宜宾市叙州区二中高三二模语文试题 含解析
- 儿童言语治疗吞咽障碍的
- 手术治疗管理与持续改进
- 面神经炎症状及治疗
- 政治生活 第三单元知识点
- 2025-2030中国紧急洗眼液行业市场发展趋势与前景展望战略研究报告
- 中等职业学校中药专业教学标准
- 全陕西师范大学《716文学综合》考研真题详解下载全
- 引航梯的位置和标识及保养记录
- 外科学急性化脓性腹膜炎
- 苯酚的分子组成和结构课件
- 《罗织经》全文及翻译
- GB∕T 26077-2021 金属材料 疲劳试验 轴向应变控制方法
- 维修服务评价表
- 哲学专业英语词汇
- 2019版人教版教材习题高中物理必修3
- 安全生产负责人任命书
- 基于内模控制的模糊PID参数的整定外文文献翻译完稿
评论
0/150
提交评论